スリッページの前提
スリッページの前提とは
スリッページの前提とは、目標とする約定価格(たとえば、価格チャートに基づく期待約定やミッド価格に基づくフィル)と、実際に取引を執行したときに受け取る価格との差を表すために用いるルールです。FXでは、このギャップは取引コストや、市場のミクロ構造の影響(たとえば、ビッド・アスク・スプレッド、急速な価格変動、注文を出してから約定するまでの遅延)によって生じます。
バックテストでは、シミュレーションが現実の約定のあらゆる瞬間を完全に再現できないため、前提が必要になります。その代わりに、シミュレーションのエントリー/エグジット価格を調整する実用的な方法を定義します。フォワードテスト(同じ戦略ロジックをライブ環境またはペーパー環境で実行する)では、同じ前提を参照として使えますが、さらに観測された約定結果と比較して、その前提が妥当なままでいるかを確認します。
バックテストとフォワードテストでスリッページの前提がどう機能するか
中核となる考え方:約定は瞬時ではない
取引エンジンは、行動を決めた「ちょうどその時刻」に正確に価格を取得できることは稀です。「マーケット」注文であっても、約定価格はその時点で利用可能な流動性に依存します。したがって、スリッページの前提は、意図した取引を推定された約定結果へと変換します。
よく必要になる入力
スリッページの前提を現実に根付かせるために、通常は次のような入力に基づけます:
- シミュレーションが参照する基準価格(たとえば、ミッド価格、ビッド/アスク、または直近の約定価格)。
- 意思決定時刻を測るルール(バー終値、バー始値、またはイベント駆動の時刻)。
- スプレッドと約定価格の想定される関係。
- 意思決定時刻から約定までの価格変動をモデル化する方法(たとえば、固定オフセット、分布、または条件付きルール)。
前提を適用する典型的な2つの方法
-
注文約定時の価格調整:基準価格に対してスリッページ量を加算または減算することで、シミュレーション上の約定価格を修正します。これにより、条件が不利なときに「理想よりも悪い」約定が体系的に生成されます。
-
スリッページ分布を用いた約定モデリング:固定のスリッページ値ではなく、関連する確率を伴う複数のスリッページ値の集合を使います。これは不確実性を反映し、繰り返し実行したときに異なる結果を生み得ます。
どちらのアプローチでも重要なのは整合性です。バックテスト中に使うロジックは、フォワードテストで実際に注文が約定される方法に合わせる必要があります。これには、基準価格の慣習とタイミングの慣習の両方が含まれます。
検証ループ
有用なワークフローは、スリッページの前提を「約定行動に関する仮説」として扱うことです:
- 前提を用いてバックテストを実行する。
- フォワードテストを実行し、実際の約定価格を記録する。
- 実現した約定差(目標と約定の差)を、想定したスリッページのパターンと比較する。
- 約定プロセスが異なるという証拠がある場合にのみ、前提を更新する。
このループにより、特定の期間の市場条件に前提を過度に適合させる(オーバーフィットする)ことを避けられます。
重要な制約・リスク、そして不確実性がどう現れるか
バックテストに隠れた楽観が入り込むことがある
スリッページの前提が甘すぎると、シミュレーション上の取引は実際の約定よりも良く見える可能性があります。これは戦略ロジックが「間違っている」からではなく、約定コストやタイミングの不確実性が現実的に表現されていないためです。
リスクは次の場合に高まります:
- 取引が急速な相場変動の最中に行われる。
- 戦略が多数の注文を発火させる、またはタイトなタイミングに依存している。
- スプレッドが拡大する、または流動性が低下する。
シミュレーションと約定の定義の不一致
スリッページを含めていても、よくある失敗モードは定義の不一致です。たとえば、シミュレータがミッド価格を使っているのに、フォワードテスト環境では約定時点で実質的にビッドまたはアスクを参照している場合、「同じ」スリッページの前提でも、同じ経済的現実を表していないかもしれません。
期間依存性
ボラティリティのレジームや流動性の変化により、約定条件は時間とともに変わります。ある過去のウィンドウから推定したスリッページの前提は、特にスプレッドや市場の厚み(depth)の振る舞いが異なる場合、別のウィンドウへうまく移せないことがあります。
データ品質と計測の不確実性
スリッページの前提を評価できるかどうかは、何を計測できるかに依存します:
- OHLCバーしかない場合、意思決定時刻から約定までの間に起きるバー内の価格ジャンプを捉えられないかもしれません。
- 注文のタイムスタンプを信頼できる形で再構築できない場合、スリッページを生んだ真の時刻オフセットが分からないかもしれません。
これらの制約があるため、想定したスリッページは、正確な約定の再現ではなく「近似」として扱ってください。
前提を検証するために独立して確認すべきこと
平均だけでなく分布を比較する
平均スリッページは裾(テール)を隠してしまうことがあります。まれだが深刻な約定イベントが、最悪ケースの結果を左右することがよくあります。分布の形(小さいスリッページがどれくらいの頻度で起きるか、大きいスリッページがどれくらいの頻度で起きるか)を比較することで、より完全な理解が得られます。
基準の慣習を一貫させる
バックテストの参照価格と、フォワードテストの約定参照が同様に定義されているか確認してください。そうでない場合、別の基準に対して「検証」してしまう可能性があります。
条件をまたいで前提を追跡する
異なるボラティリティやスプレッド条件下で、スリッページの前提に基づくパフォーマンスを検証してください。落ち着いた市場で機能する単一のルールでも、ストレス期間では失敗することがあります。
前提を文書化して監査可能にする
スリッページの前提は明示的でテスト可能であるべきです:どの参照価格を使うのか、どのタイミングオフセットを想定するのか、そしてスリッページはどのように計算されるのか。これにより、結果を再現し、どこで不一致が始まっているのかを特定できます。
関連概念と比べてスリッページの前提はどう違うか
スリッページの前提は約定モデリングの選択ですが、他の関連概念は構成要素や文脈を説明します:
- スプレッドは、見積もり(クオート)で観測できるビッド・アスクの差です。
- コミッションと手数料は、口座レベルの課金です。
- レイテンシまたは約定遅延は、意思決定から約定までの時間を表します。
スリッページの前提は、これらの影響の一部を単一の約定調整に組み込むことがありますが、それでも、前提がどの影響を表そうとしているのか、そしてどれがモデルの別の場所で扱われているのかを理解しておくべきです。
どのような市場環境でスリッページの前提の挙動が変わりやすいか
スリッページの挙動は、次のときに変わりやすいです:
- ボラティリティが上昇し、意思決定時刻から約定までの間に価格がより大きく動く。
- 流動性が低下し、想定した価格水準で約定させるのが難しくなる。
- スプレッドが拡大し、ビッドからアスクへ(またはその逆へ)またぐコストが増える。
これらの変化により、固定のスリッピージルールの精度が下がり、計測されたスプレッドやボラティリティの代理指標に応じて変わる条件付きの前提が必要になることがあります。
スリッページの前提に影響し得るコスト
スリッページのモデリングの内側または外側で反映され得る、約定関連のコストには次が含まれます:
- ビッド・アスク・スプレッドのコスト(多くの場合、参照価格の選択に結び付く)。
- 手数料やコミッション(場合によっては別途モデル化されることもあれば、約定調整に組み込まれることもある)。
- 実効的な約定価格を変える、あらゆる一貫した取引コスト。
ポイントは明確さです:これらの項目をスリッページの前提の一部として含めるのか、それとも別途モデル化するのかを決め、その判断をバックテストとフォワードテストの両方で一貫させてください。