バックテストの過剰適合:素晴らしい結果が罠であるとき
カーブフィッティング、生存者バイアス、ルックアヘッド、そして新顔――テスト期間を記憶した LLM。水増しされた結果を見抜き、本番の相場を生き延びる戦略を検証する方法。

バックテストにできるもっとも危険なことは、成功することです。バックテストの過剰適合とは、戦略が市場について何か本物を学ぶ代わりに、歴史のある特定の一切れのノイズを学んでしまうことです。そして、まったく何も予測しない、うっとりするほど美しい資産曲線を生み出します。クオンツの世界は、これと数十年戦ってきました。エージェントの時代は、新たなひねりを加えます。あなたがテストしているまさにその歴史を、すでに読んでしまっているかもしれない言語モデルです。本記事は、古典的な仕組み、いまも人を捕まえる古いバイアス、新しい LLM 記憶の失敗の型、そして信頼できる結果とおべっかの結果を分ける防御を扱います。
なぜバックテストの過剰適合は起きるのか:自由度
戦略のなかで調整できる選択のひとつひとつが自由度であり、自由度こそがノイズを当てはめる手立てです。それが積み重なる様子を見てください。移動平均のクロスオーバーは、2 つのパラメーター、速い期間と遅い期間から始まります。RSI フィルターを足すと 4 つ、期間としきい値です。時間帯の窓、逆指値の距離、利益目標を足すと、7 つか 8 つになります。それぞれにもっともらしい値を 10 通り試せば、空間は数千万の組み合わせを抱えます。そのどこかに、純粋な偶然であなたのテスト期間に見事に当てはまる設定があります。オプティマイザーが、あなたのために見つけてくれます。
直感を助けるのはコイン投げの大会です。1 万人を部屋に入れてコインを投げさせると、10 ラウンド後にはおよそ 10 人が毎回表を出しています。彼らは天才のように見えます。彼らは宝くじの当選者です。パラメーター探索は、戦略の変種を参加者にして同じ大会を走らせます。そして十分に大きな探索の勝者は、まぐれ当たりであることがほぼ保証されています。そこから導かれる、居心地の悪いルールがこれです。試した設定が多いほど、最良の設定の成績が持つ意味は小さくなる。3 つのアイデアを試して出たシャープレシオ 2.0 は、興味深い。5 万回の総当たりから出た同じ数字は、たいていその総当たりがどれだけ大きかったかの測定値にすぎません。
古典的なバイアス:生存者バイアスとルックアヘッド
オプティマイザーが一切絡まなくても、バックテストを水増しする 2 つの古い罪があります。
生存者バイアスとは、今日の勝者でテストすることです。株価指数の現在の構成銘柄で戦略を走らせれば、あなたは道中で上場廃止になり、割安で買収され、あるいは倒産したすべての企業を、静かに除外しています。あなたの戦略が保有していたはずの敗者は、データから欠けているのです。暗号資産はもっとひどい。何千もの死んだトークンが、ほとんどのデータセットから単純に消えます。だから、生き残ったコインで組んだ「時価総額上位 50 を買う」というバックテストは、誰も保有すると知りようがなかったポートフォリオをテストしているのです。直し方は、各日付で実際に取引できたものを反映するポイントインタイムのデータであり、そうしたデータが手に入らないときは常に懐疑を持つことです。
ルックアヘッドバイアスとは、情報が存在する前にそれに基づいて動くことです。露骨な版は、あるローソク足を、そのローソク足の終値を使って取引することです。より巧妙な版は、いたるところに忍び込みます。最初に発表された値ではなく後に改定された経済データ、全サンプルの窓で計算された指標、あるいは、後に公表された日付ではなく会計期間の日付を刻まれたファンダメンタルズ。これらのどれもが、明日の新聞を今日の判断に漏らします。そしてバックテストは、その漏れに報酬を与えるのです。
新しい失敗の型:あなたの LLM はすでに答えを読んでいた
エージェンティックな戦略は、どんなデータ衛生のチェックリストも捕まえられないルックアヘッドの一種を持ち込みます。漏れがモデルの内側にあるからです。たとえば 2024 年までのデータで訓練された大規模言語モデルは、そのカットオフより前のあらゆる劇的な値動きを覆う金融ニュース、価格の論評、事後分析を取り込んでいます。2020 年 3 月に何を取引するかを「決めろ」と頼めば、それは予測ではありません。思い出しているのです。
ここでの研究は率直です。「Can LLM-based Financial Investing Strategies Outperform the Market?」(arXiv:2505.07078, 2025)は、LLM 戦略のバックテストが記憶とルックアヘッドによって水増しされることを示しました。訓練データがテスト窓と重なるモデルは、ティッカー、日付、値動きを想起でき、評価がアウトオブサンプルへ移ると成績はしばしば劣化します。続く記憶を統制したベンチマーク(arXiv:2605.28359, 2026)は、反対方向から同じ判定に至りました。モデルの知識カットオフと重なる長いバックテストは、記憶された相場の歴史をその「予測」へ漏らすこと、そして記憶を統制すると見かけ上のスキルが急激に減ることを見出したのです。2020〜2023 年で見事に見えるエージェントは、単に 2020〜2023 年に起きたことの、とても高価な索引にすぎないかもしれません。
実践的な帰結は、言葉にするのは簡単です。もし LLM がループのどこかで判断を下すなら、そのモデルの訓練カットオフより前のどのバックテスト窓も汚染されているものと扱い、カットオフより後の証拠に重みを置いてください。もっと良いのは、LLM を予測の経路から完全に外すことです。あなたの意図を明示的なルールへ翻訳させ、そのうえで、その決定論的なルールを歴史に対して再生する。記憶が手を触れられるものは、そこには何もありません。言語モデルと決定論的なエンジンのあいだの、より広い分業は、トレーディングにおける LLMで扱っています。
実際に効く防御
どの防御も、風変わりなものではありません。その力は、結果に恋をする前に適用することにあります。
データを取り置き、その取り置きを尊重する。 歴史を分割し、前半だけでチューニングし、設計が凍結されるまで直近の区間には手を触れないでおきます。戦略あたり、取り置きを見るのは一度だけ。繰り返し覗いてそのたびに調整すれば、取り置きは静かに訓練データに成り下がっています。
ウォークフォワードテスト。 ひとつの静的な分割の代わりに、ある窓で最適化し、次の一切れでテストし、前へ転がし、繰り返します。縫い合わされたアウトオブサンプルの区間は、戦略が一度も見たことのないデータの上で機能し続けなければならないときにどう振る舞うかを見せてくれます。それこそが、本来の職務内容です。
局面の網羅。 テスト窓はひとつの論拠であり、狭いものは弱い論拠です。2018 年の暗号資産の弱気相場、2020 年 3 月の暴落、2021 年の溶け上がり、2022 年のじり貧を覆えば、そのエッジが市場の性質なのか、それとも局面の衣装なのかがわかります。LLM トレーディングエージェントのサーベイ(arXiv:2408.06361, 2024)は、短いテスト窓と小さな銘柄群を、この分野に蔓延する弱点として指摘しました。個人のバックテストが、それよりましであることはめったにありません。
頂ではなく、パラメーターの台地。 各パラメーターを、選んだ値のまわりで変化させ、何が起きるかを見てください。RSI のエントリーしきい値 30 がシャープ 1.4 でバックテストされるとして、25 では 0.3、35 では 0.4 になるとしましょう。その針のように細い頂は、当てはめられたノイズの署名です。本物の市場効果は、そこまで精密ではないからです。もし 25 から 40 までのすべてが 0.9 から 1.2 のあいだに落ちるなら、あなたは台地の上に立っています。そして台地は、頂よりもはるかに高い頻度で本番のトレードへ旅していきます。頂の数字のほうが見栄えがよくても、鋭い頂のてっぺんより、広い台地の真ん中を選んでください。
ここもまた、ツールが助けにも、静かな害にもなる場所です。だから、正直さを便利にしてくれるバックテストソフトウェアを選んでください。Obside では、バックテストがスリッページの前提を組み込んだうえで何年もの歴史を数分で再生します。それによって、安上がりで規律ある一手――何かを信頼する前に、現実的なコストで局面をまたいでテストすること――が、面倒な作業ではなく、もっとも抵抗の少ない道になります。エージェント固有のワークフローは、AI トレーディングエージェントのバックテスト方法で順を追って説明しています。
事前の構えとしての単純さ、そして最終試験としてのペーパートレード
2 つの戦略が同じようにバックテストされたら、動く部品の少ないほうを選んでください。そして、いかなる結果も見る前に、その好みを抱いておいてください。足したルールやパラメーターのひとつひとつは、インサンプルの曲線を改善することによってではなく、アウトオブサンプルを生き延びることによって、家賃を払わねばなりません。複雑さを足せば、前者はほぼ必ずタダで達成されてしまうからです。4 つの局面をまたいでシャープ 0.9 の 2 ルール戦略は、ひとつの強気相場で 1.8 を見せる 9 パラメーターの構築物より、多くの信頼に値します。複雑さは、洗練ではありません。バックテストにおいて、それはたいてい、ノイズが掴むための表面積です。
そして、何も汚染できないただひとつのテストがやってきます。未来です。ペーパートレードは、あなたが戦略を設計したときには存在しなかったデータの上で、資金をリスクにさらすことなく、あなたのエージェントそのものをライブの相場に対して走らせます。どのオプティマイザーもそれを見ておらず、どの言語モデルもそれを記憶していません。この昇格について何より大事なことがひとつあります。その道中で、エージェントについて何も変わらないことです。Obside では、バックテストされたのとまったく同じエージェントの定義が、同一の条件とリスク管理とともに、変更なしでペーパーモードへ移ります。だからペーパーのランは、手で写した近似ではなく、あなたが検証した戦略そのものをテストします。バックテストと韻を踏む 3〜4 週間のペーパーの結果は、個人の検証が生み出せるもっとも強い証拠です。
ここからどこへ進むか
美しいバックテストのひとつひとつを、敵対的な吟味を要する主張として扱い、この順で監査してください。いくつの設定を探索したか、データは生存者バイアスがなくポイントインタイムか、ループのなかのどの LLM も窓を記憶できたか、結果は台地の上に載っているか頂の上か、そして取り置いたデータを生き延びたか。そのうえで、ペーパートレードに判定を下させてください。この規律を、後付けではなくワークフローに組み込みたいなら、Obside が梯子全体を走らせます。スリッページを織り込んだ局面をまたぐバックテスト、それからペーパー、それから本番を、変更されないひとつのエージェントの定義の上で。
本記事は教育目的のみです。投資助言ではありません。取引には元本を失う可能性を含むリスクがあります。
FAQ
戦略が、意図的にせよ偶然にせよ、繰り返し可能な市場の振る舞いではなく、ある歴史の期間のランダムなノイズに当てはまるまでチューニングされることです。戦略が事実上その歴史の一切れを記憶しているので、バックテストは見事に見えます。ライブの相場は新しいノイズを生み、記憶されたパターンは繰り返さず、成績は崩れます。見分けの兆候は、どんな素朴な経済ロジックが正当化するよりも、テストではるかに良く見える戦略です。