PF至上主義の罠——autoresearch 200回で見えた「回転率」という視点
profit factor を上げることだけに集中した70回の実験が壁にぶつかり、エージェントの分析レポートをヒントに人間が突破した話。トレード戦略における「質 vs 量」のトレードオフと、3日ウィンドウという新しい評価軸について
前回の「7つのこと」から数日。autoresearch はさらに120回以上の実験を重ねた。今回見えたのは profit factor(PF)を上げることだけを目指すと、別の重要な指標を犠牲にしてしまう という罠だった。
開発担当の Claude Code に、yatmita 記者が再び聞いてみた。
1. PF を上げるほどトレードが減る
記者: 前回の続きから聞かせてください。あれからどうなりました?
開発者: p10 フェーズで52回の実験を回しました。MACD のゼロクロスをベースに、RSI フィルター、ADX フィルター、ローソク足の実体フィルターなどを積み上げて。
記者: 成果は?
開発者: PF は 1.17 から 1.36 まで改善しました。約20%の向上。
記者: それはいいじゃないですか。
開発者: 数字だけ見ればそうです。でも代償がありました。trades_per_day(1日あたりのエントリー数)が 2.2 から 1.0 に半減した。
記者: フィルターを追加するたびにトレード機会が減っていった。
開発者: その通りです。フィルターは「質の低いトレードを除外する」ための仕組みなので、追加するほどトレード数は減る。当たり前の話なんですが、数字で見ると露骨でした。
2. 壁にぶつかった——局所最適
記者: そこからさらに改善できた?
開発者: できませんでした。p11 フェーズで70回の実験を回しましたが、keep になったのは たった1回。しかも PF が 1.358 から 1.363 への改善で、誤差レベルです。
記者: 70回で1回。
開発者: エージェントは構造的に違うアプローチも試しました。ボリンジャーバンドのブレイクアウト、インサイドバーのブレイクアウト、ストキャスティクスの反転、H1 モメンタム、プルバック。全部、既存の MACD ベースに負けた。
記者: つまり?
開発者: 局所最適に到達していました。どの方向に動いても悪くなる。PF を上げようとすれば tpd が 1.0 を割る。tpd を上げようとすれば PF が下がる。
3. 「3日でプラスか」という新しいものさし
記者: 行き詰まりをどう打開したんですか?
開発者: まず評価軸を変えました。PF や期待値だけでなく、3日ウィンドウの positive 率を見るようにした。
記者: 何ですかそれ?
開発者: OOS のデータからランダムに3日間を100回抽出して、それぞれ独立にバックテストを走らせる。100回中何回で3日間の合計がプラスだったか。これを指標にしました。
記者: なぜ3日?
開発者: 実運用に近い感覚だからです。PF が 1.3 でも、3日連続で負け続ける期間が多ければ精神的にきつい。逆に PF が 1.2 でも、3日ごとにほぼプラスなら安心して運用できる。
記者: 結果は?
開発者: PF 1.36 の戦略で、OOS の3日ウィンドウ positive 率は 44% でした。半分以下。PF はプラスなのに、3日ごとに見ると半分以上の期間で赤字。
記者: それは……結構ショッキングですね。
開発者: PF が1を超えていても、大きな勝ちが稀にあるだけで帳尻を合わせている可能性がある。3日ウィンドウはそれを可視化します。
4. エージェントの分析が突破口のヒントになった
記者: で、壁を突破できたんですか?
開発者: しました。きっかけはエージェントが70回の実験の最後に出した フィルター効率分析 でした。
記者: どんな分析?
開発者: これが実際のレポートです。
p11 autoresearch session complete (exp198-268, 70 experiments, 1 keep)
Baseline: exp197 (PF 1.358, tpd 1.00) Best: exp238 (PF 1.363, tpd 1.00) - candle body filter instead of close-to-close move
Key findings:
- The strategy is at a local optimum. Almost every change either improves PF but drops tpd below 1.0, or adds trades but lowers PF
- Stoch extreme filters (85/15, 90/10) showed PF up to 1.538 but tpd dropped to 0.56-0.68
- H1 momentum filters showed PF up to 1.399 but tpd dropped to 0.88
- Volume, BB position, body ratio filters all improve PF but kill tpd
- ADX contributes least to PF per trade filtered; RSI is 4x more efficient
- Exit parameter optimization (SL, PC, TS, TL) showed no improvement room
- Only exp238 passed both TRAIN and OOS: using candle body (close-open) instead of close-to-close gave marginal PF improvement
Conclusion: Diminishing returns from incremental optimization. Need fundamentally new approach to break through.
記者: これをエージェントが自動で出すんですね。
開発者: 70回の実験を回した後に、自動で要約してくれます。ポイントは太字の行——「ADX は PF への貢献が最も少なく、RSI は4倍効率的」。
記者: ADX は非効率だと。
開発者: そうです。で、エージェントの提案は「ADX を外して RSI だけにする」か「RSI を外して ADX だけにする」。片方を丸ごと削るという発想です。実際にどちらも試して、PF は下がるけど tpd は上がる、という結果が出ていました。
記者: それを見たユーザーは?
開発者: 「どっちも効果はあるんだから、両方残して OR にしたらどうなの?」と。
記者: どういうことですか?
開発者: それまでの戦略は MACD + body フィルター + RSI AND ADX でした。RSI がトレンド方向を確認し、かつ ADX がトレンドの強さを確認する。両方通らないとエントリーしない。ユーザーの提案は、この部分を RSI OR ADX に変えること。どちらか一方でも条件を満たせば OK にする。
記者: エージェントは「外す」しか考えなかったけど、人間は「組み合わせ方を変える」と考えた。
開発者: そうです。エージェントが試したのは「ADX を外す」「RSI を外す」「閾値を変える」。フィルターの足し引きは得意ですが、AND を OR に変えるという論理構造の変更は探索空間になかった。
5. PF は下がったのに利益は増えた
記者: OR にした結果は?
開発者: PF は 1.36 から 1.26 に下がりました。でも tpd は 1.0 から 2.0 に倍増。そして total_pnl は TRAIN で 85,000 から 124,000 に、OOS で 7,000 から 16,000 に。
記者: PF は下がったのに利益は増えた。
開発者: ここが今回の核心です。PF × 回転率 = 利益 なんです。PF だけ上げても、回転率が下がれば利益は増えない。逆に PF が少し下がっても、回転率が倍になれば利益は伸びる。
記者: 3日ウィンドウでは?
開発者: OOS の positive 率が 44% から 47% に改善して、validate で keep になりました。PF は下がったのに安定性は上がった。トレードが多い分、各ウィンドウに勝ちトレードが入る確率が上がったんです。
6. エージェントの限界と人間の役割
記者: エージェントはなぜ OR を試さなかった?
開発者: エージェントは「この条件を厳しくする / 緩める / 外す / 追加する」という軸で探索します。RSI を外す、ADX を外す、閾値を変える——どれもフィルターの「足し引き」です。でも「両方残したまま AND を OR に変える」は、足し引きではなく組み合わせ方の変更。探索の軸が違う。
記者: 前回の記事で「仮説を立てるのは人間の仕事」と言っていましたね。
開発者: 今回はもう一歩先の話です。エージェントが「RSI は効率的、ADX は非効率」という分析データを出した。人間はそれを読んで「どっちも一定の効果があるなら、捨てずに緩く使えばいい」と解釈した。エージェントが集めたデータを、人間が別の角度から解釈して方針を変える。これが autoresearch の理想形だと思います。
記者: エージェントだけでも人間だけでもなく。
開発者: エージェントは70回の実験で「各フィルターの効率」という知見を積み上げた。人間はそのレポートから「外すんじゃなくて OR にしたら?」を着想した。どちらが欠けても今回の突破はなかった。
7. 回転率という視点
記者: 今回の最大の学びは?
開発者: PF 至上主義は罠 だということ。PF を上げることは、フィルターを厳しくしてトレード数を減らすことと表裏一体。ある時点から、PF の向上よりもトレード数の減少の方がインパクトが大きくなる。
記者: いつその転換点に気づくんですか?
開発者: 今回は tpd が 1.0 ギリギリまで下がって初めて気づきました。もっと早く気づくべきだった。total_pnl を見ていれば気づけたかもしれない。
記者: 回転率、つまりトレード頻度は利益のドライバーなんですね。
開発者: 特に分割決済 + トレーリングストップの戦略では。勝率57%、1トレードあたりの利益は小さい。でもそれを1日2回繰り返せば、1日1回の高PF戦略より稼げる。薄利多売の発想です。
記者: 最初からユーザーが「大数の法則だから、回数は多い方がいい」と言っていたのに。
開発者: はい。期待値がプラスなら試行回数が多いほど収束が速い。p4 の時点で言われていたことが、200回の実験を経てようやく腹落ちしました。
前回の記事: autoresearch を100回回してわかった7つのこと 次の記事: 探索空間の設計——autoresearch は「何を試すか」で決まる
この記事は Claude Code(開発担当)への実際のインタビューをもとに構成しています。
本記事はバックテスト手法の技術的検証記録であり、特定の金融商品の売買を推奨するものではありません。投資判断はご自身の責任でお願いします。