株式のバックテスト方法:ステップバイステップガイド
将来の情報に誤ってアクセスすることなく、株式のアイデアをテストするための具体的なシーケンス。
株式をバックテストするには、エントリー、エグジット、サイジング、ユニバース、および意思決定時刻のルールを記述し、時点ベースの価格、出来高、企業活動、およびシグナルデータを収集し、カバレッジを検証し、対象となる情報からのみシグナルを生成し、現実的な約定とコストをシミュレートし、アウトオブサンプル期間を予約し、データ、コード、パラメータ、取引、および診断を保存します。
1. アイデアを固定ルールに変換する
資格基準、シグナルが評価されるタイミング、注文が最初に取引できるタイミング、ポジションのサイズ設定方法、ポジションが終了するタイミング、およびどの証券が対象となるかを指定します。選択肢が文書化されていない場合、結果を見た後に無意識に変更される可能性があります。
テストを実行する前に、単純なベースラインと主要なメトリックを選択します。リターンに加えて、回転率、ドローダウン、エクスポージャー、および取引回数を含めます。
2. データを収集し、検証する
過去のIDを持つ時点ベースのユニバースを構築します。明示的な調整ポリシーの下で価格と出来高を取得し、次にシグナルの公開認識時刻タイムスタンプを使用して結合します。
重複、カレンダー、ギャップ、範囲、および企業活動のチェックを実行します。必要なルックバックまたはイベントストリームが不完全な場合は、クローズフェイル(安全に失敗)します。
- 取引所カレンダーを使用する。
- 時間外情報を遅延させる。
- 上場廃止された証券を含める。
- カバレッジスナップショットを保存する。
3. シミュレートし、挑戦し、凍結する
スプレッド、スリッページ、手数料、約定遅延、流動性、およびポートフォリオ制約をモデル化します。1つの最適化された設定を祝うのではなく、わずかに悪い仮定と近接したパラメータをテストします。
未変更のホールドアウトで最終仕様を評価します。取引と証拠のマニフェストをエクスポートして、別の実行が同じ決定を再構築できるようにします。
Key takeaways
- 01検査前にすべてのルールを記述する。
- 02時点ベースのデータとカバレッジを検証する。
- 03実行可能な価格とコストをモデル化する。
- 04未変更の最終ホールドアウトを使用する。