601 / 691LOOK

Look-ahead Bias

将来情報の使用によるバイアス

Look-ahead Bias は、過去の意思決定に、その時点ではまだ利用できなかった情報を使うことで生じます。タイムスタンプ、完成したローソク足、改訂済みのデータベース、モデルの準備工程に潜むことがあります。その場合、良好な過去検証結果は、当時実行できた手順を表していません。

Look-ahead Bias は、後から利用可能になった情報を、それ以前の意思決定、学習、ルール選択に使う評価上の時間的な誤りです。すでに行った予測の結果を後で測定すること自体は、この誤りではありません。

QuantConnect は Look-ahead Bias を、後になって初めて利用できる情報で意思決定することと説明しています。そこで私たちが確認するのは、その意思決定の瞬間に手順が実際に何を知り得たかです。データが同じ暦日に属するだけでは不十分です。事象の発生、公表、受信、注文送信の時刻は異なる場合があります。各入力の利用可能時点と処理の順序を裏付ける必要があり、正しく並べ替えた表だけではその証明になりません。 [QuantConnect — Custom Securities: Avoid Look-Ahead Bias]

LEAN の時間モデルは、完了したデータ点をその EndTime に従って渡します。私たちの帰結は、期間全体の最終的な終値、高値、安値、出来高で、その期間内のそれ以前の意思決定を動かしてはならないということです。複数の時間軸では、各系列に固有の利用可能性ルールが必要です。行のシフトは特定の誤りを直せても、タイムゾーン、期間の終了、情報源の遅延の確認に代わるものではありません。すでに分かっている過去の値を使うことと、進行中のローソク足の後から確定する最終値を使うことは異なります。 [QuantConnect — Time Modeling: Timeslices]

FRED の文書は、今日利用できる過去についての情報と、歴史上のある期間に知られていた情報を区別しており、ALFRED では該当する利用可能期間を選べます。私たちの方法上の要件は、後で修正されるデータを扱う場合、当時の版とその公表を保存することです。経済統計の対象期間の日付は、公表日の代わりにはなりません。過去の版があるだけでも、正確な日中の利用可能時刻は証明できず、別途確認が必要です。後日の修正を黙って過去の意思決定に戻してはいけません。 [Federal Reserve Bank of St. Louis — FRED API Real-Time Periods]

scikit-learn は、変換を学習データだけで学び、その学習済みの同じ変換をテストに適用するよう求めています。私たちの時間的な確認には、正規化、欠損値の補完、特徴選択、学習用の目的値を含めます。将来期間の結果を後から予測の評価に使うことはできますが、それ以前の予測作成やルール選択に使ってはなりません。継続的に再学習する場合、学習に入れられるのは、その時点ですでに判明していた目的値だけです。 [scikit-learn — Common Pitfalls: Data Leakage]

TradingView は、ブローカーエミュレーターが過去の OHLC データを使う際、ローソク足内部の値動きに仮定を置くと説明しています。私たちが区別するのは、記録された高値と安値だけでは、すべての価格と注文の実際の順序は決まらないという点です。テストでは、シグナルの発生、注文送信、可能な約定を分ける必要があります。後から分かる極値を使ってエントリーや決済を選ぶ問題は、単に楽観的なコストモデルとは別です。詳細なデータで確認の精度は上げられますが、実際の約定を保証はできません。 [TradingView — Strategies: Broker Emulator and Lookahead Bias]

Freqtrade は、繰り返したテストの結果や指標・シグナルの変化を比較し、未来の行へのアクセスや表全体の集計にも注意を促しています。したがって私たちの監査では、シフトの構文だけでなく各計算の出所も調べます。文書は、検査対象をテスト中に発動したシグナルに明示的に限定しています。ツールが問題を報告しなくても、通っていない分岐の正しさを確認したことにはなりません。結果はカバレッジとシミュレーション設定と合わせて読む必要があり、一部の指値注文の設定では誤検出が起こり得ます。 [Freqtrade — Lookahead Analysis]

TradingView は Look-ahead Bias と、特定の開発データにルールを合わせる Overfitting を区別しています。私たちの結論は、時間的に許容されるテストでも、大規模に勝者を選んだ結果かもしれないということです。逆に、単純なルールにも未来情報の漏洩はあり得ます。修正後には結果を再計算して変更を記録する必要があり、元の利益の出ている報告を残してはいけません。過去の結果と後続の結果の差だけでは、原因が時間的な誤り、市場の変化、あるいは別の仮定だったかは分かりません。 [TradingView — Strategies: Broker Emulator and Lookahead Bias]

NFA は仮想的な結果と実際の取引の違いを指摘しています。そこで私たちの再現可能な記録には、データとルールの版、入力の利用可能時点、口座状態、注文の順序、説明されたコストを含めます。監査では、当時利用できた情報だけで意思決定を再現できなければなりません。Paper Trading は追加の継続的な記録を提供できますが、それだけでデータ準備の正確さや実際の流動性を保証するものではありません。実証された誤りを取り除くことは、将来の収益の約束ではありません。 [NFA — Use of Promotional Material Containing Hypothetical Performance Results]

例例 · LOOK

未来を知って得た利益は当時利用可能な戦略ではありません

私たちの架空のモデルには、A、B、C、D と続く四つの期間があります。始値は [100, 100, 100, 100] USD/BTC、終値は [110, 90, 120, 80] USD/BTC です。A の前に終了した期間は、始値も終値も 100 USD/BTC でした。各口座は 1000 USD から始まり、ポジション、負債、外部資金の流出入はありません。エントリー時にはモデルの始値で固定の 1 BTC を買い、事前に定めた決済で同じ期間の終値にて売却します。手数料は実行された売買の各片側につき 1 USD で、エントリーしなければ手数料はありません。このモデルでは他のコストや Slippage は考慮しません。誤った方式 X は、始まったばかりの期間の終値が始値を上回ることをすでに知っている場合だけ購入します。そのエントリーは [1, 0, 1, 0]、純損益は [8, 0, 18, 0] USD です。合計は 26 USD、最終現金は 1026 USD です。時間的に許容される方式 Y は同じ上昇条件を使いますが、対象は直前に終了した期間だけです。そのエントリーは [0, 1, 0, 1]、純損益は [0, -12, 0, -22] USD です。合計は -34 USD、最終現金は 966 USD です。両方式とも各期間終了後のポジションはゼロです。図は各期間における X と Y の純損益を比較しています。X は未来のデータを過去の意思決定に使うため、その利益は実行可能な優位性の証拠にはなりません。Y の損失は実際の市場結果の推定でも、正しい時間順序なら常に損失になるという主張でもありません。モデル価格は Bitcoin の過去の価格ではなく、仮定した約定は実行を保証しません。

理解を深めるには、この項目とあわせて次もお読みください Backtesting, Overfitting, Walk-forward Analysis, Survivorship Bias, Paper Trading. 次の項目からも参照されています Walk-forward Analysis, Overfitting, Survivorship Bias, On-chain Analysis.

01すべての指標を一行ずらせば十分ですか?

いいえ。シフトは特定の未来値の使用を除けますが、タイムゾーン、公表の遅れ、改訂、データ準備を自動的に解決するわけではありません。決め手は、その時点で各入力を利用できたことの裏付けです。

02評価に将来の結果を使うことは常に誤りですか?

いいえ。以前に作った予測を評価するには、後から判明した結果が必要です。誤りになるのは、その未来情報が予測のそれ以前の意思決定、学習、ルール選択に入る場合です。

DOC · 001QuantConnect — Time Modeling: Timeslices文書 ↗DOC · 002QuantConnect — Custom Securities: Avoid Look-Ahead Bias文書 ↗DOC · 003Federal Reserve Bank of St. Louis — FRED API Real-Time Periods文書 ↗DOC · 004scikit-learn — Common Pitfalls: Data Leakage文書 ↗DOC · 005TradingView — Strategies: Broker Emulator and Lookahead Bias文書 ↗DOC · 006Freqtrade — Lookahead Analysis文書 ↗DOC · 007NFA — Use of Promotional Material Containing Hypothetical Performance Results文書 ↗
一次資料を優先 · 投資助言ではありません