8. Operator: Creation and Basic Configuration

Operator is qteasy’s strategy container and scheduler. It runs strategies at configured frequencies and times in backtest or live trading and outputs signals in a unified format.

8.1. Create an Operator

Create one with qt.Operator(), optionally passing a strategy list and signal_type, run_freq, run_timing, and other arguments:

import qteasy as qt

# 最小示例:仅指定信号类型与运行频率
op = qt.Operator(signal_type='PT', run_freq='d')

# 创建时即添加策略(策略 ID 或实例)
op = qt.Operator(strategies='dma', signal_type='PT', run_freq='d', run_timing='open')

8.2. Add Strategies

  • add_strategy(stg, run_freq=None, run_timing=None): Add a single strategy with optional run_freq/run_timing; joins an existing Group if they match, otherwise creates a new Group.

  • add_strategies(stg_list, run_freq=None, run_timing=None): Add multiple strategies and group them by run_freq/run_timing the same way.

op = qt.Operator(signal_type='PT', run_freq='d')
op.add_strategy('macd', run_freq='d', run_timing='open')
op.add_strategy(qt.get_strategy_by_id('dma'), run_freq='d', run_timing='open')

8.3. Common Attributes and Meanings

Attribute

Meaning

signal_type

Signal type: PT position target, PS proportional signal, VS value signal, etc.

run_freq

Run frequency, e.g., 'd' daily or '1min'; aligns with DataType freq.

run_timing

Run timing, e.g., 'open' at open or 'close' at close.

groups

Group details (strategies with the same run_freq/run_timing form one group).

8.4. Set Strategy Parameters

Use set_parameter(stg_id, pars=None, run_freq=None, run_timing=None, ...) to set tunable parameters or group assignment for a strategy:

op.set_parameter('dma', pars={'short_period': 5, 'long_period': 20})

8.5. Pre-run Check

  • is_ready(): Check whether the Operator is configured with strategies and data requirements; useful before backtest or optimization.