✅プロフィットファクターは、総利益 ÷ 総損失により計算されます。
✅EAの性能を評価する上で、極めて重要な指標です。
✅しかし、ほとんどの投資家は、プロフィットファクターを正しく理解していません。
プロフィットファクターは高すぎても低すぎてもダメ!
プロフィットファクターが1以下なのはダメです。
これは、ほとんどの投資家が知っています。
しかし、プロフィットファクターが高すぎてもダメです。
これは、ほとんどの投資家が知りません。
非常に優秀なEAのプロフィットファクターの値は、1.2程度です。
プロフィットファクターが2.0を超えるようなEAはその評価自体を疑いましょう。
プロフィットファクターが高すぎるとダメな理由は2点あります。
- 最適化が過剰になっている
- トレードのサンプル数が少ない
それぞれの理由を順番に見ていきましょう。
過剰な最適化について
EAの開発過程では、パラメータを調節することで成績が良くなるようにします。
過去相場のデータ(ヒストリカルデータ)において、勝てるようにEAを調整するわけです。
この調整過程を最適化と言います。
パラメータの最適化が、過去相場全体に対して行われるなら良いのですが、
一つ一つのトレードに対して最適化が行われると、過度になりがちです。
このような過剰な最適化をオーバーフィッティングと言います。
オーバーフィッティングされたEAのプロフィットファクターは、2.0を超えることもあります。
むしろ、2.0を超えるプロフィットファクターを獲得するためには、オーバーフィッティングをしないと不可能だという理解で問題ありません。
トレードのサンプル数が少ない
最適化の過程で、負けトレードを行わなくするように調整する開発者がいます。
例えば、大きな負けトレードを消すために、トレードフィルターを入れます。
トレードフィルターを入れると、負けトレードを消すことはできるので、プロフィットファクターは改善します。
しかし、フィルターでは勝ちトレードを増やすことはできないので、全体のトレード数は減っていくことになります。
全体のトレード数が少ないと偶然性が高まります。
このようなEAは、ほぼ間違いなく勝てません。
トレード数が少なく、プロフィットファクターが2.0を超えるようなEAの信頼性は低いと言えます。
バックテストは適切に
プロフィットファクターは、EAのバックテストにより簡単に算出できる分、
適切なバックテストが実行される必要があります。
バックテストにおける重要なポイントは、次の3点です。
- テスト期間
- スプレッド
- トレード回数
- 勝率
バックテストのテスト期間
バックテストのテスト期間は10年以上で、金融イベントを含める必要があります。
トレード回数が多くても、1年間のバックテスト期間では信頼性の高いデータとは言えません。
金融イベントを経験しているデータかどうかも重要なポイントです。
スプレッド
スプレッドを狭くすると成績は良くなります。
スキャルピングEAでは、スプレッドを狭くして成績を良く見せている場合があります。
十分なスプレッドでテストしているかどうかは重要なポイントです。
- USDJPY = 1.2 pips
- EURUSD = 1.5 pips
- EURJPY = 2.0 pips
- GBPJPY = 4.0 pips
トレード回数・勝率
テストデータの偶然性を排除するためには、十分なトレード回数が確保されていないとなりません。
全体のトレード数、勝ちトレード数、負けトレード数、全てが重要です。
トレード数と勝率で勝ち負けのトレード数が決まるので、併せて考慮する必要があります。
参考記事
プロフィットファクターはEAの優劣を決する超重要指標なので、しっかりと理解しておく必要があります。
プロフィットファクターを制する者は、FX自動売買を制すると言っても過言ではありません。
プロフィットファクターについて詳しく知りたい方は、
FX blog エフログ24「【誤解が9割】プロフィットファクターの正しい考え方」をご参照ください。
教科書に書かれていないことまで解説しています。