「約定率99.9%」はどう数えた99.9%なのか。同じログから95%も100%も出せる話

本記事はプロモーションを含みます。掲載している海外FX業者のリンクから口座開設等が行われた場合、当サイトが提携先企業から成果報酬を受け取ることがあります。

海外FX業者の比較記事を読んでいると、だいたいどこかに「約定力」という言葉が出てくるんですよね。約定率99.9%、平均約定速度0.0◯秒、約定拒否なし。数字が並んでいると、つい「じゃあこっちの方が強いんだな」と思ってしまうじゃないですか。

私もしばらくそう読んでいたんですけど、あるとき気になって調べ始めたら手が止まりました。これらの数字、どれ一つとして「何件のうち何件か」が書かれていないんですよ。分母が分からない割合って、実は比較できないんですよね。

というわけで今回は、業者が出してくる約定力系の数字が何を測っていないのかを整理します。個別の業者を叩く記事ではなく、あくまで指標の定義の話です。

そもそも「約定力」は2つの数字の寄せ集め

一般的に約定力と呼ばれているものは、だいたい次の2つに分解できます。

  • 約定率: 出した注文が成立する割合
  • 約定スピード: 注文してから約定するまでの時間

国内の情報サイトでも、約定率は「実際に約定した注文を、投資家から出された注文の数で割って算出した数値」と説明されています。式としてはこれで間違っていないんですけど、問題は「約定した注文」と「出された注文」の中身が、業者ごとに自由に決められることなんですよね。

同じログから95%も100%も出せる

どのくらい自由なのか、自分で計算してみたんですけど、なかなかひどい結果になりました。仮に、ある期間の成行発注ログがこうだったとします。合計10,000件です。

注文の結末 件数
初回でそのまま全量約定 9,500
リクオートが出て、再送して約定 300
リクオートが出て、こちらが見送った 60
一部だけ約定して残りはキャンセル 40
レートなし・価格無効などで拒否 80
タイムアウト・接続断 20

このまったく同じログに、ありがちな定義を6通り当てはめた結果がこちらです。

約定率の定義 計算 結果
初回のまま全量約定したものだけを約定と数える 9,500 / 10,000 95.00%
再送後の約定も含める(部分約定は除く) 9,800 / 10,000 98.00%
部分約定も約定に含める 9,840 / 10,000 98.40%
見送り(顧客都合のキャンセル)を分母から外す 9,840 / 9,940 98.99%
さらに通信起因の失敗を分母から外す 9,840 / 9,920 99.19%
サーバーが処理した注文だけを分母にする 9,840 / 9,840 100.00%

一行もデータをいじらずに、95.00%から100.00%まで5ポイント動きました。しかも6通りとも、どれも嘘ではないんですよ。「サーバーが処理した注文のうち約定した割合」は定義としては成立していますし、そう書けば100%になる。この6通りのうちどれを使ったかが書いていない数字は、正直なところ比べようがないんですよね。

ちなみに「どこからを失敗と見なすか」の選択肢は、感覚よりずっと多いです。MT5の注文送信結果の戻り値を公式リファレンスで数えたら全部で41種類ありました。リクオート、拒否、タイムアウト、価格変更、レートなし、一部約定……。「そのまま全部約定した」と言い切れるのは実質1つだけで、残りの振り分けは完全に集計する側の裁量なんですよ。

2枚の集計表を並べて見比べている様子

「ちゃんと書いてある数字」はこう見える

じゃあ全部ダメなのかというと、そうでもないんですよ。参考までに、国内のFX会社が約定率99.9%と出すときの注記はこんな感じです。

POINT

調査期間(◯月◯日〜◯月◯日)/調査対象口座/調査対象注文(成行注文のみ。スリッページ設定された注文は除く)/調査対象システム/算出方法(成行注文のうち約定が成立した件数 ÷ 成行注文数)——ここまで書かれて、初めて「どう数えた99.9%なのか」が読めます。

この粒度で書いてあれば、少なくとも自分の取引がその母集団に入っているかは判断できるんですよね。逆に言うと、期間も注文種別もプラットフォームも書いていない数字は、自分に当てはまるかすら確かめられないということです。

注意

約定率には、もう一つ大きな死角があります。滑って約定した注文も「約定した」に数える会社が多いということです。不利な価格で約定しても、約定は約定なんですよね。つまり約定率が100%に近いことと、意図した価格で約定していることは、まったく別の話です。

「平均約定速度」は平均なのか中央値なのか

もう一つの数字、約定スピードの方もなかなか厄介なんですけど、こっちは分母というより統計量の選び方の問題です。平均を出すか中央値を出すかで、2社の優劣が普通にひっくり返るんですよ。

これも自分で計算してみました。A社とB社、どちらも1,000回の約定データがあるとします。A社は980回が38ms・20回が138ms。B社は950回が15ms・50回が800ms(指標発表時などに詰まるイメージ)。

平均 中央値 遅い方から1%
A社 40.00ms 38.0ms 138ms
B社 54.25ms 15.0ms 800ms

中央値で比べるとB社がA社の2.5倍速い。平均で比べると今度はA社がB社の1.36倍速い。遅い方から1%のところを見ると、A社がB社の5.8倍速い。同じデータなのに、どの統計量を選ぶかだけで結論が3回変わるんですよ。

そして普通、マーケティングページに載るのはその会社にとって一番よく見える1つだけです。B社が「中央値15ms」と出し、A社が「平均40ms」と出したら、読者はB社が2.5倍速いと受け取りますよね。でも約定が本当に効くのは指標発表みたいな混雑時、つまりこの表でいう右端の列なんです。そこではA社の方が5.8倍マシなんですよね。

時計はどこから回り始めるのか

速度についてはもう一点、見落としやすいところがあるんですけど、それは計測の起点がどこかという話です。

この手の数字の定義として世界で一番きちんと書かれているのは、たぶんEUの委任規則(EU)2017/575、通称RTS 27です。約定品質の開示様式を法令レベルで定めたもので、原文を読んでみたら約定速度はこう定義されていました。

アグレッシブな注文または気配の受諾が執行会場に到着してから、その全部または一部が約定するまでに経過した時間の平均および中央値(第7条2項(g))

ポイントは2つあって、まず「執行会場に到着してから」なんですよね。この数字には、あなたのPCからサーバーまでの通信時間が入っていません。手元のストップウォッチで測った体感とは構造的に別物なんですよ。もう一つは平均と中央値を両方出せと書いてあること。さっきの表みたいな逆転が起きるのを、作った側も分かっていたんだと思います。

RTS 27はこの調子で、価格・コスト・約定可能性を銘柄ごと・営業日ごと・3つのサイズ帯ごとに、四半期ごと機械可読な形式で公表しろと要求しています(第4条・第6条・第9条〜第11条)。価格だけでも1銘柄1四半期で数百個の数字になる分量なんですよ。業者のページにある「平均約定速度 0.0◯秒」という1個の数字とは、情報量の桁が違うんですよね。

そのRTS 27は、2024年に廃止されました

で、ここが一番おもしろいところなんですけど。この世界で一番真面目に作られた約定品質の開示制度、EU自身の手で廃止されています。

2021年の指令(EU)2021/338でいったん2年間停止され、2024年の指令(EU)2024/790で根拠条文ごと差し替えられました。理由は前文(6)にはっきり書いてあります。

それらの報告書はほとんど読まれておらず、投資家その他の利用者が、そこに示された情報に基づいて意味のある比較を行うことを可能にしていない

様式も、期間も、分母も、全部法令で揃えたうえで四半期ごとに機械可読で出させても、「意味のある比較はできなかった」というのが立法した側の結論なんですよ。この話を知ってから、私は業者のマーケティングページに載っている分母なしの1個の数字で優劣を判断するのを、きっぱりやめました。無理なものは無理なんですよね。

POINT

約定率の差を実感に変換すると、1日20回・年250営業日で5,000回発注した場合、99.9%なら年5回、99.0%なら年50回が約定しない計算になります。数字としては0.9ポイントの差でも、回数で見ると45回ぶんの違いなんですよね。だからこそ、その0.9ポイントが同じ定義で測られているかどうかが効いてきます。

じゃあ何を見ればいいのか

身も蓋もないんですけど、結論は「公開値からは分からないので自分の口座で測るしかない」です。幸いMT4/MT5の取引履歴には注文価格と約定価格、それぞれの時刻がミリ秒単位で残っているので、自分の銘柄・自分のロット・自分の発注タイミングという、自分にとって唯一正しい母集団で集計できるんですよね。手順は別記事にまとめてあります。

業者選びの段階では、約定率や約定速度の数字そのものより、約定方針書(Order Execution Policy)のような法定書類が公開されているかを見る方がよっぽど実りがあります。注文がどういう順序で処理されるのか、リクオートや価格のずれが出る条件は何か、といったことは、マーケティングページではなくこちらに書いてあるからです。

なお、約定周りの条件を自分で検証してみたい人は、口座タイプの選択肢が多い業者を1つ持っておくと比較しやすいです。Exnessはその点で試しやすい部類だと思います。

※本記事で挙げた約定率・約定速度の数値は、定義の違いによる変動を示すために私が用意した仮のデータに基づく自前計算です。特定の業者の実績を示すものではありません。各社の取引条件・約定方針は変更されることがあるため、最新の内容は必ず各社公式サイトでご確認ください。

FX取引はレバレッジを用いた取引であり、預けた資金(元本)を上回る損失が生じる可能性があります。本記事は情報提供を目的としたものであり、投資を勧誘するものではありません。取引を行う際は自己責任・余裕資金の範囲で行い、各社公式サイトで最新のリスク説明書・規約を必ずご確認ください。

まとめ

長くなったので要点だけ。

  • 約定率は分母で決まる。同じログから95.00%も100.00%も作れる
  • 滑った約定も「約定」に数えられることが多いので、約定率からスリッページは読めない
  • 約定速度は平均か中央値かで順位が逆転する。混雑時に効くのは平均でも中央値でもなく、遅い側の裾
  • 法令で定義まで揃えたEUのRTS 27ですら「比較できなかった」として廃止された

初心者の方は、ひとまず「約定率99.9%」みたいな数字を業者選びの決め手にしない、くらいで十分だと思います。中上級者の方は、公開値を眺めるより自分の履歴を集計した方が早いです。自分の母集団で出した数字だけが、自分の判断に使える数字なんですよね。