バックテストのスプレッド設定で成績はどれだけ変わるか|1トレードの平均利益が許容コストの上限

投資・トレード

はじめに

EA(Expert Advisor。MT4/MT5などで使われる自動売買プログラム)のバックテスト結果には、ロジックだけでなくどのコスト条件で計算したかが含まれています。

同じロジック、同じ期間、同じ通貨ペアでも、スプレッドを0.3pipsで計算するか1.3pipsで計算するかで、出てくる成績表は別物になります。

では、その差はどのくらいなのでしょうか。

結論を先に書きます。1トレードあたりの平均利益が、そのまま「あと何pips分のコスト増に耐えられるか」の上限になります。平均利益が1pipsしかないEAは、スプレッドが1pips広がった時点で損益トントンまで落ちます。

この記事では次の3点を見ていきます。

  • コストが成績にどう効くのか(プロフィットファクターの変化を数字で)
  • 許容できるコストの上限が「1トレードの平均利益」と一致する理由
  • 販売ページの数字から、その余裕を逆算する手順

コストは全トレードから同じだけ引かれる

取引コストの特徴は、勝ちトレードにも負けトレードにも等しく効くことです。

1回あたりのコストを c とすると、勝ちトレードの利益は c だけ小さくなり、負けトレードの損失は c だけ大きくなります。片側だけが悪化するのではなく、両側から挟まれる形になります。

プロフィットファクター(PF)で書くと、こうなります。勝率を p、1回あたりの平均利益を W、平均損失を L として、

\(PF = \frac{p(W – c)}{(1-p)(L + c)}\)

分子が減ると同時に分母が増えます。だから、コストの影響は見た目の印象より大きく出ます。

数字で見る:1pipsで何が起きるか

勝率60%・平均利益と平均損失がどちらも同じ、という条件でPFを計算すると次のようになります。

追加コスト 平均5pips型 平均10pips型 平均20pips型
なし 1.50 1.50 1.50
0.5pips 1.23 1.36 1.43
1.0pips 1.00 1.23 1.36
2.0pips 0.64 1.00 1.23
4.0pips 0.37 1.00

出発点のPFは3つとも1.50で同じです。それでも、1pipsのコスト増で平均5pips型は損益トントンまで落ち、平均20pips型はまだ1.36を保っています。

同じPFでも、1トレードの値幅が小さいEAほどコストに弱いということです。スキャルピング型が特に影響を受けやすいと言われるのは、この構造によります。

許容できるコストは、平均利益そのもの

上の表で、PFがちょうど1.00になるコストを見てください。平均5pips型は1.0pips、平均10pips型は2.0pips、平均20pips型は4.0pips です。

これは偶然ではありません。PF = 1 となるコストを \(c^*\) とすると、

\(c^* = pW – (1-p)L\)

右辺は、1トレードあたりの平均損益そのものです。

つまり、成績が崩れるコストの水準を知るのに、複雑な計算は要りません。1トレードで平均いくら残っているかが分かれば、その額がそのまま余裕の大きさです。平均利益を上回るコストが乗った瞬間、そのEAの優位性は消えます。

言い換えれば、バックテストの平均利益は「利益の大きさ」であると同時に「コスト変動への耐性」でもあるわけです。

販売ページの数字から逆算する

この計算に必要なのは、総損益と取引回数の2つだけです。どちらも成績表に載っていることが多い数字です。

USDJPY を 0.1ロット(1万通貨)で運用する場合、1pips はおよそ100円です。これを使うと次のように読めます。

総損益 取引回数 1回あたり pips換算 耐えられるコスト増
100万円 500回 2,000円 20.0pips 20pips
60万円 1,500回 400円 4.0pips 4pips
30万円 3,000回 100円 1.0pips 1pips
20万円 5,000回 40円 0.4pips 0.4pips

上の2つは、スプレッドが多少広がっても成績の形は保たれます。下の2つは、実口座のスプレッドがバックテストより1pips広いだけで、損益がひっくり返る領域です。

総損益が大きいことと、コストに強いことは別だという点に注意してください。表の一番下は総損益20万円ですが、余裕は0.4pipsしかありません。総額ではなく1回あたりに割り戻すと、見えるものが変わります。

スプレッド以外に効くもの

コストとして計上されるのはスプレッドだけではありません。

スリッページは、注文時に想定した価格と実際に約定した価格のズレです。バックテストでは指定した価格でそのまま約定しますが、実口座では指標発表時や早朝の薄い時間帯にズレが出ます。手数料が別建ての口座タイプなら、それも1回ごとに加算されます。

これらは合計して1トレードあたりのコストになるので、上の \(c^*\) と直接比較できます。スプレッド0.5pips・スリッページ0.3pips・手数料0.2pips相当なら、合計1.0pips です。

なお、バックテストで固定スプレッドを使っているか変動スプレッドを使っているかでも結果は変わります。固定で計算した場合、スプレッドが拡大する時間帯の不利がまったく反映されません。

確認の手順

販売ページを見るとき、次の順で確認すると整理しやすくなります。

  1. バックテストのスプレッド設定が書かれているか — 数値の記載がなければ、そこを質問する
  2. 固定か変動か — 固定なら、拡大時間帯の影響は含まれていない
  3. スリッページと手数料の扱い — 「考慮なし」なら、その分を自分で上乗せして読む
  4. 総損益 ÷ 取引回数 — 1回あたりの平均利益を出し、それを余裕の大きさとして読む
  5. 想定ブローカーの記載 — 前提とする口座環境が自分の口座と違えば、コストも変わる

コスト条件が書かれていないEAが問題だ、という話ではありません。書かれていない場合は、成績を幅を持って読む必要があるというだけのことです。上の4番で余裕が1pips前後だと分かれば、その幅がどれだけ重い意味を持つかも同時に分かります。

取引回数とセットで見る

もう一点だけ補足します。1回あたりの平均利益は、取引回数が少ないと当てにならない数字です。

30回の取引で計算した平均利益は、大きな勝ちが1回混じっているだけで大きく変わります。コスト耐性を見るときも、その平均が何回分から出た数字なのかを合わせて確認したいところです。

コスト条件と取引回数は、どちらも「バックテストとフォワードの乖離」を生む代表的な要因です。片方だけを見て安心しないほうが、判断を誤りにくくなります。

まとめ

  • 取引コストは勝ちトレードと負けトレードの両方に効くため、PFへの影響は見た目より大きい
  • PFが1.00まで落ちるコストの水準は、1トレードあたりの平均損益と一致する
  • したがって「総損益 ÷ 取引回数」が、そのまま耐えられるコスト増の上限になる
  • 総損益が大きくても、取引回数が多ければ1回あたりの余裕は小さい
  • スプレッド・スリッページ・手数料は合算して比較する。固定スプレッドでの検証は拡大時間帯を含まない

関連記事

確認手順を手元に置きたい方へ

コスト条件を含む確認項目は、筆者が作成した無料PDF「EA販売ページ 5分チェックリスト」(GogoJungle・0円)に、記入式のチェック表と販売者への質問テンプレート6問としてまとめています。

1回あたりの損失感度や取引回数と合わせてPFを読む手順は「「プロフィットファクター 7.8」をどう見るか?」で、試行回数による成績の膨らみを統計的に補正する方法は「「シャープレシオ 4.51」は高いのか?」で扱っています(いずれも筆者作成のPDF教材です)。

※本記事は特定のEA・商品の購入可否を示すものではありません。数値例はすべて説明のための架空の例です。最終的な投資判断はご自身の責任で行ってください。

コメント

タイトルとURLをコピーしました