バックテストとライブの相違点のデバッグ

バックテストとライブの値を単一のチャートにプロットすることは、最初のステップとして良い方法です。比較のためにエクイティカーブとポジションプロットを含めることを強くお勧めします。さらに、アルファ、注文価格などを視覚化することで、相違点の特定が容易になります。

[画像]

バックテストされた戦略がライブトレーディングで正しく実装されている場合、観察される相違点に寄与する重要な要因は2つあります。

1. レイテンシー: フィードレイテンシーと注文レイテンシーの両方を含むレイテンシーは、正確なバックテスト結果を確保するために重要な役割を果たします。フィードレイテンシーを正確に測定するために、自分でデータを収集することを強くお勧めします。あるいは、外部ソースからデータを取得する場合、フィードレイテンシーが自分のレイテンシーと一致していることを確認する必要があります。

注文レイテンシーは、自分のエンドから測定され、注文アクションをログに記録するか、定期的にミッドプライスから離れた注文を送信し、それをキャンセルして注文レイテンシーを測定および記録することで収集できます。

レイテンシーを人工的に減少させて、レイテンシーの向上による戦略のパフォーマンスの改善を評価することも可能です。これにより、上位プログラムや流動性提供者プログラムの有効性を評価し、インフラストラクチャの改善に投資した影響を定量化できます。優れたインフラストラクチャが競争上の優位性を提供するかどうかを理解することは有益です。

2. キューモデル: ライブトレーディングの結果を正確に反映する適切なキューモデルを選択することが重要です。独自のキューモデルを開発するか、既存のものを利用することができます。Hftbacktest は、PowerProbQueueModel シリーズなどの3つの主要なキューモデルを提供しており、結果に合わせて調整できます。詳細については、ProbQueueModel を参照してください。

重要な点は、市場への影響を考慮しないという前提でバックテストが行われることです。マーケットオーダーや流動性を取るリミットオーダーは、市場への影響を引き起こし、実行シミュレーションを困難にする可能性があります。さらに、リミットオーダーのサイズが大きすぎる場合、部分的なフィルとその市場への影響も相違点を引き起こす可能性があります。まず小さなサイズで取引を開始し、結果を一致させることをお勧めします。ライブとバックテストの結果を観察しながら、徐々に取引サイズを増やすことが推奨されます。