買い指値はどのように測定できますか?
測定可能な買い指値の仕組みと定義
買い指値注文は、マーケット価格が注文で指定した指値価格に、意図した方向で到達したときにのみ、約定の対象となる未約定注文です。「買い(Buy)」は、(その金融商品を買うという観点から)希望する側を表し、「指値(limit)」は、約定(フィル)に対して支払ってよい最大価格を表します。買い指値を独立して検証可能な形で測定するには、その考え方を、注文チケットと約定レポートから記録できる項目に落とし込む必要があります。
測定すべき内容(中核となる項目)
少なくとも4つのカテゴリの情報を測定します:
- 指値価格(L): 注文チケットで設定した正確な価格値。
- 注文のタイムスタンプ: 最低限、発注時刻(T_place)と、最終結果の時刻(約定ならT_exec、取消ならT_cancel)。プラットフォームがより粒度の細かい時刻(たとえば「最終更新」)を提供している場合は、それらも記録します。
- 注文状態: 注文が未約定のまま(open)、部分約定(partially filled)、全約定(fully filled)、拒否(rejected)、取消(cancelled)のどれに当たるか。部分約定は、完了の測定方法を変えます。
- 約定結果: いつ、どのように約定が発生したかを記録します。約定価格(P_exec_i)、約定数量、そしてLに対するスリッページの有無を記録します。
実務における「測定」とは
これらの項目があれば、次のような測定可能な問いに答えられます:
- 「注文は一度でも約定を受けましたか?」(はい/いいえ。複数の部分約定がある可能性あり)
- 「約定価格は指値価格からどれくらい離れていましたか?」(P_exec_iとLの差)
- 「注文が未約定の間、どの時間帯にさらされていましたか?」(T_placeから最終結果の時刻まで)
検証できる比較(そして比較できないもの)
買い指値が「どのように機能するか」を測定によって説明するには、2つのタイムラインを比較します:
- あなたの注文タイムライン: 未約定 → 部分約定 → 全約定(または取消/拒否)。
- 市場クロスのタイムライン(概念): 関連する提示価格が指値価格に到達、またはそれを超える瞬間。
単純で検証可能な指標セットは次のとおりです:
- 曝露時間(Exposure duration):
- 単一のプラットフォームの時計を仮定します。Duration_open = T_terminal − T_place を計算します。
- 約定発生:
- 約定イベントの数 n_exec を数え、約定した総数量が意図した注文数量と一致するかどうかを確認します。
- 指値からの乖離:
- 各約定について Deviation_i = P_exec_i − L を計算します(符号の取り扱いはあなたが定義します)。その後、乖離を要約できます(たとえば最大の正の乖離、または約定間の平均乖離など)。
「両方の選択肢を基準ごとに」重要な制限
異なるプラットフォームや取引会場では、値の定義や報告方法が異なる場合があるため、比較は慎重に扱ってください。各基準について、測定アプローチは2つあります:
-
基準:価格参照
- 選択肢A:プラットフォームが報告する約定価格(P_exec_i)を使う。
- 選択肢B:外部で観測した市場の提示(クオート)を使う(クオート時刻と定義を揃える必要があります)。
- 制限: 「間違ったデータ」でなくても、この2つは異なることがあります。クオートの出所やタイミングが異なるためです。
-
基準:タイムスタンプ
- 選択肢A:プラットフォームの注文および約定のタイムスタンプを使う。
- 選択肢B:イベントを記録するときの自分のシステム時刻を使う。
- 制限: クロックのズレやタイムゾーンの違いによって、「クロス(到達) vs 約定」の比較が崩れる可能性があります。
-
基準:価格クロス
- 選択肢A:利用可能であれば、プラットフォームと同じフィード定義でクロスを測定する。
- 選択肢B:別のチャートまたは、あなたが監視しているフィードでクロスを測定する。
- 制限: 過去の関係は将来の挙動を保証しません。フィードはサンプリングレートが異なる場合があります。
証拠と、再現できる例
以下は、リアルタイムデータを前提とせず、記録された項目だけを使う測定例です。
例のセットアップと前提
仮定します:
- あなたは T_place の時刻に買い指値を出しました。
- 注文は T_terminal まで未約定のままでした。
- 後にプラットフォームが、約定価格 P_exec_1…P_exec_n を伴う1つ以上の約定を報告しました。
- 乖離(deviation)を Deviation_i = P_exec_i − L と定義します。
例の計算
- 曝露時間
- Duration_open = T_terminal − T_place。
- 約定回数と完了確認
- n_exec = 報告された約定(フィル)イベントの数。
- 完了チェック: 総約定数量が意図した数量と一致していれば、その注文は全約定です。一致していなければ、最終結果の前に部分約定だったことになります。
- 乖離の要約
- 各乖離 Deviation_i を計算します。
- あなたの符号の取り扱いのもとで、正の乖離が1つでもあれば、設定した指値価格より高い価格で約定したことを示します。負の乖離なら、より低い価格で約定したことを示します。
これは「買い指値を測定する」ことです。なぜなら、あなたは市場の挙動を予測するのではなく、記録された注文と約定の出力を使っているからです。