OptiNod アカデミー

プロフィットファクター — ひとつの数字が隠す分布とサンプル数

高いPFにも少数の取引や大きな利益への依存が隠れます。実現損益、費用、未使用期間の結果を確認して比率を読み解きます。

プロフィットファクターが高いという事実だけでは、戦略を信頼することはできません。その数字を生んだ取引の分布もあわせて見る必要があります。


プロフィットファクター(Profit Factor、PF)は、決済済みの利益取引の合計を、決済済みの損失取引の合計の絶対値で割った値です。仮に100件の取引で総利益が1万ドル、総損失が5千ドルなら、PFは2.0です。1.0は集計対象の利益と損失が同額、1.0未満はそのサンプルと費用条件で損失が出たことを示します。2.0超が普遍的な合格基準になるわけではありません。未決済ポジションは含まず、総損失が0なら通常の有限の比率は定義できません。


この数字ひとつを戦略の成績表のように使いがちです。PF1.5の戦略と3.0の戦略を並べて、後者は2倍優れた戦略だと判断したり、最適化ツールでPFが最も高かったパラメータをそのまま採用したりします。高いPFは測定したサンプルで損失1単位に対する利益が多かったことを示しますが、将来の収益性や低リスクを保証するものではありません。


PFは比率です。分子と分母を作った取引数や、その分布をひとつの数字に圧縮します。200件でPF1.5と12件でPF3.0では調べるべき点が異なりますが、件数だけで信頼性の優劣は決まりません。大きな利益取引1件が総利益の大半を占める場合、それを除くとPFが1.0未満になることもあります。この記事では、PFが隠すサンプル数と分布を取り出して確認します。


ひとつのプロフィットファクターの裏に隠れた取引別損益の分布とサンプル数
ひとつのプロフィットファクターの裏に隠れた取引別損益の分布とサンプル数

最大利益取引を除くと、利益の集中度が見えます


最大利益取引を1件除いてPFを再計算すると、その取引への依存度を確認できます。これは感度の点検であり、戦略が幸運だけに頼っている、過剰最適化されている、実運用に不適切であると証明するものではありません。少数の大きな利益を狙う戦略もあります。


仮想のトレンドフォロー戦略を例にします。1年間で20回取引し、総利益は7,610ドル、総損失は1,950ドルとします。PFは7,610 / 1,950 = 3.902564、約3.90です。このうち強いトレンドを捉えた1件が6,200ドルを占めると仮定します。その1件を除くと、残り19件の総利益は1,410ドル、総損失は1,950ドルのままで、PFは0.723077、約0.72になります。この残りのサンプルは純損失です。数値は説明用の仮定であり、特定の銘柄や時期の実績ではありません。


元のPF3.90は1件の大きな利益に強く影響されています。再計算した0.72は、この仮想サンプルの残りの取引を表すだけで、別の年のPFを予測していません。20件のうち9件が利益なら勝率は45%ですが、その割合だけでは取引順序や各損失の大きさは分かりません。大きなトレンドを時折捉える戦略では、その機会が長期間現れない場合もあります。集計PFを毎月の安定収益と受け取る前に、その期間と資産曲線を確認します。


元のPF、最大利益取引を除いたPF、その取引が総利益に占める割合を記録します。除外後に1.0未満なら、残りのサンプルは損失です。ただし1.2を上回ることは頑健性の統計的な証明ではなく、大きく低下することも幸運だけで得た結果の証明ではありません。意図した損益構造、別の期間、大きな損失取引と併せて判断します。


取引が少ないと、少数の結果がPFを左右しやすくなります


仮に8件でPF2.5、300件でもPF2.5なら、得られる情報量は異なります。取引が少ないほど、例外的な1件に結果が支配されやすくなります。取引数を増やすことは分布の把握に役立ちますが、同じ値動きを繰り返し反映するだけでは、件数に比例して独立した情報が増えるとは限りません。


仮に8件の総利益が1,450ドル、総損失が500ドルならPFは2.90です。先ほどの3.90より低い数字ですが、どちらも信頼性を単独で示しません。600ドルの損失を1件加えると総損失は1,100ドルになり、PFは1,450 / 1,100 = 1.318182、約1.32まで下がります。この変化を決めるのは、追加損失の額がそれまでの総損失に対してどれほど大きいかであり、取引件数に占める割合だけではありません。


300件あっても、十分に大きな損失が1件加わればPFは大きく変わります。100件や200件で安定した信頼区間が得られる、30件が統計的な境界になる、といった普遍的な基準はありません。取引間の依存、ポジションサイズの変化、市場環境、まれな大きな損益も影響します。取引数と不確実性を併記し、区間推定を使う場合はその前提も示します。


頻繁なエントリーは取引件数を増やしても、同じ割合で独立した証拠を増やすとは限りません。取引が少ない戦略では観測期間を延ばす方法がありますが、その分だけ異なる市場環境も含まれます。全期間の結果を残しつつ、期間や環境ごとにも確認します。目標件数を満たしただけで検証を終えたり、PFが高い期間だけを選んだりしないことが大切です。


8件のうち損失取引が4件なら、PFの分母はその4件で決まります。大きな損失がさらに1件加わると、分母が急増することがあります。他の条件が同じなら、既存の総損失が大きいほど、同額の追加損失による割合の変化は小さくなります。ただし、これだけで安定性は保証されません。まれな巨大損失や相関の強い取引は、件数が多くても重要です。


取引を1件加えたときのPFの変化は、既存の総利益と総損失に依存する
取引を1件加えたときのPFの変化は、既存の総利益と総損失に依存する

取引コストを反映する前のプロフィットファクターは別の数字です


PFを解釈する前に、手数料とスリッページの設定を確認します。同じ約定に正の費用がかかる場合、その費用を省いた成績は有利に見えます。影響の大きさは、取引回数とサイズに加えて、個々の損益に対する費用の割合で変わります。 TradingViewの総利益・総損失には設定済みの手数料が反映されるため、同じ手数料を二重に差し引かないようにします。総利益と総損失の定義も確認してください。


仮想のスキャルピング例として、200件のうち104件が各120ドルの利益、96件が各90ドルの損失とします。勝率は52%、費用前の総利益は12,480ドル、総損失は8,640ドルで、PFは1.444444です。約定を変えず、全取引に固定の往復費用35ドルを課すと仮定します。利益取引は各85ドル、損失取引は各125ドルとなり、PFは(104 × 85) / (96 × 125) = 8,840 / 12,000 = 0.736667、約0.74です。このサンプルは費用を入れると純利益から純損失に変わります。


この例の35ドルは、費用前の平均利益120ドルの約29.2%です。重要なのは取引損益に対する費用であり、頻度だけでPFの変化は決まりません。適用される手数料と妥当なスリッページで再計算し、不利な費用条件も確認します。費用で小さな利益が損失に変わる取引は、費用後の損益で分類し直して集計します。費用0の結果は同じ約定に対する楽観的な比較であり、約定や機会自体が変わり得る将来の実運用成績の上限を保証するものではありません。


取引コストを反映するとプロフィットファクターが1.0を割り込む過程
取引コストを反映するとプロフィットファクターが1.0を割り込む過程

PFを勝率のオッズと実現平均損益比に分解します


プロフィットファクター1.5という数字だけでは、その戦略がどのような性格なのかは分かりません。同じプロフィットファクターが、正反対の2つの戦略から出ることがあるためです。


Wを損益0の取引を除いた決済済み取引の勝率、Rを同じ費用条件での平均利益 / 平均損失の絶対値とすると、PF = [W / (1 − W)] × Rです。これは実現した平均損益の比率であり、エントリー前に設定する目標リスクリワード比ではありません。この式のWからは損益0の取引を除きます。全取引に対する勝率と負け率を使う場合は、W / (1 − W)の代わりに勝率 / 負け率を使います。仮に勝率35%、Rが3.0ならPFは1.615385、約1.62です。勝率70%、Rが0.6ならPFは1.40です。近いPFでも取引の体験は異なり得ます。


前者では損益0を除いた取引の65%が損失で、平均利益は平均損失の3倍です。後者では30%が損失ですが、平均損失は平均利益の約1.67倍です。これらの平均だけでは、連敗の長さ、すべての損失がストップによるものか、極端な損益の大きさまでは分かりません。許容できるドローダウンや連敗を判断する前に、実際の取引順序と分布を調べます。


PFを見るときは、同じレポートの勝率、実現平均利益・平均損失、それぞれの分布を併せて確認します。同じPFなら、低い勝率には損失に対して大きい平均利益が必要ですが、必ずしも1件だけへの依存を意味しません。小さな平均利益を高い勝率で積み上げる場合は、損失の大きさやまれな巨大損失に注目します。数値を普遍的な合否基準にせず、戦略の構造を調べる手掛かりとして使います。


近いPFでも勝率と実現平均損益比の組み合わせは異なる
近いPFでも勝率と実現平均損益比の組み合わせは異なる

最適化の評価には探索に使わなかったデータが必要です


PFの最大化を目的とした最適化では、試した組み合わせの中で最も高い比率が選ばれます。同じ過去サンプルで選択するため、有効なパターンに加えて、そのサンプル固有の偶然も結果に含まれ得ます。探索範囲と試行数を記録し、候補を選ぶ前に未使用の評価データを確保します。


仮想の移動平均クロスの探索で、2つの期間をそれぞれ5から200まで取ると、短期 < 長期などの制約を適用する前の組み合わせは196 × 196 = 38,416通りです。多数の組み合わせを試すと、偶然有利だった過去成績を選ぶ機会も増えます。選ばれたPFが高ければ、選択の偏り、パラメータへの感度、未使用期間の結果を調べます。その高さだけから、将来のPFが特定の値になるとはいえません。


時系列に沿って前半70%をパラメータ選択、後半30%を評価用に残す方法は一例であり、普遍的な分割比率ではありません。評価結果を見る前にパラメータと判定基準を固定し、残したデータを見て再調整した結果を未使用データでの検証と呼ばないようにします。仮にPFが3.5から1.1に低下したら、過剰最適化、市場変化、費用、標本の不確実性を調べますが、低下だけで原因は確定しません。似たPFが出ることも、それだけで妥当性の証明にはなりません。近隣パラメータと事前に決めた別の評価期間も確認し、評価結果を見てモデルを変えた場合は、新しい未使用データで確かめます。


プロフィットファクターを信頼する前に通すチェック


プロフィットファクターだけを見て戦略を採用すると、ここまで見てきた落とし穴にそのままさらされます。レポート上のプロフィットファクターを信頼する前に、次の項目を順番に確認します。


  • サンプルと依存: 利益・損失・損益0の件数、観測期間、取引間の依存、極端な損益を記録する。固定の件数だけでは信頼性は証明できません。
  • 利益の集中: 最大利益取引を除いてPFを再計算し、その取引の総利益に対する割合を記録する。普遍的なPF基準を設けず、戦略の構造に照らして解釈します。
  • コスト反映: 手数料とスリッページ、費用後に利益・損失の分類が変わる取引を確認する。複数の妥当な費用条件を比べます。
  • 勝率のオッズと実現損益比: PF、勝率、実現平均利益・平均損失のサンプルと費用条件をそろえる。事前の目標値と実現値を区別します。

これらの点検は比較に必要な情報を増やしますが、戦略の認定基準ではありません。データ、費用、ポジションサイズの前提、未使用の評価期間をそろえ、PFと併せて不確実性やドローダウンを比較します。


プロフィットファクターの信頼度を検証する2つの補助チェック


さらに2つの見方で、集計PFに隠れたリスクを調べます。


1つ目は、年別・四半期別のPFを取引数と総利益・総損失と併せて見ることです。仮想の5年間の成績で、大半の利益が強いトレンドのあった1年に集中する場合があります。その年を除く計算は期間への依存を調べるもので、過剰最適化の証明ではありません。依存が戦略の仕組みと整合するか、他の未使用期間にも見られるかを確認します。全体PFは年別PFの単純平均では求まりません。各期間の総利益と総損失を合計してから割ります。


2つ目は、最大ドローダウンと、資産が直前の最高値を下回っていた期間です。PFには取引順序や資産減少の深さが含まれません。例としてPF2.5・過去のドローダウン15%と、PF3.0・ドローダウン45%ではリスクが異なりますが、この2組の数値だけで全員に適した戦略は決まりません。サイズ、レバレッジ、継続期間、事前に定めた損失許容範囲を比較し、将来は過去より深いドローダウンも起こり得ることを織り込みます。分布と資産曲線を確認して、次の検証へ進めるかを判断します。


一次資料と数値例の前提



本文の数値例は仮定による計算であり、検証済みの戦略実績ではありません。各点検は診断の手段であり、普遍的な統計上の合格基準ではありません。

自分のバックテストを点検する

最適化結果のCSVやTradingView戦略の取引一覧を読み込むと、成績指標と頑健性のチェック結果をまとめて表示します。ログインしなくても分析できます。

結果ファイルを分析する 分析サンプルを見る