研究所TOP / 検証記録 / プロフィットファクターと取引数
入門 — 実測で読むバックテスト 07 測定データ公開

プロフィットファクターは、
何回の取引で信用できるか

バックテストで PF 1.8 が出た。30取引。これは実力でしょうか、それとも偶然でしょうか。 答えを出すために、実力が確実にゼロの売買(ランダムな時刻に、ランダムな方向で建てる売買)を 実際の為替データで18万件つくり、取引数ごとに PF がどこまでばらつくかを測りました。 コストを引いた後でも、30件なら PF 1.5 以上が 11% の確率で出ます。 100本試して一番良いものを選べば、50件で PF 2.30 です。 取引数別の目安表と、私たちの研究で実際に起きた「PFの崩壊」の記録をあわせて公開します。

データ USDJPY / EURUSD / GBPJPY 1分足 期間 2020–2025 取引プール 18万件(ペア×出口規則ごとに6万件) 研究ID MEAS-2026-001
実力ゼロ・30件で PF≥1.5
11%
往復1.5pip控除後。10本に1本は偶然で合格する
100本試した最良(50件)
PF 2.30
何も無いところから、最適化だけで作れる数字
本物(真のPF1.2)が負けて見える
28%
100件の時点。300件でも16%

01PFは「何件の取引で出た数字か」とセットでしか読めない

プロフィットファクター(PF)は、総利益を総損失で割った数字です。1を超えれば利益が損失を上回っています。 定義はこれだけで、基本の読み方は別の記事にまとめました。

この記事で扱うのは、その先の問題です。PF は取引数が少ないほど大きく振れます。 10回コインを投げて7回表が出ても、そのコインが歪んでいるとは言えません。PF も同じで、 30件の取引で出た PF 1.8 は、実力がゼロでも一定の確率で出ます。問題は「その確率がいくらなのか」を、 ほとんどの人が知らないまま判断していることです。

そこで、確率を実際に測りました。理屈で近似するのではなく、実際の為替の値動きの上で、 実力がゼロであることが確実な売買を大量に作って、そのPFがどう散らばるかを数えています。

02実験:実力がゼロの売買を18万件つくる

  1. 時刻と方向をでたらめに決める。2020〜2025年の月曜から木曜のうち、UTC 0時〜21時の1分を無作為に選び、買いか売りかも50%ずつで決めます。未来を見る余地がないので、この売買の実力は定義上ゼロです。
  2. 4種類の決済ルールで閉じる。60分で決済/利確20pip・損切り20pip/利確10・損切り30(勝率が高くなる型)/利確30・損切り10(勝率が低くなる型)。
  3. コストを引く。往復 0pip(コスト前)、1.5pip(ECN口座の相場感)、3.0pip(スタンダード口座の相場感)の3水準。
  4. N件ずつ束ねて「1本の戦略」とみなす。N = 10〜1000件の各サイズで2万本ずつ作り、それぞれのPFを計算します。

通貨ペアは USDJPY・EURUSD・GBPJPY、各ペア×各ルールで6万件、合わせて18万件の取引を作りました。 コストを引く前の平均損益は、どのルールでもほぼ0pip(−0.10〜+0.05pip)で、狙いどおり「何もない」売買になっています。

まず知っておくべき事実

実力ゼロの売買に往復1.5pipのコストを乗せると、母集団としての真のPFは 0.76〜0.85 です(60分保有で0.76)。 勝率75%になる「利確10・損切り30」でも PF は 0.81。勝率が高いことと、PFが1を超えることは別の話です。

0330件の PF 1.5 は、およそ10本に1本は偶然で出る

真のPFが0.76しかない売買でも、取引数が少なければ大きな数字が出ます。

実力ゼロの売買の取引数別PF分布
図1:実力ゼロの売買(60分保有・往復1.5pip控除後)を N件ずつ束ねたときのPFの分布。帯は90%の範囲と半分の範囲、線は中央値。赤字は PF1.5 以上に見えた割合。30件では11%、50件では6%が、偶然だけで PF1.5 を超えます。
表1:実力ゼロの売買が「良いPF」に見える確率(往復1.5pip控除後)。上段は60分保有、下段は利確20・損切り20pip。損益が上下対称なルールほど、偶然のPFは小さく収まる。
取引数PF≥1.3PF≥1.5PF≥2.0PF≥1.5(利確20/損切り20)
10件28.0%23.7%16.1%17.7%
20件21.8%16.2%8.2%12.4%
30件16.7%11.3%4.4%5.7%
50件11.1%6.3%1.6%2.8%
100件4.2%1.7%0.1%0.3%
200件0.8%0.1%0.0%0.0%
300件0.2%0.0%0.0%0.0%

読み方の例です。「30件で PF 1.5」という結果を10本持ってきたら、そのうち1本は中身が空でも不思議ではありません。 逆に、200件を超えるとコストを乗せた実力ゼロの売買が PF 1.3 を超えることはほぼ無くなります。 表の数字は決済ルールによって変わり、利益と損失が上下対称なルール(利確20・損切り20)のほうが偶然の振れは小さく出ました。

04最適化とは、「実力ゼロの戦略を何本も試すこと」に近い

表1は「1本だけ試した場合」の確率です。実際のバックテストでは、パラメータを変えて何十通り、何百通りと試し、 一番良いものを選びます。この「選ぶ」という操作が、偶然をさらに大きく見せます。

K本の中から最良を選んだときのPF
図2:実力ゼロの戦略を K本試して最良のPFを選んだときの中央値(60分保有・往復1.5pip控除後、2,000回反復)。50件の戦略を100本試せば、最良のPFは中央値で2.30。何も無いところから、選ぶだけで「PF2の戦略」ができあがります。
表2:K本の中の最良PF(中央値)。往復1.5pip控除後。パラメータを100通り試したなら、比べるべき相手は1ではなく、この表の数字です。
取引数10本から最良100本から最良1000本から最良
30件1.773.215.13
50件1.472.303.25
100件1.211.652.11
200件1.061.321.56
300件0.991.191.37
1000件0.880.971.05

「100通り試して、一番良かったのが PF 1.6」という結果は、100件の取引なら実力ゼロで出る数字とほぼ同じです(表2の1.65)。 ここで大事なのは、試した回数を正直に数えることです。私たちが全試行を台帳(Trial Ledger)に記録しているのはこのためで、 試行回数が分からなければ、出てきた PF を何と比べればよいかが決まりません。

05逆もある:本物のエッジも、少ない件数では負けて見える

ここまでは「偽物が本物に見える」話でした。同じ理屈で、本物が偽物に見えることも起きます。 全取引に一定のpipを足して、母集団としての真のPFを 1.2 と 1.5 にした売買を作り、同じように測りました。

真のPFが1.2と1.5の戦略がPF1未満に見える確率
図3:母集団のPFが 1.2/1.5 の戦略で、観測したPFが1を下回る確率(60分保有・往復1.5pip控除後)。真のPF1.2でも、100件では28%、300件でも16%の確率で「負けている」ように見えます。

フォワードテストを3か月回して PF が 0.9 だった。そういうとき、それだけで「戦略が壊れた」とは言えません。 取引数が100件なら、PF 1.2 の本物でもその程度の数字は4回に1回以上出ます。 止めるかどうかは PF の一時的な値ではなく、事前に決めた取引数と基準で判断するべきです。

06実際に起きた「PFの崩壊」

この測定の数字は、机上の話ではありません。当研究所の棄却記録には、良く見えた PF が後で崩れた例がいくつも残っています。

上の3件は、コストの計上漏れや約定の再現性が主因でした。下の2件は、探索で良く見えた数字が確認期間で縮んだ例で、 まさに表2の「選んだ幸運」が剥がれた形です。

07PFを読むときに確認する3つのこと

  1. 取引数を見る。100件未満の PF は参考値にとどめる。30件の PF 1.5 は、実力ゼロでも約1割で出る(表1)。
  2. 何通り試したかを数える。パラメータをK通り試したなら、比べる相手は「K本の中の偶然の最良」(表2)。100通り・100件なら、PF 1.65 を超えて初めて偶然と区別できる入口に立つ。
  3. コストの計上を確かめる。実力ゼロの売買は往復1.5pipで PF 0.76 まで落ちる。コストが軽く計上されたバックテストでは、この「下駄」がそのままPFに乗る。

3つ目は見落とされやすい点です。MT5テスターが週明けのスプレッドを約6分の1しか計上していなかった事例では、 テスターの PF がPythonより高く出ていました。コストが軽いほど、実力ゼロの売買でも PF は1に近づき、偶然で1を超えやすくなります。

08この測定の限界

無作為な時刻に建てた取引は、互いにほぼ独立です。実際の戦略は同じ相場の局面に取引が固まり、 取引どうしが似た結果になりやすいため、同じ件数でも偶然の振れは本記事の数字より大きくなります。 つまり本記事の表は、偶然の大きさを控えめに見積もった下限と読んでください。

また、コストは定数で控除しており、時間帯や約定の瞬間のスプレッド拡大は含めていません。 通貨ペアは3つ、期間は2020〜2025年です。決済ルールによって数字が変わることは表1のとおりで、 自分の戦略に当てはめるときは、同じ決済ルールの行を見るのが確実です。

この検証の途中経過

この測定を始める前に立てた予想(どこまで偶然でPFが出るか)と、実際の数字とのずれは note に書いています。

『検証の作法』(Kindle)
FXバックテストで、自分のロジックを、自分で殺す9つの規律

取引数・試行回数・コストの計上という、検証で最初に疑うべきことを、自分のロジックを棄却してきた手順として9つの規律にまとめた巻です。

Kindleで読む →

測定条件: 価格=USDJPY・EURUSD・GBPJPY の1分足(BID・UTC換算)2020-01〜2025-12/建て時刻=月〜木の 00:00–20:59 UTC から一様無作為、方向は50%ずつ(乱数シード固定)/ 出口規則=60分保有、利確20・損切り20pip、利確10・損切り30pip、利確30・損切り10pip(利確・損切り型は最長24時間。同じ1分で両方に触れたら損切り優先)/ コスト=往復 0・1.5・3.0pip の定数控除(感度の確認用。時刻別の実測コスト模型ではない)/各取引数につき20,000本を復元抽出。 掲載した数値はすべて過去データに対する集計であり、フォワードテスト・実口座運用の結果ではありません。

免責: 本ページは検証プロセスの開示を目的とした研究ノートです。投資助言ではありません。特定の金融商品・取引業者の利用を推奨するものではありません。 バックテスト・過去データの集計は将来の利益を保証するものではありません。FX取引には元本割れのリスクがあります。 図表はすべて実測データからPythonで描画したものであり、生成AIによる作画は含みません。