部分約定を執行劣化として測る:平均価格だけでは足りない

注文数量が一度に約定しない部分約定では、平均約定価格だけを見ると執行過程の劣化を見落とします。約定回数、各約定価格、約定間隔、未約定数量を記録し、シグナルから最終約定までのコストを分解して測る方法を整理します。

一つの注文でも約定は一つとは限らない

シグナル価格と最終的な平均約定価格だけを比較すると、注文がどのような過程で成立したかは見えません。流動性が十分でなければ、一つの注文が複数の価格や時刻に分かれて成立する部分約定が起こり得ます。この場合、最初の約定が良好でも、残りの数量が後続価格で成立することで平均価格が変化します。執行品質を見るには、注文単位ではなく約定単位まで分解する必要があります。

約定ごとの価格と時間を残す

記録したいのはシグナル時刻と価格、発注時刻、注文数量に加え、各約定の時刻、価格、数量、残数量です。さらに発注時のBid・Askとスプレッドを保存すれば、価格差が当初から存在したスプレッドなのか、発注後の価格変化なのかを切り分けやすくなります。最初の約定から最後の約定までの時間も、注文全体の執行遅延として計測できます。

平均価格だけでなく分割過程を比較する

検証では、各約定価格を数量加重して平均約定価格を求め、シグナル価格との差を測ります。同時に、約定回数、完了までの時間、未約定数量の推移を保存します。注文数量が大きいほど約定回数や価格差が増えるなら、サイズと利用可能な流動性の関係が疑えます。一方、少量でも特定時間帯に分割が増えるなら、市場側の流動性変化として検証できます。

未成立も執行品質のデータになる

約定した取引だけを集計すると、拒否や未約定を除外した偏ったデータになります。発注した全注文を母集団として、完全約定、部分約定、未約定、拒否などの結果を区別し、発生率を比較します。これにスプレッドと発注後の価格変化を重ねれば、シグナルから約定までに失われた条件を、価格差だけでなく成立率と時間の両面から検証できます。

ABOUTこの記事をかいた人

MetaTrader 5 向けの検証ツールを開発しています。個人開発です。 扱っているのは売買の方向を示すシグナルではありません。スプレッドや手数料といったコスト、スリッページを含む約定の実態、口座全体のエクスポージャー——損益の構造側を数値で可視化する道具です。 実運用の記録は GogoJungle の REAL TRADE で第三者計測・公開しています。 詳細は「このサイトについて」をご覧下さい。 ご要望はこちらで承ります。