2. Operator:创建与基本配置

Operator 是 qteasy 中策略的容器与调度器,负责在回测或实盘中按既定频率与时间点运行策略并输出统一格式的信号。

2.1. 创建 Operator

使用 qt.Operator() 创建,可传入策略列表及 signal_typerun_freqrun_timing 等:

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')

2.2. 添加策略

  • add_strategy(stg, run_freq=None, run_timing=None):添加单个策略,可指定该策略的 run_freq/run_timing,与已有相同则归入同一 Group,否则新建 Group。

  • add_strategies(stg_list, run_freq=None, run_timing=None):批量添加,同样按 run_freq/run_timing 归组。

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')

2.3. 常用属性及含义

属性

含义

signal_type

信号类型:PT 择时(目标仓位)、PS 择股(选股列表)、VS 向量信号等。

run_freq

运行频率,如 'd' 日、'1min' 分钟等,与 DataType 的 freq 对应。

run_timing

运行时刻,如 'open' 开盘、'close' 收盘等。

groups

各 Group 信息(相同 run_freq/run_timing 的策略为一组)。

2.4. 设置策略参数

使用 set_parameter(stg_id, pars=None, run_freq=None, run_timing=None, …) 为指定策略设置可调参数或归组:

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

2.5. 运行前检查

  • is_ready():检查 Operator 是否已配置好策略与数据要求,可用于回测/优化前自检。