TL;DR
- LIMIT order は希望価格で出すが、約定しないリスク。MARKET order は確実に約定するが、価格が不利
- 「正解」は戦略の time-sensitivity と liquidity 次第
- exchange-style ベッティング (Betfair) でも persistenceType (LAPSE / KEEP / TAKE_SP) で類似 trade-off
- backtest は「約定した条件下の returns」を見る。約定失敗率を込みで評価しないと過大評価
- adverse selection (約定する場合は不利な情報が先回りしている) を意識する
Hook
ある signal が出たので、有利な価格で買い注文を入れた (指値)。価格が動き、注文は約定しないまま signal が消えた。次の signal で今度は確実性を取り、成行で入った。最悪のスプレッドで約定し、想定 edge が消えた。
両方経験したことのある人は知っている。LIMIT と MARKET には trade-off があり、「正解」は文脈で変わる。
LIMIT Order — 価格を取る
LIMIT order は希望価格を指定する注文。
- 利点: 想定価格で約定、price improvement の可能性
- 欠点: 約定しない可能性。market が動くと取り残される
- 実装上: order book に並ぶ。time priority (先に出した方が先に約定)、price priority
約定確率を決める要因
- flag spread (LIMIT 対 best price の距離): 0 tick (ベストプライスに置く) なら確実近い、5 ticks 内側 (= 不利な側) なら約定しにくい
- 市場の流動性 (depth、order arrival rate): 厚い market なら約定しやすい
- duration (注文期間): GTC (取消まで) と IOC (即時残余取消) で変わる
- adverse selection の効果: 自分が約定する瞬間 = market が自分側に来た瞬間 = 不利情報が先回りしている可能性
MARKET Order — 確実性を取る
MARKET order は即時約定を要求する注文。
- 利点: 約定確実 (流動性ある market なら)
- 欠点: 最良 ask (買い) / bid (売り) を喰らう = bid-ask spread を被る
- 実装上: 流動性消費側 (taker)、即時 fill
スプレッドが広い market では MARKET の slippage コストが意外と高い。
Exchange-Style ベッティングでの persistenceType
Betfair Exchange のように exchange model を持つベッティング platform では、注文 lifecycle に固有の trade-off がある。
| persistenceType | 動作 | 性格 |
|---|---|---|
| LAPSE | レース start 時に未約定なら自動取消 | LIMIT 的、安全 |
| KEEP | レース start 時に残し、in-play で約定可能 | 約定機会拡大、ただし adverse selection リスク |
| TAKE_SP | レース start 時に SP (Starting Price) で MARKET 化 | MARKET 的、確実性高い |
LAPSE は「希望価格で取れなければ諦める」、KEEP は「市場の状態が変わるまで待つ」、TAKE_SP は「最悪値覚悟で約定取りに行く」。
戦略の性質に応じて使い分ける必要がある。
Backtest の罠 — 約定 modeling の不在
backtest が systematic に過大評価される最大要因の 1 つが、約定を理想化していること。
典型的な過大評価パターン
「LIMIT 注文を出した想定で edge X%」と計算しても、現実の約定率が 60% なら:
- 約定したケースで edge X%
- 約定しなかった 40% は: その間に signal が消える、または逆方向の動きで「約定したくなかった」場面が来る (adverse selection)
- effective edge は X% × 0.6 よりも悪い
つまり、「約定確率 × 約定後 edge」だけでは不十分で、「約定しなかった場合の opportunity cost」と「約定した場合の adverse selection」を込みで評価する必要がある。
Adverse Selection の数理
market microstructure 理論では、informed bettor の存在を仮定すると:
- 自分の LIMIT が約定する → market が自分側に動いた = informed が反対側にいた可能性
- 結果として「約定したケース」のサンプルは systematic に不利方向にバイアスされる
- 「自分が約定すれば嬉しい」と思っている時に、相手も「約定させて嬉しい」と思っている = win-win ではない、ゼロサムの逆側にいる
LIMIT order は「自分の view が正しい時にしか約定しない」と願うが、現実は「自分の view が他者と同じだから約定する」場面が多い。これが LIMIT order の hidden cost。
戦略 Design への落とし込み
| 戦略の性質 | 推奨 |
|---|---|
| signal が長持ちする (slow-moving alpha) | LIMIT 寄り、約定機会を待つ |
| signal が短時間で消える (fast alpha、news driven) | MARKET 寄り、即約定 |
| liquidity が厚い market | LIMIT 効率的 |
| thin market (ベッティングマイナーレース、新興株) | MARKET 必要、もしくは縮小運用 |
| transaction cost が high | LIMIT で minimization、ただし約定率を込みで評価 |
「LIMIT が常に良い」「MARKET が常に悪い」という二元論ではなく、どちらの error を制御したいかの選択。
- LIMIT: false negative (機会を逃す)
- MARKET: 価格 slippage (毎回スプレッドを払う)
個人的経験
exchange-style ベッティングで persistenceType の選択が約定 quality を大きく左右する経験をした。LAPSE で安全に出していたら約定率が低くて backtest と乖離、KEEP に切り替えたら約定率は上がったが「有利時に約定せず、不利時に約定する」逆選択 (adverse selection) が見えた、という現象。
約定 modeling を真面目にやるかどうかで運用結果が変わる。backtest の数字より、「現実にこの注文は約定するか」を考える方が edge を守る、というのが学んだ教訓。
まとめ
- LIMIT と MARKET の選択は signal 性質と liquidity 次第
- exchange-style ベッティングの persistenceType は同じ trade-off の表現
- backtest は約定率と adverse selection を込みで評価しないと過大評価
- 「どちらが正解」ではなく「どちらの error をコントロールするか」の選択
- adverse selection の存在を忘れない
次回は、期待値プラスでも破産する話。Variance vs EV と Risk of Ruin の計算。
参考文献
- Harris, L. (2003). Trading and Exchanges: Market Microstructure for Practitioners. Oxford University Press.
- Kissell, R. (2014). The Science of Algorithmic Trading and Portfolio Management. Academic Press.
- O’Hara, M. (1995). Market Microstructure Theory. Blackwell.
- Glosten, L.R., Milgrom, P.R. (1985). Bid, Ask and Transaction Prices in a Specialist Market with Heterogeneously Informed Traders. Journal of Financial Economics, 14(1), 71-100.
- Betfair Exchange API documentation, persistenceType reference.