3. Operator: 作成と基本構成

Operator は、qteasy の戦略コンテナおよびスケジューラです。バックテストまたはライブ取引で設定された頻度と時間で戦略を実行し、統一された形式でシグナルを出力します。

3.1. Operator を作成する

qt.Operator(), optionally passing a strategy list and signal_type, run_freq, run_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. 戦略の追加

  • **⟦コード0⟧⟦コード1⟧⟦コード2⟧⟦コード3⟧⟦コード4⟧;一致する場合は既存のグループに参加し、一致しない場合は新しいグループを作成します。

  • add_strategies(stg_list, run_freq=None, run_timing=None): Add multiple strategies and group them by 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 position target, PS proportional signal, VS 値信号など。

run_freq

実行頻度 (例: 'd' daily or '1min'; aligns with DataTypefreq)。

run_timing

実行タイミング (例: クローズ時の 'open' at open or 'close')。

groups

グループの詳細 (同じ run_freq/run_timing を持つ戦略が 1 つのグループを形成します)。

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 に戦略とデータ要件が設定されているかどうかを確認します。バックテストや最適化の前に役立ちます。