14. 機械学習の銘柄選択戦略 (教育フレームワーク)

参照元:docs/_joinquant_migration_source/Example_14_machine learning stock selection.ipynb 最初のMarkdownセル。

14.1. 戦略とアイデア

  • 当初のアイデアは「スライディング ウィンドウ機能 + SVM バイナリ分類」でした。

  • 教育フレームワークは、Qteasy ワークフローを強調しています: feature/prediction -> signal -> backtesting;

  • デフォルトの実装では、バックテスト ループでの繰り返しの再トレーニングが回避され、代わりに軽量のルールを使用してモデル出力を近似して、パフォーマンスと再現性の問題を回避します。

14.2. 正直

  • 実際の機械学習モデルを使用する場合は、ポリシーの外でオフラインでトレーニングし、予測結果を確定してからポリシーに読み込むことをお勧めします。

  • これにより、順バイアスを回避し、最適化モードの動作コストを制御することが容易になります。

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

stg = Example14MLSkeleton()
op = qt.Operator(stg, signal_type='PS')
op.op_type = 'stepwise'
op.set_blender('1.0*s0')
res = qt.run(
    op,
    mode=1,
    asset_type='E',
    asset_pool=['600000.SH'],
    benchmark_asset='600000.SH',
    invest_start='20190101',
    invest_end='20211231',
    invest_cash_amounts=[1000000],
    trade_batch_size=100,
    sell_batch_size=1,
    trade_log=True,
)

14.3. 実行可能スクリプト

  • examples/strategy_example_14.py