ウォークフォワード検証における拡大型とローリング型ウィンドウ
金融モデルの拡大型と固定長ローリング型の学習ウィンドウを比較し、検証と最終テストを分け、将来の結果を使わずにルールを選ぶ方法を説明します。
このガイドの内容ウォークフォワードのフォールドでは学習と評価の期間が分かれる
短い要約
拡大型の学習ウィンドウは、最初の適格な履歴を残したまま、新たに観測されたデータを追加します。ローリングウィンドウは、直近の適格な観測を一定数だけ残し、それより古い行を外します。どちらも時系列順のウォークフォワード評価に使えますが、モデル選択と最終テスト期間を分ける必要は変わりません。
ウォークフォワードのフォールドでは学習と評価の期間が分かれる
予測時点で研究者が知っているのは、過去の特徴量と結果の一部です。その情報でモデルを適合または更新し、その後のブロックで評価します。時点を前に進めると、連続したアウトオブサンプル期間ができます。学習ウィンドウのルールは、再適合のたびに利用できる過去のどの行を使うかを定めます。検証とテストのルールは、選択肢の比較や性能推定にどの将来結果を使うかを定めます。関連する判断ですが、同じウィンドウのことではありません。
拡大型は固定した過去の境界から始まり、新しい結果が利用可能になるたびに大きくなります。ローリング型は両端を前に移動し、初期期間の後も観測数を一定に保ちます。どちらでも、予測時点までに結果が確定していない目的変数を使ってはいけません。ラベルが複数セッションにまたがる場合、行の日付だけでは結果がいつ既知になったか分からないことがあります。ラベルの終了時刻を記録し、それに基づいて管理してください。
特徴量の後方参照期間とモデルの学習ウィンドウも分けて考えます。各行のボラティリティを直近の短い期間で算出しつつ、モデル自体は複数年の行で学習する場合があります。特徴量の期間を変えると入力が変わり、学習ウィンドウを変えるとモデル推定に使う観測が変わります。
拡大型ウィンドウは初期の履歴を残す
最初の適格な観測のインデックスを \(s\)、再適合時点でラベルが確定した最新観測のインデックスを \(t\) とします。拡大型の学習集合は \(\{s,s+1,\ldots,t\}\) です。次の予測時点では既存の行を残し、新たに適格になった行を追加します。別のフィルターがない限り、学習標本は時間とともに大きくなります。
古いデータが対象の関係を今も表しているなら、観測数の増加はパラメーター推定の標本誤差を抑える可能性があります。短い直近標本には現れにくいまれな市場局面を残し、過去の切り捨て地点を恣意的に選ばずに済むこともあります。一方、古い行は古いというだけで影響を失うわけではありません。特徴量とリターンの関係が変化すると、初期のデータが現在とは異なる状況へ推定を引き戻す可能性があります。標本が大きくなるほど再適合が遅くなる場合もあります。履歴を残せば代表性が自動的に高まるわけではありません。
ローリングウィンドウは選んだ範囲の外を除外する
固定長を \(W\) とすると、時点 \(t\) の学習集合は、ラベルの遅延や境界の間隔を考慮したうえで \(\{t-W+1,\ldots,t\}\) です。次の時点では終点が前に進み、最も古い適格な行が外れます。長さは観測数または暦時間で表せますが、不規則なデータでは両者は同じではありません。
ローリングウィンドウは新しさに関するルールを定めます。変化する状況への適応を調べたい場合や、運用上、学習データ量を一定に保ちたい場合に役立つことがあります。ただし、それだけでモデルが自動的に適応するわけではありません。再適合の頻度が低い場合や変化が緩やかな場合、対応が遅れることがあります。短い期間は推定を不安定にしたり、まれなストレス局面を除外したり、複雑なモデルに必要な標本を不足させたりします。長い期間は幅広い履歴を残しますが、最近のパターンを薄める可能性があります。
単位も重要です。同じ行数でも、欠損日や観測頻度の違いで暦上の期間が変わります。パネルデータでは、行を削るのか、日付ごとの資産グループを削るのかを定義してください。最終テストを見たあとに \(W\) を選ぶと、テスト期間を選択に使うことになり、独立したテストではなくなります。
2つのルールでは再適合に入る履歴が異なる
| 選択肢 | 再適合時の学習行 | 想定できる利点 | 確認すべきコスト |
|---|---|---|---|
| 拡大型 | 固定した開始点から時点までの全適格行 | 観測が多く、古い局面も保持する | 過去のレジームが影響し続け、適合が遅くなることがある |
| ローリング型 | 適格行のうち直近の固定期間 | 新しさの基準が明確で標本数を制限できる | 情報が少なく、選んだ期間に結果が左右されやすい |
ウィンドウ方針だけを比較するには、情報の締め時点、特徴量、モデルの種類、学習目的、再適合日、予測期間、テストブロック、執行の前提をそろえます。ローリング型だけ再学習の頻度や特徴量を変えると、スコア差をウィンドウだけに帰属できません。
これらのルールは予測起点の選択とは別です。適格な過去で学習し、次のブロックを予測して前に進むローリング起点の評価に、どちらの学習ウィンドウも使えます。Leonard Tashmanのアウトオブサンプル予測テストのレビュー00065-0)は、ローリング起点とローリング推定ウィンドウを扱っています。前者は評価の時点を、後者は残す学習行を定めます。
仮の時間軸で再適合ごとの入力を確認する
以下の日付と数値は仮定です。モデルを毎月再適合し、翌月リターンを予測し、最初の適合では120か月目までに結果が確定した適格な観測を60件使うとします。ラベルは結果が完了してから使えます。ローリングの長さが60なら、最初の予測時点では両方とも同じ60行を使います。
新しい月の結果が分かると、拡大型は61行になります。ローリング型は新しい行を追加して最も古い行を外すため、60行のままです。12回更新した後、拡大型は最初の開始点から72行を含み、ローリング型は直近60行を保ちます。各行が再適合時に利用可能でも、履歴が違うので推定値が変わることがあります。
この例では最後の24か月を外側のテストとして確保します。ウィンドウ規則と長さ、特徴量、ほかの設定は、それより前の時系列検証期間で選びます。その後、事前に定めた再適合スケジュールで、選択を固定して評価します。外側テストの結果を見て長さを変えると、テスト結果で選択することになり、最終期間の証拠を過大評価します。
時系列検証の中でウィンドウ規則を選ぶ
比較する前に問いを定めます。各再適合で利用可能な履歴をすべて使うべきか、古い例を学習から外す理由があるか。対象の関係は安定すると想定するか、重要な入力が変化しうるか。こうした問いは候補を絞る助けになりますが、特定の市場でどちらが勝つかを前もって証明するものではありません。
前段の開発データで、拡大型と妥当な数種類のローリング長など、事前に決めた少数の候補を、同じ時系列検証ブロックと再適合頻度で比較します。予測損失、確率の較正、売買回転を考慮したポートフォリオ効用、最大ドローダウンは異なる問いに答えるため、採点前に目的を決めます。コストと制約をそろえ、適合失敗や予測欠落も記録します。目標期間やテストブロックが重なると、隣接スコアが同じリターンを共有することがあります。各行を独立実験と数えず、その依存を説明してください。
後の時系列期間を最終確認用に未使用のまま残します。ネストした設計では、内側の検証が各外側テストブロックより前に利用可能なデータだけでウィンドウなどを選び、外側の結果が選択手順全体を評価します。Purged CVガイドはラベルの重複境界を説明し、金融モデルの過剰適合と多重検定は関連する選択リスクを扱います。
ラベル、前処理、再適合の時点を当時の情報に合わせる
各起点では、その時点で既知の特徴量とラベルだけを使います。複数セッションにわたる先行リターンは、意思決定日が境界より前でも、検証境界付近では未確定かもしれません。必要なら実際のラベル期間に沿って間隔を空けるか行を除外します。固定行数の間隔が妥当なのは、観測間隔と目的期間がそれを支える場合だけです。将来情報を含む特徴量は、ウィンドウ規則では修正できません。
欠損補完、スケーリング、特徴量選択など学習を伴う前処理は、各フォールドの学習部分だけで適合します。しきい値やハイパーパラメーターを選ぶ必要があれば、学習期間内の時系列検証を使い、後のブロックを採点するときは選択を固定します。scikit-learnの公式TimeSeriesSplit文書では、既定で学習集合が拡大し、max_train_sizeでサイズを制限できます。gapはサンプル数で、フォールド期間を比較可能にするには観測間隔が等しい必要があります。タイムスタンプ付き金融ラベルや利用バージョンも別途確認してください。
起点ごとの性能を報告し、評価の限界を説明する
ウィンドウ規則と正確な長さ、最も古い保持日、各再適合時の適格行数、ラベル利用可能性の定義、検証と最終テストの日付、予測期間、再適合スケジュールを報告します。集計に加えてテストブロック別の結果も示します。平均値は特定の市場局面の影響を隠すことがあり、隣接予測は同じ結果を共有して独立した証拠にならないことがあります。
予測精度は取引の純利益ではありません。ポジション構築、レバレッジ、回転率、流動性、手数料、スプレッド、市場インパクト、借入、資金調達、執行時点が実績に影響します。比較中は前提をそろえ、除外した項目を明記します。Cerqueira、Torgo、Mozetičによる時系列性能推定の研究は、定常と非定常の状況で推定値が異なることを報告しています。この研究が金融のウィンドウ方針を直接比較しているわけではなく、どちらかが常に優れると示すものでもありません。
各バックテストは、指定した履歴と手順についての証拠として扱います。拡大型は古いレジームを残し、ローリング型は有用な情報を捨てて推定を不安定にする可能性があります。異なるレジーム、資産ユニバース、コスト環境では選んだ規則が失敗することもあります。検証は試した手順の不確実性を減らしますが、将来のリターンを約束せず、最適なウィンドウを証明するものでもありません。
よくある質問
Q1より多くのデータを使う拡大型ウィンドウは常に優れていますか?
いいえ。古い観測が今も有用なら推定を安定させますが、古い市場レジームが影響し続ける場合もあります。データ、目的、特徴量、推定器、評価期間によって異なります。
Q2ローリングウィンドウは市場レジームの変化に自動で適応しますか?
いいえ。選んだ範囲から外れた行を取り除きますが、変化を検出するわけでも、新しい標本が次のレジームを表すと保証するわけでもありません。再適合頻度、期間、モデル設計が重要です。
Q3ウィンドウの調整と最終性能の報告に同じ期間を使えますか?
その期間はモデル選択に使われたことになります。時系列検証で規則を選び、後の未使用テスト期間で固定した選択手順を評価してください。その結果も、試した履歴と前提についてのものです。
出典
問題を報告
この記事のリンクを含むメールを準備します。送信すると Mark に報告が届きます
クイックチェック
記事を読み終えたら、3問で確認しましょう
問題 01
固定長のローリング学習ウィンドウでは、次の再適合で何が変わりますか?
答えを選ぶと解説を確認できます