Sell Stopはどのように測定できますか?
測定可能な形で定義するSell Stop
Sell Stopとは、市場価格が指定されたトリガーレベルに到達すると発動資格を得る指値の売り(pending sell order)です。測定するには、観察・記録できるものに集中します。具体的には、注文の設定項目、出来事の順序(時刻と状態の変化)、そして実際の約定結果です。
議論に入る前に、2つの層を分けます:
- 安定した仕組み:トリガーレベルという概念、そして pending-to-active(未約定から有効化)への転換という考え方。
- 変動する条件:市場の動き、コスト(コミッション/スプレッド/手数料)、約定の質、そして提供者ごとのルール。
この記事ではリアルタイムの市場データを前提としていないため、「測定」とは、注文のライフサイクルを記録し、利用可能なタイムスタンプと選んだ前提を使ってトリガールールと比較することを意味します。
メカニズム:どの項目とタイムスタンプを記録するか
Sell Stopを一貫して測定するには、注文履歴と取引確認(trade confirmations)から次の項目を取得します:
1) 設定された注文項目(入力)
- Sell Stopのトリガー価格:注文を有効化することを意図したレベル。
- 注文数量/ボリューム:どれだけ売るように設定されているか。
- サイドと注文タイプのラベル:それがsell stopであることを確認します(成行売りや指値売りではない)。
- 有効期限/失効(ある場合):未約定の注文が有効でなくなる時期。
2) 注文ライフサイクルのタイムスタンプ(イベントの時系列) 最低限、次を記録します:
- 配置時刻(Placed time):注文が送信された時刻。
- 変更時刻(Modified times):トリガー価格、数量、有効期限に対する変更があった場合の時刻。
- トリガー/有効化時刻(Triggered/activated time)(表示される場合):システムが「トリガーされた」とマークした時刻。
- 約定時刻(Filled time(s)):約定が発生した時刻(部分約定を含む)。
- 取消/却下時刻(Cancelled/rejected time):一度も約定しなかった場合。
3) 約定結果(出力) 各約定イベントごとに、次を記録します:
- 約定価格(Execution price(s)):各約定ごとの実際の約定価格。
- イベントごとの約定数量(Filled quantity per event):特に部分約定では重要です。
- 平均約定価格(Average fill price)(提示されている場合):記録した約定価格と数量から導出されます。
証拠または例:ライブ価格なしで測定値を比較する方法
実用的な測定方法は、注文の記録された項目とイベントの時系列を、あなたが定義する「トリガーの正しさ(trigger correctness)」と照合することです。ここではライブ価格データを前提としないため、何を検証し、何を検証しないかを定義する必要があります。
例:前提セット(明示)
- イベントの順序(配置 → トリガー/約定、または配置 → 取消/却下)を、プラットフォームに表示されるタイムスタンプで検証します。
- 約定の質は、設定されたトリガー価格と、手元にある約定記録を使って比較し、実際の約定価格との比較で測定します。
- リアルタイムの価格のティック(price prints)がないため、市場が特定の秒に実際にトリガーレベルへ到達したと主張しません。
計算できる観測可能な指標
- トリガーから約定までの遅延:
filled time − triggered time(複数回の約定がある場合は最初の約定時刻)。 - 約定の乖離:各約定について
fill price − trigger price、そして約定数量で重み付けした平均乖離。 - 約定カバレッジ:
total filled quantity ÷ intended order quantity。
想定すべき重要な制限 プラットフォームが「トリガーされた」だけを示し、正確な市場価格の瞬間を示さない場合、トリガー条件が正確なタイムスタンプで発生したことを証明できません。あなたが確認できるのは、記録が示す「トリガー」と「約定」の出来事についてです。
制限とリスク:測定が失敗する場所
注意深く項目とタイムスタンプを記録していても、比較は次の理由で崩れる可能性があります:
- 部分約定:1つのSell Stopが、異なる時刻と価格で複数の約定イベントを生むことがあるため、「“その”約定価格」は存在しないかもしれません。
- 約定遅延と取引会場(venue)ルール:異なる約定環境はレイテンシーを生み、測定したトリガーから約定までの遅延に影響します。
- コストとスプレッド:測定する約定価格が、実際の取引コストのすべてを反映しない可能性があるため、結果ベースの比較が誤解を招くことがあります。
- 変更と取消:注文が変更されていた場合、後からの約定が元の設定ではなく、更新されたトリガー設定に関連している可能性があります。
- 欠落または不整合なタイムスタンプ:一部のプラットフォームは他よりも少ないライフサイクル状態しか表示しないため、測定の精度が下がります。
また、結果は管轄のルール、プラットフォームの実装、そして市場環境によっても変わります。たとえば、過去にトリガーと約定の間で生じた乖離(過去の関係性)は、将来の挙動を保証しません。
検証と次の質問
測定を独立に検証するには:
- 記録された注文タイプ、トリガー価格、数量を確認します。
- 配置/変更/トリガー/約定/取消のタイムスタンプから、イベントの時系列を再構築します。
- 記録された約定だけを使って、トリガー価格と実際の約定価格の間の**乖離(deviation)**を計算します。
- 部分約定があるか、そして変更が発生したかを確認します。