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