8. 異時点間裁定取引戦略 (同等の教育版)

参照元:docs/_joinquant_migration_source/Example_08_intertemporal arbitrage.ipynb 最初のMarkdownセル。

8.1. 戦略とアイデア

  • 同じタイプで有効期限が異なる契約を使用して価格スプレッドを構築します。

  • ローリング ウィンドウを使用して、価格スプレッドの偏差 (zscore) の程度を推定します。

  • スプレッドが上部バンドを上回った場合はショートし、下側バンドを下回った場合はロングになります。

  • ニュートラル範囲に戻ったらポジションを閉じます。

8.2. QtEasy 実装手順

  • この例の戦略クラスは Example08CalendarSpread です。

  • 教育の安定性を高めるため、デフォルトのスクリプトでは期間間の論理近似に毎日のインデックス頻度を使用します。

  • 実際の先物契約に切り替える場合は、同時にロールオーバー ロジックを処理し、ロールオーバー ルールを文書に記録してください。

from examples.strategies.example_strategies import Example08CalendarSpread
import qteasy as qt

stg = Example08CalendarSpread()
op = qt.Operator(stg, signal_type='PT')
op.op_type = 'stepwise'
op.set_blender('1.0*s0')
res = qt.run(
    op,
    mode=1,
    asset_type='IDX',
    asset_pool=['000300.SH', '000905.SH'],
    benchmark_asset='000300.SH',
    invest_start='20190101',
    invest_end='20211231',
    invest_cash_amounts=[1000000],
    trade_batch_size=0.01,
    sell_batch_size=0.01,
    allow_sell_short=True,
    trade_log=True,
)

8.3. 実行可能スクリプト

  • examples/strategy_example_08.py