自己欺瞞のないバックテスト
過去のシミュレーションは研究の道具であり、タイムマシンでも実取引の成果を約束するものでもありません。

答えを見る前にルールを書く
バックテストは、定めた判断ルールを過去のデータに適用し、モデル上の一連の取引がどんな結果を生んだかを計算します。その価値は、仮説を証拠に照らして検証することにあります。損失例が現れるたびにルールを変えるなら、再現可能な判断手順の検証ではなく、過去を説明する作業になってしまいます。
対象商品群、観測間隔、エントリー条件、決済条件、数量決定方法、費用モデルから始めます。情報がいつ利用可能になり、注文が最短でいつ約定できるかを定義してください。終値に基づく戦略で、最終終値を事前に知り、まったく同じ価格で約定したと仮定するには、通常は追加の根拠が必要です。
情報が過去へ漏れることに注意する
先読みバイアスは、判断時点では入手できなかった情報をシミュレーションに使うと生じます。改定後の経済指標、後日の決算発表、将来の指数構成銘柄リストなどが例です。過去データベースが現時点では完全に正確でも、以前のある日に人が実際に知っていたことの再現には適さない場合があります。
生存者バイアスは、消滅した商品が検証対象から除外されると生じます。現在も存続する企業だけで戦略を検証すると、当時の投資機会に影響した破綻、上場廃止、買収を見落とす可能性があります。消滅した暗号資産トークンや運用を終了したファンドでも同様の問題が起こります。扱いにくい記録を黙って削除せず、データセットが消滅をどう処理しているかを記録してください。
企業の資本異動も個別に点検します。1株を2株に分割すると、40ドルの株式100株は、ほかの価格変動がなければ約20ドルの200株になります。分割自体で保有価値が半減するわけではありません。調整済み価格と未調整の株数を混ぜると、架空の損益が生まれます。配当再投資込みのリターン系列に現金配当をもう一度加えるのも二重計上です。シグナル計算の価格、実際に売買できる価格、保有数量の会計処理を区別しましょう。
執行を都合よく仮定せず、モデル化する
ローソク足が指値に達しても、注文の全数量が約定した証拠にはなりません。注文待ちの順位、利用可能な数量、ローソク足の中の価格経路が重要です。1本の足の中でストップと目標の両方に触れた場合、その足だけではどちらが先か分からないことがあります。曖昧さは保守的に扱うか、順序を判別できるデータを使ってください。
スプレッド、売買手数料、資金調達費用、該当する場合の借株費用、妥当なスリッページを含めます。税務上の扱いは法域と状況によって異なるため、一般的なシミュレーションでは一律の税率を作り上げず、税引前の結果かどうかを明示すべきです。複数の費用前提で結果を比較してください。無料で即時の執行がなければ成功しない手法は脆弱です。
発見と評価を分ける
何百通りものパラメーターの組み合わせを試して最良のものを示すと、選択の問題が生じます。偶然、優秀に見える組み合わせがあるかもしれません。ルール開発に使わなかったデータを取っておき、繰り返し参照して別の学習用標本に変えてしまわないようにしてください。将来に向けた模擬取引テストではルール確定後に新たな観測値が届くため、別の検証になります。
最良のチャートだけでなく、失敗した変種、標本数、対象期間、試行回数も報告してください。近いパラメーターでも似た挙動になるか、それとも一つの孤立した設定だけがすべての利益を生んでいるかを調べます。表計算が小数点以下何桁まで精密でも、仮定の結果は仮定にとどまります。流動性、感情、業務上の問題は、過去の数値計算だけでは完全に再現されません。
データの版や計算方法の変更を調査記録に残してください。株式分割の調整の修正や、上場廃止銘柄の追加によって結果が大きく変わることがあり、その修正を確認できるようにすべきです。再現可能性とは、示された入力とルールから別の人が同じ答えを再構成できることです。答えが経済的に有用だという意味ではありませんが、それを確かめるために必要な一歩です。
千件を信じる前に、一件の取引を再現する
一件を選び、データの日付、実際に入手できた時刻、意思決定、注文到着、約定、費用を時系列に並べます。これらは同じ時点ではありません。火曜日の引け後に公表された資料で、火曜日の朝の売買を判断することはできません。タイムゾーンや夏時間の変換ミスも、未来の情報を過去の判断に混入させます。
次に、決済済み取引の一覧だけでなく口座全体を照合します。開始時の現金、外部との資金移動、実現損益、未決済ポジションの評価額が、期末の純資産を説明する必要があります。決済分だけの報告は、大きな含み損を隠すことがあります。同時に出た複数のシグナルが、それぞれ同じ現金を使うこともできません。注文の競合、購買余力の不足、期末の残存ポジションに対応する規則が必要です。
答えの分かっている小さな人工データで検算します。価格一定、費用ゼロなら売買益は生まれません。純粋な株式分割では、株数を正しく調整すれば資産額は変わりません。取引を固定して手数料を増やすと、純利益は追加料金と同額だけ減るはずです。欠損価格は記録された処理を必要とし、ゼロで約定したことにしたり、古い価格を無期限に引き継いだりしてはいけません。
比較対象も研究の問いに合わせます。株式を買うだけのルールは、単に市場全体の上昇で利益が出る場合があります。同じ期間、同じ配当・現金処理で、明確に定義した受動的な保有と比較します。市場に参加しない期間も、エクスポージャーと機会費用を変えます。最終残高が高いことは説明すべき結果であり、売買タイミングの技能が証明されたことではありません。