アウト・オブ・サンプル・テスト

アウト・オブ・サンプル・テストを探る:仕組み、違い、制約、実践的な確認方法。

アウト・オブ・サンプル・テスト

アウト・オブ・サンプル・テストとは

アウト・オブ・サンプル・テストは、戦略や取引モデルを構築・調整・最適化する際に使用しなかったデータで、その戦略やモデルを評価するためのステップです。重要な考え方は分離です。つまり「イン・サンプル」の部分は開発に使い、「アウト・オブ・サンプル」の部分は後で評価に使います。

FXのバックテストおよびフォワードテストの文脈では、アウト・オブ・サンプル・テストは、純粋に遡及的なテストとライブ評価の中間的なものとして説明されることがよくあります。答えたいのは次のような特定の問いです。未見の市場データに適用しても、そのアプローチはまだ機能するのか?

FXのバックテスト&フォワードテストでの仕組み

時間でデータを分割する

よく用いられ、かつ妥当性のあるアプローチは、時系列で過去データを分割することです。たとえば、より早い期間を使ってルールやパラメータを開発します(イン・サンプル)。その後の期間でパフォーマンスを評価します(アウト・オブ・サンプル)。時間順を守ることが重要なのは、FX市場は変化するからです。開発に将来のデータを使うと、誤解を招くほどの精度の感覚を生み出してしまう可能性があります。

テスト前に判断を固定する

アウト・オブ・サンプル・テストには、アウト・オブ・サンプル期間で評価する前にモデルを固定して扱う場合にのみ意味があります。つまり、通常は、アウト・オブ・サンプルの結果に基づいてパラメータを変更したり、複数のバリアントの中から選んだりすることを避けます。

理解するための実務的な見方はこうです。アウト・オブ・サンプルの区間は、別の作業用シートではなく「最終試験」のように振る舞うべきです。アウト・オブ・サンプルの結果を繰り返し「覗いて」それに基づいて修正してしまうと、開発に情報を逆流させることになります。

同じ指標と現実的な制約で評価する

期間間でパフォーマンスを比較するために、同じ評価指標を使います。FXでは、関連する指標として、収益性の指標、ドローダウンの挙動、結果の一貫性などが考えられます。指標の正確なセットは戦略によって異なりますが、測定を一貫させるべきだという原則は同じです。

同様に重要なのは、アウト・オブ・サンプル評価で使う前提が、戦略が実際にどのように執行されるかと一致している必要があることです。バックテストがコストを無視していたり、非現実的な約定を使っていたり、完璧な執行を前提にしていたりすると、評価は過度に楽観的になる可能性があります。

複数のアウト・オブ・サンプル分割を使う

市場は常に同じ振る舞いをするわけではないため、1つのアウト・オブ・サンプルのウィンドウだけでは不完全なテストになり得ます。開発中にはまだ見ていない複数のアウト・オブ・サンプル分割を使うことで、パフォーマンスが特定の市場レジームに依存しているかどうかを明らかにできます。

重要な制約とリスク

過剰適合はそれでも起こり得る

アウト・オブ・サンプル・テストは過剰適合のリスクを下げますが、それを完全に排除するわけではありません。候補となる多くのモデルをテストし、アウト・オブ・サンプルデータで最も良いものを選ぶと、実質的に評価データを選定のために再利用していることになります。これにより、知覚されるパフォーマンスが膨らむ可能性があります。

関連する問題として、過度に柔軟なモデリングがあります。たとえある未見の期間で戦略が良さそうに見えても、その後に消えてしまうパターンに依存しているかもしれません。

市場レジームの変化が結果を変える

FXは、マクロ条件の変化、ボラティリティのパターン、流動性の状況の影響を受けます。開発期間に似たアウト・オブ・サンプル期間では、異なるレジームの下で見えるはずのものよりも、テストが強く見えてしまうことがあります。

だからこそ、複数の分割と時間を意識した分割が重要です。それでも、良い設計をしていても、将来の条件はどの過去のテストウィンドウとも異なる可能性があります。

バックテストと執行の違い

バックテストは実取引を近似します。スプレッドの拡大、スリッページ、注文の執行タイミング、あるいは銘柄固有の挙動などの小さな不一致は、結果を大きく変える可能性があります。アウト・オブ・サンプル・テストは、シミュレーションの前提が生み出すものしか測定しません。実際の執行で起こる真の結果は測定できないのです。

統計的な不確実性は残る

アウト・オブ・サンプルのパフォーマンスがプラスであっても、その結果はランダム性の影響を受ける可能性があります。異なる期間で異なる結果が出ることがあり、特に取引回数が限られている場合や、リターンの分散が大きい場合はなおさらです。したがって、アウト・オブ・サンプル・テストは確実性ではなく「証拠」として扱うべきです。

理解を独立して検証する方法

アウト・オブ・サンプル・テストは、分離ルールを実装し、その後、時間の分割と評価指標にわたって結果が安定しているかを確認することで、最もよく理解できます。評価を一貫して再現でき、開発に使ったデータと評価に使ったデータを明確に示せるなら、そのテストはより独立的で、情報量の多いものになります。

また、アウト・オブ・サンプルの結果を、後のフォワードを見据えた評価ステップと比較するのにも役立ちます。フォワードテストは、歴史的な近似を超えて現実味を加えるからです。ただし、フォワードテストにも不確実性はあり、結果を保証するものではありません。

フォワードテストの次にどこに位置づくか

アウト・オブ・サンプル・テストは、通常、遡及的なバリデーション手順です。開発との分離を尊重しながら履歴を使います。フォワードテストはその後に行われ、より実務的です。より現実的な状況での挙動を評価するからです。

実際には、多くの読者が、後の評価に時間を使う前に、明らかな過剰適合を減らす方法としてアウト・オブ・サンプル・テストを捉えています。重要な限界は、注意深いアウト・オブ・サンプル・テストでも不確実性を取り除けないことです。FXの条件は変わり得ますし、シミュレーションは執行から乖離する可能性があります。

より広いワークフローを探りたい場合は、forex backtesting & forward testing を参照してください。

DOCUMENT END

外国為替およびCFD取引には大きなリスクがあります。FoxiForexの情報は教育目的であり、個別の金融助言ではありません。スポンサー掲載は明確に表示されます。