最も誠実なスリッページモデルは、意図的に間違っていることがよくあります。粗い過去データから正確な執行コストを1つだけ報告するバックテストは、データで裏付けられない主張をしています。
これは粗雑な仮定を使うべきだという話に聞こえるかもしれませんが、逆です。説明できる単純なモデルを使い、そのモデル同士が食い違うようにします。都合よく有利な約定コストの推定値1つのもとでしか機能しない戦略なら、その不確実性も結果の一部です。
正確なスリッページ推定が誤解を招くのはなぜでしょうか?
1-minute OHLCVバーがあり、株式2,000株の成行注文を出すとします。バーから分かるのは、1分間の値幅と総出来高です。注文が到着した時点のbidとask、前に並ぶ注文のキュー、1分間の出来高の分布、注文によってどれだけの出来高を消費したかは分かりません。
それでもスリッページに数値を割り当てることはできます。次のバーの始値に固定のベーシスポイントコストを加えて約定させたり、注文サイズをバー出来高で割った値に応じてコストを変えたりできます。どちらも有用な近似です。実測値ではありません。結果を「スリッページ:3.2ベーシスポイント」と報告すると、モデル上の選択が測定値のように見えてしまいます。
具体例を見てみましょう。ある戦略が、次のバーの出来高が$400,000の株式を1注文あたり$20,000取引するとします。参加率は5%です。2ベーシスポイントを課すモデルでは1注文あたり$4、10ベーシスポイントでは$20のコストになります。500回の往復取引では、手数料を除いても差額は$16,000です。戦略のバックテスト上の粗利益が$18,000なら、執行の仮定はシグナルとほぼ同じほど結果に影響しています。
データで見える範囲を反映した幅を設定する
まず、戦略の注文タイプとデータの解像度に合った基準ケースを設定します。成行注文にはスプレッドとインパクトが必要です。指値注文では、そもそも約定するかどうかのルールが必要です。価格に触れた注文がすべて約定すると仮定するのも、別の執行上の誤りです。
次に、明示した少数のケースで同じバックテストを実行します。執行による変化を特定できるよう、シグナル、サイズ設定、タイムスタンプは固定します。
| ケース | 執行の仮定 | 検証すること |
|---|---|---|
| 有利 | 基準スプレッドと低いインパクト | 戦略はどの程度、取引に有利な環境に依存しているか? |
| 基準 | 一般的なスプレッドと参加率に応じたインパクト | 採用した作業上の仮定から何が分かるか? |
| 不利 | 広いスプレッド、高いインパクト、約定の遅延 | もっともらしい難しい市場環境でもエッジは持続するか? |
統計的に較正していない限り、これらは信頼区間ではありません。シナリオテストです。レポートでそれぞれの意味を説明し、確率の根拠がないまま平均して、でっち上げの「期待スリッページ」にしないでください。
注文に応じてモデルを変化させる
小さな注文なら、一定のベーシスポイントコストは妥当な初期設定になり得ます。参加率が上がると、説明として不十分になります。最低限、注文の名目金額、利用可能なバー出来高、参加率を記録します。先物を取引する場合は、契約価値と関連する出来高単位を記録します。現物暗号資産を取引する場合は、クオート通貨と取引所を明記します。
単純なインパクト曲線を使えば、オーダーブックを再現したふりをせずに、取引量の上限が近づく影響を示せます。たとえば、コストを基準スプレッドコストと、参加率の平方根に応じて増えるインパクト項の合計として定義できます。適切な執行データがある場合に限り、パラメータをフィットさせます。そうでなければ、パラメータを変えて、結果がどれほど早く悪化するかを示します。
また、約定モデルが知らないうちに戦略を救済しないようにします。急騰後に届いたロングシグナルが、ローソク足の範囲内にあるというだけで、そのバーの安値で約定してはいけません。因果関係に沿った約定ルールを使い、価格に負荷をかけて約定を遅らせます。注文が遅れて値動きを逃したなら、それは執行の結果です。ならして消すべき厄介事ではありません。
有用な問いは、スプレッド、インパクト、遅延、参加率がどの水準になるとネットパフォーマンスがゼロを下回るか、です。その損益分岐点は、バックテストのSharpeを1つ示すより、実務で役立つことがよくあります。
ペーパートレードで幅を絞り込む
ペーパートレードでは、ライブのマッチングエンジンで得られたはずの約定は分かりません。それでも、バックテストの注文フローがシステムの実際の判断、つまり注文がいつ生成され、どれほどのサイズで、どれくらいの時間有効なのかを反映しているかは確認できます。
シミュレーション上の注文価格を、同時点の気配値やペーパーシステムが記録する市場データと比較します。銘柄、時間帯、注文サイズ、注文タイプごとに差を記録します。こうした観測結果は、その設定に関する仮定の幅を狭めるのに役立ちます。別の取引所、市場レジーム、より大きな注文にそのまま当てはまるわけではありません。
悲観的なシナリオは恣意的になり得るという批判は正しいものです。意図的に厳しいモデルは、弱い戦略を有利なモデルが実力以上によく見せるのと同じように、実行可能な戦略を退けることがあります。だから、最も厳しいケースを真実とみなさないでください。仮定を公表し、感応度を示し、推測を較正済みの推定値に置き換えるためのデータを集めます。
ローソク足から、バックテストが過去のキュー位置を知ることはできません。データでは否定できない形で執行条件が悪化しても、そのアイデアに一貫性があるかは示せます。小数点以下の桁を示すより、そちらの方が有用な答えです。
← 記事一覧


