表示スプレッドだけでは、実際に負担した執行コストは測れません。約定価格と約定時点のミッド価格から実効スプレッドを算出し、成行注文がどの程度不利な価格で成立したかをティックデータとEAログから検証する方法を整理します。
画面に見えるスプレッドと実コストは一致しない
BidとAskの差であるクォートスプレッドは、発注前に観測できるコストの目安である。しかし実際の注文は、その瞬間の表示価格で成立するとは限らない。価格更新、通信・処理遅延、注文サイズに対する流動性不足が重なれば、約定価格は表示価格からずれる。
そこで約定品質を測る際に使えるのが実効スプレッドである。これは約定価格を、その時点のBidとAskの中間値であるミッド価格と比較し、実際にどれだけ不利な側で取引したかを測る指標だ。表示スプレッドより、注文者が負担した結果に近い。
ミッド価格との差を売買方向付きで測る
買い注文なら「約定価格-ミッド価格」、売り注文なら「ミッド価格-約定価格」を計算し、通常はその差を2倍して実効スプレッドとして扱う。価格単位だけでなく、ミッド価格で割ってbp換算しておけば、価格水準の異なる市場も比較しやすい。
重要なのは、約定後の価格変化と混同しないことだ。実効スプレッドは約定時点の執行コストを測る。一方、数秒後のミッド価格まで追えば、前回扱った逆選択やPrice Impactを別の指標として分析できる。
この二つを分離すると、「最初から高く約定した」のか、「約定後に市場が不利な方向へ動いた」のかを切り分けられる。
EAログとティックを時刻で結合する
実務ではEA側に注文方向、発注時刻、約定時刻、約定価格を保存し、ティックデータ側にはtimestamp、Bid、Askを残す。約定時刻に最も近い直前ティックを対応させれば、その時点のミッド価格を再構成できる。
集計では平均値だけでなく、中央値、90%点、95%点を見る。時間帯、ボラティリティ帯、注文サイズでも分ければ、どの条件で執行コストの尾部が膨らむかを確認できる。バックテストのコスト前提も、この実測分布と比較することで妥当性を検証できる。
まとめ
表示スプレッドは市場が提示した価格差であり、実効スプレッドは実際の約定結果から測るコストである。両者の差を継続的に記録すれば、約定品質を感覚ではなく数値で比較できる。
EAでは売買ロジックだけでなく、約定時刻と価格をティックデータへ接続することが重要になる。価格がなぜその水準で約定したのかを検証するには、チャートより先に執行データを残す必要がある。






