Execution Cost Audit
- ユーティリティ
-
Carlos Macaya Rodriguez
I build tools for MetaTrader 5 — trade and risk management utilities, panels, and diagnostics that work with the terminal's own data. - バージョン: 2.0
- アクティベーション: 10
自分のトレードに実際いくらかかっているのか、考えたことはありますか。Execution Cost Audit は、口座にすでにある決済済みの履歴を読み、こう答えます。各約定の瞬間に提示されていたスプレッド、各約定がどれだけ滑ったか、そしてその上に手数料とスワップがいくら加わったか。事前にインストールしておくものも、待つ時間もありません。読むだけで、注文を送ることは決してありません。
なぜ作ったのか
自分のトレードにいくらかかっているのかを知りたかったのですが、見つかるツールはどれも同じ答えでした。インストールして、数週間後にまた来てください、と。しかし履歴はもう口座にあったのです。すべての約定と、すべての価格とともに。各約定の瞬間のスプレッドは、ブローカーのティックアーカイブにありました。部品はすべて揃っていて、誰もそれを組み立てていなかっただけでした。
そこで、それを組み立てるものを書きました。チャートに載せると、すでにある決済済みの履歴を読み、各約定から一つひとつの往復取引を再構成し、ティックアーカイブを参照して、約定のミリ秒に何が提示されていたか、そして約定が注文の要求した価格からどれだけ離れたかを調べます。手数料とスワップは約定そのものから取ります。一分後には、直近九十日、あるいは直近一年、あるいはターミナルが記憶しているすべてが、いくらかかったのかが分かります。
注文を出すことも、変更することも、決済することもありません。コードのどこにも取引関数はなく、自動売買をオンにしておく必要もありません。
何を教えてくれるか
- スプレッド。各約定の瞬間に提示されていたそのままの値です。いま画面に出ている値でも、ブローカーの平均でも、M1 バーのスプレッド欄でもありません。M1 の欄は、スプレッドが広がった一分も含めて一分間を平均してしまいます。
- スリッページ。注文が要求したものと得たものとの差です。成行注文なら要求価格、ストップやリミットならその水準。符号は、正の数が常に不利を意味するよう揃えてあります。
- 手数料、諸費用、スワップ。往復取引ごとに、約定から直接。
- そして、ある約定についてティックアーカイブに何もなければ、そう伝えます。その約定は捏造されず、未計測のまま残り、レポートはそれが全体のどれだけだったかを示します。
四つのコストを混ぜない
やりがちな間違いがあります。スプレッド、スリッページ、手数料、スワップを足し合わせ、その全部を粗利益から引くことです。これは二重計上です。スプレッドとスリッページはすでに粗利益の中に入っています。あなたは Ask で買い、Bid で売ったからです。手数料とスワップはその上に課されます。レポートはこれらを分けて扱います。実際に口座に届いた金額と、その隣に、同じ取引が手数料もスワップもなく仲値で約定していたら得られたはずの金額を示します。コストを百分率で表すときは、この二つ目の数字が分母です。
スワップも同じ丁寧さで扱います。結果の中では差し引き後の値として表示され、その後、支払った分と受け取った分に分けて示されます。コストとして数えるのは支払った分だけなので、コストの各行を足せば必ず合計に一致します。
お金はどこへ行ったか
すべての数字を、銘柄別、エントリー時刻別、曜日別、セッション別、売買方向別、マジックナンバー別、そしてポジションの決済理由別に分解します。ストップロス決済のスリッページは別枠で報告します。驚きはたいていそこにあるからです。さらに、最もコストのかかった往復取引の上位十件と、摩擦コスト全体のうち最悪の一割にどれだけが集中しているかも分かります。思っているより大きいことが多く、そして変えられる何かを指し示しています。
ブローカーはあなたをどう約定させているか
ブローカーに問える三つのこと。どれも、あなたの戦略が良いかどうかとは無関係です。
1. スプレッドは安定しているか。提示スプレッドの 90 パーセンタイルを中央値と比べます。何も起きていないときにしか当てはまらない宣伝上のスプレッドは、ここで露わになります。
2. スリッページはどれだけ大きいか。その銘柄の典型的なスプレッドを基準に測るので、ゴールドの数ポイントと EURUSD の数ポイントが同じ扱いにはなりません。
3. 偏っていないか。動いた約定のうち、いくつが不利な方向に動いたか。いつも一方向にしか滑らない板は、遅延の問題ではありません。
この三つを合わせて 0 から 100 のスコアとアルファベットの等級にします。サンプルが足りない項目は除外し、残りを再配分するので、ブローカーがティックアーカイブを公開していない口座でも、約定に基づいて評価されます。
ポイントをお金に換える、自分をごまかさずに
よくある近道は現在のティック価値を使うことですが、それは今日の為替レートを四か月前の取引に持ち込んでしまいます。代わりに、決済済みの各ポジションが自分の実現損益から自分の換算係数を較正します。既知の距離を動き、既知の結果を計上したのですから、それがその瞬間にブローカーが適用した換算を、クロスレートも含めて明らかにします。ティック価値は、ほとんど動かなかったポジションのための予備に過ぎません。
何を除外したかを伝える
フィルターをかけたレポートは、完全なレポートとまったく同じに見えます。だからこそ、七十件の取引がある口座の四件だけを監査して、コストは問題ないと結論づけてしまう人がいるのです。このレポートは常に、監査した取引の期間、検索した期間、有効なフィルター、そしてその期間の外に決済済みの往復取引がいくつあるかを明記します。パネルでも、HTML レポートでも、CSV でも。
何が出てくるか
- チャート上のパネル。Overview、Symbols、Time、Quality、Method の五ページ。どの隅にも固定でき、チャートの高さに合わせて自動調整され、収まりきらないときはスクロールします。
- 単体で完結する HTML レポート。グラフは内蔵、外部ファイルなし。どのパソコンでも開け、きれいに印刷できます。ブローカーに送るにも、半年後の自分に送るにも向いています。
- 往復取引ごとに一行の CSV。UTF-8 とバイト順マーク、区切り文字は選択可能。ご自身の表計算ソフト用です。
買う前に試す
ストラテジーテスターには監査すべき口座履歴がありません。そこでテスターでは、ティックの流れの上に模擬的な取引セットを組み立て、代わりにそれを監査します。注文は一切送りません。スプレッド、判断から約定までの値動き、ストップロスの約定は、すべてその銘柄と期間についてブローカーが記録したティックから来ているので、約定に関する数字はそのブローカーのその銘柄を表しています。作り物なのは取引のスケジュールだけで、どの画面にもそう書いてあります。「実際のティックに基づいた全ティック」モデルを使ってください。OHLC モデルと始値モデルは約定のタイミングを測るには疎すぎるティックを生成し、そうなった場合、レポートは未計測のまま残した約定の数を示します。
便利な副作用もあります。任意の銘柄と期間に向ければ、口座を開く前に自問したかもしれない問いに答えてくれます。このブローカーでこの銘柄を取引していたら、いくらかかっていたのか、と。
必要なもの
MetaTrader 5、DLL 不要。ヘッジ口座でもネッティング口座でも、どの銘柄でも、どの時間足でも。スプレッドの計測には、取引した銘柄のティックアーカイブが必要です。ある銘柄で初めて実行するとき、ターミナルがティックをダウンロードする間、一分ほどかかることがあります。パネルとレポートはまだ欠けている銘柄の名前を示し、監査は数分間、自動で再試行します。
主なパラメーター
- 期間: 直近 N 日、任意の日付範囲、または利用可能な全履歴。
- フィルター: 銘柄(ブローカーのサフィックスの有無を問わず)、マジックナンバーとその範囲、売買方向、最小ロット。
- 計測: 気配値の検索ウィンドウ(ミリ秒)、約定ごとにスプレッドの半分か全部か、資金換算の自動較正か現在のティック価値か。
- セッション: サーバー時間でのアジア、ロンドン、ニューヨークの時間帯。日付をまたぐ設定も可。
- パネル: 隅、オフセット、フォントサイズ、色、自動更新の間隔。
- レポート: HTML と CSV の個別オンオフ、CSV の区切り文字、初回監査時のエクスポート、口座情報の非表示、レポートのフォルダーと名前のサフィックス。
- ストラテジーテスターのデモ: ロット、一日あたりの取引数、保有時間、想定手数料、ストップ距離。
限界、率直に
- 完全に決済された往復取引だけを数えます。未決済のポジションは往復の半分であり、半分の往復には計測すべき出口がありません。
- マーケット執行の口座では、注文に要求価格が付かないため、エントリーのスリッページは計測できません。レポートは空白を埋める代わりに、カバー率を示します。
- 一部のサーバーでは、成行注文が約定価格で記録されます。口座上のすべての成行約定がちょうどゼロのスリッページを示す場合、それらは完璧と評価されるのではなく未計測として扱われ、レポートはそう伝えます。
- スプレッドとスリッページは、アーカイブに記録されているものの計測であり、そのアーカイブはブローカーのものです。
- 約定の等級は約定を表すものであって、収益性ではありません。完璧なブローカーでも、負ける戦略を勝たせることはできません。
ご質問
レポートの中で辻褄が合わないものがあれば、製品のコメント欄で聞くか、MQL5 で私にプライベートメッセージを送ってください。どちらも読んでいます。説明のつかないレポートこそ、私が知りたい類のものです。
