3. Operator:創建與基本配置

Operator 是 qteasy 中策略的容器與調度器,負責在回測或實盤中按既定頻率與時間點運行策略並輸出統一格式的信號。

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

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

3.3. 常用屬性及含義

屬性

含義

signal_type

信號類型:PT 擇時(目標倉位)、PS 擇股(選股列表)、VS 向量信號等。

run_freq

運行頻率,如 'd' 日、'1min' 分鐘等,與 DataType 的 freq 對應。

run_timing

運行時刻,如 'open' 開盤、'close' 收盤等。

groups

各 Group 資訊(相同 run_freq/run_timing 的策略爲一組)。

3.4. 設置策略參數

使用 set_parameter(stg_id, pars=None, run_freq=None, run_timing=None, …) 爲指定策略設置可調參數或歸組:

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

3.5. 運行前檢查

  • is_ready():檢查 Operator 是否已配置好策略與數據要求,可用於回測/優化前自檢。