プロフィットファクターが詳しく分かる!失敗しない使い方とは?

2021年10月30日

プロフィットファクターの要点

*本記事は法律で認められた金融庁登録業者により書かれています。

プロフィットファクター = 総利益 ÷ 総損失 で計算されます。
EA評価の指標として必要不可欠であり、優秀なEAを見つけるために必須です。
しかし、Webにあふれる説明では実運用に耐えられず、中途半端です。
トレードをしないFXマーケッターが同じことを書いているだけだからです。
本記事に書かれている内容を知らないと、FX自動売買(EA)では勝てません。
プロフィットファクターの解釈には確定的な正解がないため、経験とノウハウが必要です。
このブログ記事では、当社が10年以上前から蓄積してきたノウハウの一部を公開します。
本記事を読むと、プロフィットファクターの正しい考え方が分かります。
プロフィットファクターの理想的な値は、概ね1.2~1.6の間にあることが多いです。
記事の信頼性担保

【執筆】株式会社トリロジー
【登録】財務省近畿財務局長(金商)第372号
【加入】日本投資顧問業協会 会員番号022-00269
【加入】金融リテラシー協会 会員番号100-6001
【説明】投資家の皆様への継続支援を通じて金融立国に貢献します。

本記事では、下記の目次の内容を記載します。

プロフィットファクターの基本と計算方法

プロフィットファクター(Profit Factor(PF))は、総利益が総損失の何倍であるかを示します。

FX自動売買システム(Expert Advisor(EA))の性能評価に利用される指標です。

なお、投資家が気にする合計損益(口座残高の増減)は総利益と総損失の差です。プロフィットファクター、損益、総利益および総損失の関係を表1に示します。

プロフィットファクター
総利益 ÷ 総損失
口座の損益
総利益総損失
総利益
(勝ちトレード合計)
総損失
(負けトレード合計)
5.04万円5万円1万円
2.0250万円500万円250万円
2.0100万円200万円100万円
2.050万円100万円50万円
1.5100万円300万円200万円
1.00円100万円100万円
0.5ー100万円100万円200万円
0.2ー4万円1万円5万円
表1 プロフィットファクターの計算例

表1から分かるように、プロフィットファクターが1より大きいと利益、小さいと損失を生みます。

しかし、【プロフィットファクターが大きい ≠ 利益が大きい】ということが分かります。

これは、口座の損益は、ロット数(レバレッジ)と相関するためです。ロット数に比例して、総利益と総損失は増減し、その差である合計損益も増減します。

つまり、利益を増やしたければロット数を増やせばよく、そのかわり損失(リスク)も増えます。このような点から、利益額はEAを評価するうえで重要ではないことが分かります。

一方、プロフィットファクターは操作できない(EAごとに決まっている)ため、EAの性能を評価するために重要な指標であると言えます。

MT4のバックテスト結果(Strategy Tester Report)では、図1になります。

MT4に示されるプロフィットファクター
図1 MT4に示されるプロフィットファクター

と、ココまでが、どこにでもあるプロフィットファクターの説明です。

プロフィットファクターが高ければ優秀なEAと言える?

では、プロフィットファクターがそれぞれ、「3.0」「2.0」「1.5」のEAがあるとします。

EAの性能は「3.0」「2.0」「1.5」の順番に優秀と言えるでしょうか?
どのくらいのプロフィットファクターがあれば、優秀なEAと言えるのでしょうか?

結論としては、プロフィットファクターの値の大小だけで、EAの優劣が決まるわけではありません。プロフィットファクターは、トレード数に応じて値の信頼性が変わるからです。

プロフィットファクターの正しい考え方【9割が知らない話】

9割が知らないと書きましたが、おそらく9割9分の人が知らない内容をココから説明します。

プロフィットファクターはEAが持つ絶対的な値です。パラメータやロジックを変えない限り、変動することはありません。

しかし、バックテストの期間を変えると、プロフィットファクターも変わります。大きく変わるEAもあれば、変化が小さいEAもあるでしょう。

これは、無限(∞)のトレード数をこなさない限り、プロフィットファクターは、そのシステムの持つ絶対的な真の値に収束しないことが理由です。イメージを図2にお示しします。

プロフィットファクターとトレード回数
図2 プロフィットファクターとトレード回数

つまり、∞のトレード回数で検証しない限り、そのEAのプロフィットファクターの真の値は分からず、性能の確定的な評価はできないということになります。

しかし、それでは、実運用において現実的ではありません。

そこで、信頼水準(確度、確かさ)を前提に、トレード回数とプロフィットファクターの幅を計算することになります。

どのくらいのプロフィットファクターなら勝てるのか?

例えば、【プロフィットファクター = 1.0】のEAが「95%の信頼水準」でとりうる上限と下限のプロフィットファクターを表2に示します。真のプロフィットファクターが1.0のEAでも、トレード数に応じて取りうる値には幅ができます。(計算式は複雑であるため割愛します。)

PFの下限トレード数PFの上限
0.39202.56
0.47302.11
0.53401.90
0.57501.77
0.60601.68
0.62701.61
0.64801.56
0.66901.52
0.671001.47
0.762001.32
0.845001.19
0.881,0001.13
0.922,0001.09
0.955,0001.06
0.9610,0001.04
「プロフィットファクター(PF)=1.0」の自動売買システムが
「信頼水準=95%」において取りうる値の上限と下限

【プロフィットファクター=1.0】のEAは、トレード回数を重ねることで、プロフィットファクターが1.0に近づいていくことが分かります。

例えば、10,000トレードを重ねると95%の信頼水準で、0.96~1.04の幅に収まります。一方で、トレード回数が少ないとその幅は広くなります。50トレードでは、0.57~1.77という幅です。

つまり、50トレードくらいで得られた【プロフィットファクター=1.77】というスコアは、【プロフィットファクター=1.0】のEAがたまたま出したスコアかもしれません。

トレードサンプルが少ないと、EAの性能とは別次元でプロフィットファクターのバラツキは大きくなるのです。

例えば、1,000トレードのEAであれば、プロフィットファクター>1.13でないと、95%の信頼水準で勝てるだろう(つまり、プロフィットファクター>1)とは言えません。

この表は、信頼水準=95%でプロフィットファクターが取りうる幅ですが、幅を狭くするなら信頼水準を下げる必要があります。信頼水準を高くすれば、幅は広くなります。高い信頼水準で幅を狭くするには、トレード回数を増やすしかありません。

次に、信頼水準、トレード回数、プロフィットファクターの3者を組み入れた表をお示します。

トレード回数と信頼水準から計算されるプロフィットファクター
表3 トレード回数と信頼水準から計算される
【プロフィットファクター=1.0】のEAが取りうる値

例えば、【トレード回数=1,000】【プロフィットファクター=1.15】のEAであれば、95%の信頼水準で【プロフィットファクター>1.0】と言えるでしょう。なぜなら、【プロフィットファクタ=1.0】のEAが95%の信頼水準で取りうる値の上限は、1.13だからです。

逆に、【トレード回数=100】のEAが95.0%の信頼水準で【プロフィットファクター>1.0】と言うためには、【プロフィットファクター>1.49】が必要であるということになります。

と、ココまでが、教科書レベルの内容で、総トレード回数とプロフィットファクターの信頼水準について、説明しました。

なお、【プロフィットファクター>1.0】であっても、リアルトレードで勝てるとは限りません。

リアルトレードでは、未約定、スリッページ、スプレッドの急拡大など、バックテストでは考慮できない不利な要因が存在するためです。

これらをプロフィットファクターで考慮するためには経験が必要になります。

プロフィットファクターの発展的な使い方【オリジナル】

ココからは教科書を離れ、私どもの経験に基づいたお話です。

総トレード数】=【勝ちトレード数】+【負けトレード数】です。

よって、得られたプロフィットファクターの確度(信頼度)は、【勝ちトレード数】と【負けトレード数】にも影響されると考えるべきです。

つまり、プロフィットファクターの確度(信頼度)を図るためには、【総トレード数】だけでなく、【勝ちトレード数】と【負けトレード数】も考慮した新たな指標が必要なはずです。

例えば、【総トレード数=100】【プロフィットファクター=1.5】のEAでも、【10勝90敗】【50勝50敗】【90勝10敗】の3者が同じ性能であるとは誰も言えないはずです。

また、同じトレード数でも、【1分足】と【日足】のEAでは、その確度(信頼性)が大きく異なると考えられます。当然、【日足】の方が【1分足】よりも確度は高いでしょう。

プロフィッタファクターの信頼性は、トレード回数や判定時間軸の影響を受ける
【発展】プロフィットファクターの正しい考え方

このような考え方は、金融の論文では、【Adjusted Profit Factor】という指標をもって議論されます。【Adjusted Profit Factor】に教科書的な解釈はなく、各投資家が自身の経験を踏まえて独自の基準を設けて判断することになります。

【Adjusted Profit Factor】を適切に使えば、過剰最適化(オーバーフィッティング)に陥っているEAはほぼ確実に排除できるでしょう。

私どもの【Adjusted Profit Factor】の考え方については、有料e-book(2,160円)「自動売買システム(EA)の評価方法について【Upper class】オプティマイゼーション vs カーブフィッティング」をご参照ください。本ブログで説明しようかと思いましたが、すでにご購入いただいている方が多数おられますので、ココでの説明は割愛します。

自動売買システムの評価方法【Upper Class】
FX自動売買システムの評価法について【Upper Class】

このe-bookには、実際のトレードを想定した【Adjusted Profit Factor】の考え方だけでなく、モンテカルロ法を使ったEA評価、EA開発に必須の工程であるオプティマイゼーション(最適化)についても記載しています。

モンテカルロ法を使えば、具体的な信頼水準で取りうる利益とドローダウンが分かるだけでなく、視覚的にEAを評価できます。

Monte Carlo Chart
モンテカルロ法による資産曲線のシミュレーション結果

オプティマイゼーションの考え方については、EA開発者サイドも参考にしていただけると思います。以下の目次です。

e-bookの目次
自動売買システムの評価方法【Upper Class】の目次

理想的なプロフィットファクターはどのくらいか?

プロフィットファクターは高すぎても低すぎてもNGです。では、理想的なプロフィットファクターとはどのくらいでしょうか。

私ども経験上、理想的な値は1.2~1.6の範囲にあると思います。

これは、十分なトレード数を確保している前提です。

ちなみに、

2.0以上は、過剰最適化(オーバーフィッティング)に陥っています。

1.1未満は、スリッページや未約定の影響により、利益が出ない懸念が高まります。

Webでは、理想的なプロフィットファクターとして、2.0を超える値を提示しているケースが散見されます。しかし、為替相場にはプロフィットファクターが2.0を超えるような優位性は存在しません。これは、長年トレードをしている人間は誰でも知っています。

プロフィットファクターが2.0を超えるEAとは、神が持つ聖杯か、トレードをしていないFXマーケッターやプログラマーの作品です。

プロフィットファクターの弱点はドローダウンを反映できないこと

プロフィットファクターを使えば、高い信頼性をもってトレードロジックの優劣を判定可能です。しかし、弱点もあります。

それは、プロフィットファクターは総利益と総損失から計算されるという特性から、ドローダウンを反映しないことです。口座はロスカットギリギリのドローダウンに遭遇しているのに、プロフィットファクターは正常という事態がありえます。

このような理由から、ベッティングルール(ナンピン、マーチンゲールなど)の入っているトレードロジックの場合は特に、プロフィットファクターでは正しい評価ができないことに注意しましょう。

【業界初】あなたのEAを点数化!

プロフィットファクターの考え方を使って、あなたのEAを点数化することができます。

詳しくは、「【EA採点ツール】「EAスコア」でFX自動売買を点数化!【業界初】」をご参照ください。

プロフィットファクターの正しい考え方(まとめ)

  • プロフィットファクターは、EA評価の重要指標
  • 総トレード数、勝トレード数、負トレード数に応じて、得られたプロフィットファクターの信頼度は異なる。

広告