Look-ahead Bias とは、後で入手できる情報を、それより前の判断、モデルの学習、ルールの選択に使ってしまうことです。重要なのは表に付いた日付ではなく、実際に情報を知り得た時点です。すでに下した判断の結果を後から測ること自体は誤りではありません。
ペトルは、自分のルールが過去にどんな取引をしたかをコンピューターで試します。表にはすでに全期間の履歴があるため、当時は知り得なかった情報までプログラムが読んでしまうことがあります。QuantConnect は Look-ahead Bias をこのように説明しています。各入力について、判断した時点で利用可能だったかを確認しましょう。日付だけでは足りない場合があります。朝に起きた出来事が後で報じられ、さらに遅れて取引者に届くこともあります。テストには、単なる日付順の並べ替えではなく、この順序を守る必要があります。 [2]
ローソク足は、一定期間の始値、終値、高値、安値、出来高をまとめたものです。期間が終わるまでは最終値が確定しません。そのため、同じ足の最終的な高値を根拠に、期間の始まりで買うことはできません。QuantConnect のエンジン LEAN は、完了したデータを終了時刻の EndTime に従って渡します。短い期間と長い期間を組み合わせる場合、利用可能な時点を系列ごとに確かめます。行を一つずらす方法が有効なのは、時間帯や遅延も含め、実際の利用可能時点に一致する場合だけです。 [1]
ペトルがダウンロードした経済統計には過去の月の日付が付いています。しかし、数値の一部は後から改訂されています。現在の訂正値を過去の判断に使えば、当時なかった知識を加えることになります。そこで St. Louis Fed は、現在から過去を見る FRED と、当時の版を取得できる ALFRED を区別しています。必要なのは、その時点で公表されていた版です。統計の対象月だけでは足りません。日付単位の履歴版があっても、その日の何時から使えたかまでは証明できません。 [3]
ペトルは古いデータを学習用、新しいデータをテスト用に分けました。ところが、入力を変換するために表全体の平均を計算すると、未来の情報が別の経路から入り込みます。機械学習ライブラリー scikit-learn の文書は、そのため変換方法を学習用部分だけで学び、それをテスト用部分に適用するよう求めています。欠損値の補完や入力の選択も同じように確認します。学習に使う取引結果にも注意が必要です。始まったばかりの取引の最終結果はまだ分かりません。後で評価するのはよくても、結果を過去の学習に戻してはいけません。 [4]
過去のローソク足には高値と安値が残りますが、それだけで実際の全約定の順序を再現することはできません。TradingView は、足の内部での値動きについてシミュレーターが置く仮定を説明しています。ペトルは、シグナル発生、注文送信、実行可能な約定時点を区別する必要があります。後から判明した高値をシミュレーションで見つけられても、その価格で売ることが当時使えるルールになるわけではありません。未来情報の漏入と、有利すぎる約定仮定は別の誤りです。細かいデータは助けになりますが、実際の約定を保証しません。 [5]
Freqtrade Lookahead Analysis はテストを繰り返し、指標やシグナルの変化を調べます。未来の行を参照する計算などを発見できる場合があります。しかし、試験中に一度も実行されなかった判断の分岐までは検査できません。そのため結果とともに、検査範囲も知る必要があります。文書は、単一市場と複数市場で戦略の動作が異なる場合などの誤検出も注意点に挙げています。異常なしは全面的な保証ではなく、検出された差には説明が必要です。データの出所をたどる作業は欠かせません。 [6]
ペトルが未来の入力を取り除くと、見事だった結果が悪化しました。以前の報告を、修正後の手順の結果として提示し続けることはできません。しかし修正だけで全問題が解決するわけでもありません。TradingView は Look-ahead Bias と Overfitting を区別します。過剰適合とは、開発に使ったデータ特有の性質にルールが合わせすぎた状態で、未来情報がなくても起きます。反対に、ごく単純なルールにも時点の誤りは入り得ます。過去とその後の成績の差だけでは、どちらの問題か、市場の変化かを特定できません。 [5]
役立つ記録は、当時のペトルの知識を再現できるものです。データの版、ルール、口座の状態、利用可能な入力、送信した注文を残し、約定の仮定と費用も加えます。実際のお金を使わない練習取引の Paper Trading で逐次記録を取ることはできますが、シミュレーションは現実の取引とは異なります。米国の National Futures Association(NFA)は、仮想的な成績には流動性、想定価格と約定価格のずれ、損失の圧力下での判断に関する限界があると指摘しています。その広告規則の適用対象は所定の会員です。時点の誤りをなくすことで得られるのは、より正直なテストであり、将来の利益の約束ではありません。 [7]
どの期間が上がるかをテストが先に知っていたら
理解を深めるには、この項目とあわせて次もお読みください Backtesting, Overfitting, Walk-forward Analysis, Survivorship Bias, Paper Trading. 次の項目からも参照されています Walk-forward Analysis, Overfitting, Survivorship Bias, On-chain Analysis.
01指標を一行ずらすだけで十分ですか?+
特定の誤りは直る場合がありますが、万能ではありません。公表が遅れたデータ、後で改訂されたデータ、表全体の準備にすでに使われたデータもあります。各入力が判断時点で利用可能だったかが重要です。
02評価には後から分かる結果を使ってよいですか?+
はい。以前の予測を評価するには、その後の結果が必要です。誤りになるのは、当時まだ分からなかった結果を過去に戻し、より早い判断、学習、ルール選択に影響させた場合です。