仮定のケーススタディ・調査手順

表計算で最良だったバックテスト

多数の試行から最良のものを選ぶと、現実的な執行で見かけ上の優位性が消える場合でも、自信を作り出してしまいます。

表計算で最良だったバックテスト — 概念図です。このケースの価格と結果はすべて仮定のものです

実際の市場データではなく概念図です。図中のラベルには、ケースとは別の簡略化した例を用いる場合があります。

前提条件

教育用の仮定のケースです。価格系列、戦略、取引結果、統計値は架空です。過去の実績、運用成績の主張、売買シグナルではありません。Lenaは合成した株式バスケットで移動平均のアイデアを検証します。120通りのパラメーターの組み合わせを試した後、最も魅力的な結果を選び、200回の模擬取引を頑健な優位性の証拠として提示します。調査の検証では、何が選ばれ、何が省略され、何が本当に未使用のままかを問います。

探索した設定数120
選択した設定の粗平均1取引当たり$27
修正後の費用推定1取引当たり$33
修正後の標本損益−$1,200

印象的な見出しの数値を再構成する

選ばれた設定には、平均$180の費用控除前の勝ち取引が110回、平均$160の費用控除前の負け取引が90回あります。粗利益合計は$19,800、粗損失合計は$14,400で、200回の取引に$5,400が残ります。費用控除前の平均は1取引当たり$27、勝率は55%です。どちらの数値からも、戦略が現実的な費用に耐えられるか、選別が運ではなくシグナルを見つけたのかは分かりません。

Lenaは1取引当たりの往復費用をわずか$2と仮定し、結果から$400を引いて$5,000としました。しかし架空の執行検証では、完了した往復取引ごとに売買手数料と明示的費用$6、スプレッド費用$12、追加スリッページ$15と推定します。合計は1取引当たり$33、標本全体で$6,600です。粗損益が同じでも、修正後の純損益は$1,200の損失となり、平均では1取引当たりマイナス$6です。

費用を二重計上せずに定義する

これらの費用項目に意味があるのは、合成バックテストが摩擦費用なしの参照価格を使っていたためです。すでにビッドとアスクで約定をシミュレーションしていたなら、スプレッド全額をもう一度引くと費用を過大計上します。同様に、判断時点の価格から測るインプリメンテーション・ショートフォールには、スプレッドや市場インパクトがすでに含まれる場合があります。調査記録には、エントリーの基準価格、決済の基準価格、追加費用を正確に定義する必要があります。

感応度表では、戦略に最も有利な一つの費用だけでなく、複数の往復費用合計を検証します。$15なら純損益は$2,400、$27ならゼロ、$45ならマイナス$3,600です。これらは計算上のシナリオであり、予測ではありません。損益分岐費用の$27は特に有用です。選ばれた粗損益には、執行の不確実性、未約定、業務上のミスに対する余裕がどれほど少ないかを示すからです。

選択の問題は、最終チャートより前にある

Lenaは標本を見る前にこの設定を選んだのではありません。同じ標本で119の代替案を上回ったから選びました。持続的な予測上の優位性がない戦略でも、多数の変種を試せば魅力的な勝者が生まれることがあります。意図的に単純化した例として、120の独立した検定にそれぞれ5%の偽陽性確率があれば、少なくとも一つが偽陽性になる確率は1 − 0.95^120、約99.79%です。

実際の戦略の変種にはおそらく相関があるため、この独立性に基づく計算はLenaの調査に対する有効なp値ではありません。目的は多重検定の問題を明らかにすることで、正確な定量化ではありません。捨てた指標、変更した期間、人為的な例外も含め、試したすべての変種を記録しなければなりません。磨き上げた最終チャートからは、その背後に隠れた失敗試行の数は分かりません。

真に未使用の評価用データを確保する

よりよい架空の調査設計では、開発、検証、最終の未使用テストを分けます。Lenaは開発データでアイデアを作り、検証データで、数を限定して記録した選択肢を比較できます。最終テストを見て戦略を変更した時点で、そのデータはもはや未使用ではありません。同じデータを繰り返し「アウト・オブ・サンプル」と呼んでも、独立性は戻りません。

新たな60回の取引テストで、平均$170の粗利益が28回、平均$150の粗損失が32回あったとします。粗損益は$4,760 − $4,800 = マイナス$40です。往復1回当たり$33なら、費用$1,980が加わり、純損益はマイナス$2,020です。この小さな架空の標本は戦略が決して機能しないことを証明しませんが、当初の自信を裏付けるものでもありません。適切な対応は調査または棄却であり、検証用データがプラスになるまで自動的にパラメーターを変えることではありません。

研究の見直しでは、合計を出す前に二つの標本を分けて示します。修正後の開発用200取引は−1,200ドル、新しい60取引は−2,020ドルです。合計260取引で−3,220ドル、1取引当たり約−12.38ドルになります。足し算は正しくても、開発用標本を合算したから独立な証拠に変わるわけではありません。後のテストは、その結果を見る前に固定した判断を評価するという別の役割を持ちます。

情報の時期と損失の経路を確認する

検証では、各モデル取引より前に実際に利用可能だったデータをシグナルが使っていたかも確認します。終値による指標では、説明可能な執行の仕組みがなければ、通常、それより前に同じ終値で約定したことを正当化できません。対象銘柄の選択で破綻・上場廃止銘柄を黙って除外してはいけません。企業行動、時刻の対応、古い気配値はシミュレーション結果を大きく変ええます。各確認は誤りの原因となりうる点に対処するもので、将来の収益性を保証するものではありません。

最後にLenaは、集計利益とともにドローダウン、連敗、売買回転率、資金使用量を記録します。最終的に回復する戦略でも、途中で資金の限度を超えるかもしれません。NFAは、仮定の結果は後知恵の恩恵を受け、実際の金銭的リスクの経験を完全には再現できないと注意しています。模擬取引は作業手順の問題を明らかにできますが、実際の流動性、運用規模の拡張可能性、実資金を失いながら戦略に従える能力を立証するものではありません。

結論を変えるには、どの証拠が必要かを決める

Lenaの次の行動は、原因によって変わります。時刻のバグで明日の情報が今日のシグナルに入っていたなら、実装を直し、影響した結果を撤回するか明確に置き換えます。コードは正しくても妥当な費用で優位性が消えるなら、グラフの題名を変えても解決しません。一件の例外的な利益が粗利益のほとんどを説明するなら、その依存に経済的根拠があるか、標本が十分に捉えているかを調べます。

再現用の資料には、120通りの設定、正確な合成データ、勝者を選んだ評価規則、すべての費用定義、凍結した最終仕様を含めます。別の確認者が、魅力的だった元の結果と、悪くなった修正版の両方を再現できるようにします。失敗版を残すと、どの仮定が結論を変えたかが分かります。再現性は計算を検証する条件であり、将来の成功の証拠ではありません。

同じ200取引の費用を33ドルから45ドルへ上げると、追加費用は2,400ドル、純結果は−1,200から−3,600ドルへ変わります。しかし流動性低下で一部が未約定になるなら、元の取引一覧自体も変わります。その場合は古い一覧からさらに費用を引くだけでなく、新しい執行シミュレーションが必要です。細かな費用表で、より大きな約定モデルの問題を隠さないようにします。

失敗したホールドアウトを見て考えた修正ルールも、研究することはできます。ただし、その同じ標本上の結果はすでに開発用の証拠です。本当に後の観測期間が新手順を検証できるのは、修正版の仕様と評価基準を先に固定した場合です。現在のアイデアは支持されない、という結論も誠実な成果であり、必ず取引可能な戦略を作る必要はありません。

考え方が間違うところ

勝った試行だけを報告する

選ばれた設定は選別の恩恵を受けているため、探索の履歴が重要です。

検証用データを再利用する

テストを見た後で戦略を変更すると、そのテストは独立した証拠として消費されます。

参照価格を約定価格とみなす

実取引で実現可能な結果には、説明可能な執行と費用の前提が必要です。

あなたの番です・まず自分で解いてみましょう

記憶ではなく、判断を試す。

新たな模擬標本には、平均$220の勝ちが45回、平均$140の負けが55回あります。純利益がマイナスになる前の、平均往復費用の上限はいくらですか。1取引当たり$25ならどうなりますか?

解答と計算過程を表示

粗利益合計は45 × $220 = $9,900です。粗損失合計は55 × $140 = $7,700です。100回の取引の費用控除前利益は$2,200なので、1取引当たりの損益分岐費用は$22です。$25なら費用合計は$2,500で、純損益はマイナス$300です。この計算は選択バイアスやデータ漏洩を修正しません。

さらに読む・一次資料

NFA:仮定の運用成績の限界 ↗
この架空のケースは学習用の演習であり、売買の推奨、口座の取引履歴、達成可能な運用実績の例示ではありません。簡略化された部分も、批判的に検討する対象です。
考え方を記録する →ケース一覧に戻る