バックテストの読み方

過去データを使うバックテストの基本と、未来情報の混入、過学習、未使用期間での検証など、成績を見るときの注意点を解説します。

過去の日付に戻して予測する

バックテストは、過去の日付を予測日として、その時点までに得られた情報だけで候補を作り、後から実際の結果と照合する検証です。単に成績が良かった台を後から集める方法とは異なります。各日について、予測に使える最終日時、候補順位、対象外条件、結果の集計方法を固定します。この手順が残っていれば、同じ条件で再計算でき、成績がどこから生まれたかを確認できます。

未来の情報を混ぜない

対象日の最終差枚や当日途中の回転数を、朝の予測づくりに使うと、実際には知り得ない情報で成績を高く見せてしまいます。設置が続いた機種だけを後から残すことや、結果の良い日だけを選ぶことも偏りの原因です。データ取得時刻を保存し、学習期間と評価期間を日付で分離します。欠損データを補う場合も、対象日時点で利用できた方法だけを使う必要があります。

最適化と評価を別期間にする

条件や重みを何度も試すと、過去データに偶然合う組み合わせが見つかります。これを過学習と呼びます。対策として、前半の期間で条件を調整し、調整に使っていない後半の期間で成績を確認します。さらに新しい日付を順次追加する前向き検証を行うと、現在も傾向が続いているかを見られます。前半だけ高く後半で大きく落ちる場合は、再現性が弱い可能性があります。

平均以外の結果も確認する

バックテストの平均差枚がプラスでも、日ごとの振れ幅が大きければ、実際の経過は安定しません。勝率、中央値、最大下落、連続マイナス、対象件数、期間別成績を合わせて確認します。また、候補の全台を確保できる想定と、上位一台だけを選ぶ想定では結果が異なります。検証条件が実際の使い方と一致しているかを見たうえで、バックテストを将来の保証ではなく比較材料として扱います。予測後に候補が埋まっていた場合や、データ更新が遅れた日をどう扱うかも事前に決めます。利用できなかった候補を結果だけ見て入れ替えると、実運用より良い成績になります。