Risk Management / 9 min read
仮想通貨取引戦略のバックテスト:自己欺瞞を避ける方法
バックテストが本当に測るもの、過学習の罠、インサンプルとアウトオブサンプルの違い、そして勝率よりエクスペクタンシーと最大ドローダウンが重要な理由を解説する。
バックテストによる暗号資産取引戦略の検証は、科学的な作業に見える。過去の価格データをシステムに投入し、資産曲線が右肩上がりに伸びるのを眺めながら、優位性を発見したと確信する。しかし大抵の場合、発見したのは過去に適合した曲線に過ぎない。真の優位性の発見と、見栄えの良いバックテストの作製との違いは、システマティックトレーディングにおける最も重要な区別の一つであり、暗号資産市場ではこの誤りが特に致命的になりやすい。
まず、バックテストの本質から考えよう。過去のデータに一定のルールを適用し、その期間中にそのルールで取引していた場合に何が起きていたかを測定する作業である。バックテストが示すのは一点のみ——特定のデータセットに対し、その期間に存在した条件下で当該ルールがどのように機能したか、ということだ。次に何が起こるかについては何も語らない。これは自明に聞こえるが、トレーダーはしばしばパフォーマンスの良いバックテストを将来の収益性の証拠と誤認する。この二つの間の隔たりこそが、大多数のシステマティック戦略が失敗する場所である。
インサンプルとアウトオブサンプルの区別は、プロセスにおいて最初に規律が問われる部分だ。インサンプルデータとは、ルールの開発と最適化に使用する過去の期間を指す。アウトオブサンプルとは、完全に切り離して保管し、開発完了後に一度だけ——設計したルールが対象期間を超えて汎化するかどうかの最終検証として——使用するデータである。典型的な誤りは、利用可能なすべてのデータで最適化を行い、その結果をバックテストと呼ぶことだ。実際には、過去を最もうまく説明するパラメータセットを見つけただけであり、それは予測エンジンではなく説明エンジンである。適切なプロセスでは、構築にインサンプルを使用し、過去データの30〜40パーセントを封鎖しておき、すべてのパラメータ決定が確定した後にのみ、その保留データでテストを行う。アウトオブサンプルのパフォーマンスがインサンプルから大幅に劣化した場合、過学習が発生している。
過学習(カーブフィッティング)は、システマティック戦略開発における中核的な病理である。モデルに十分な自由度——十分なパラメータ数、条件数、フィルター数——を付与することで、戦略が市場の構造的な挙動を学習するのではなく、訓練データを本質的に暗記してしまうときに発生する。7年分のビットコイン時間足データで最適化された12個のパラメータを持つ戦略は、バックテストの見栄えが優れていても、ほぼ確実に過学習している。過学習の検証基準は資産曲線ではない。その戦略のロジックが、持続する合理的な根拠を持つ、識別可能かつ再現可能な市場のダイナミクスに対応しているかどうかだ。買い手と売り手がなぜ一貫してこのように行動するのかを一文で説明できないなら、その優位性はおそらく最適化プロセスの統計的な副産物に過ぎない。
サンプルサイズの要件は暗号資産市場において過小評価されている。その一因として、トレーダーが数年分のデータを本質的に十分なものとして扱う傾向がある。しかし戦略の取引頻度が低い場合、それは十分ではない。年間30トレードを3年間生成する戦略は、バックテストで90トレードしか得られない。優位性検出における統計的有意性には、アウトカムの変動性によるが、一般に200〜400トレード以上が必要とされる。90トレードでは、同じリターン分布のモンテカルロシミュレーションを実行すると、壊滅的なものから例外的なものまで、あらゆる資産曲線が同じ期待値と整合する形で生成される。90トレードで観察される勝率と平均Rは、ほとんど信頼に足る情報を持たない。サンプルが意味を持つかどうかを決定するのは、時間軸単独ではなく、取引頻度と時間軸の積である。
暗号資産における先読みバイアスは特に注意が必要だ。株式よりも意図せず混入させやすいからである。従来のバックテストフレームワークでは、先読みバイアスは通常、将来の価格や将来の指標値をシグナル生成に使用することを意味する。暗号資産では、より巧妙な形で現れる。日足の終値を使用してザラ場のエントリーをシミュレートすることは、終値が確定する前にそれを知っていたという前提を置くことになる。事後的に集計されたオーダーブックデータを使用することは、リアルタイムでは利用できなかった情報を取り込むことになる。多くの暗号資産データベンダーはトレードデータからOHLCVロウソク足を再構成しており、薄商いの期間や取引所障害の処理方法論が、結果を系統的に歪める不整合を生じさせることがある。データソースの方法論を慎重に検証するまでは、データに問題があると仮定すべきだ。
暗号資産はバックテストを株式よりも本質的に難しくする構造的な課題をはらんでいる。大半のアルトコインの流動性は十分に薄く、テストしているサイズでのシミュレーション上の約定は現実には達成不可能だったはずだ。2024年のBinanceで1トレードあたり0.5 BTCを執行する戦略は適切にテストできるかもしれない。しかし同じ戦略を同等のドル規模で中型アルトコインでテストすると、市場を自身に不利な方向に大きく動かしていたであろう約定をシミュレートしていることになる。先物プラットフォームでは特に高ボラティリティ時に取引所の障害が発生し、いかなるバックテストでも再現できない執行上のギャップが生じる。無期限先物のファンディングレートの体制は市場サイクルをまたいで劇的に変化し、資金調達コストを無視した戦略は、ライブ取引で損失を出しながらも収益性があるように見える可能性がある。手数料モデリングは精緻でなければならない——メイカーとテイカーの違い、段階的な手数料構造、そして表示手数料を超える実現スリッページ——そうでなければバックテストは定義上、楽観的すぎる結果を示す。
フォワードテストは、過去の検証とライブ資金投入の橋渡し役である。戦略がインサンプル最適化とアウトオブサンプルテストを通過した後、最小限のポジションサイズ——あるいはペーパートレード形式で(ただし実際の執行の方がより多くを学べる)——で実際の市場条件下で取引し、ライブパフォーマンスがバックテストによって予測された統計的分布と一致するかどうかを追跡する。重要な問いは、フォワードテスト期間中に戦略が利益を上げるかどうかではない。トレード単位の特性——平均勝ちトレード、平均負けトレード、アウトカムの分散——がバックテストの予測と整合しているかどうかだ。大きな乖離は、バックテストに欠陥があるか、あるいは市場環境が優位性を無効にする形で変化したことを意味する。
重要な指標は、大半のトレーダーが報告するものとは異なる。勝率は、ペイオフ比率と組み合わせなければほぼ無意味だ。平均勝ちトレード3Rを伴う勝率35パーセントは、平均勝ちトレード0.8Rを伴う勝率65パーセントよりも優れた優位性である。期待値——リスク1単位あたりの平均獲得額、(勝率×平均勝ち額)から(敗率×平均負け額)を差し引いて算出——が最も重要な単一の数値だ。シャープレシオが1.0を超えていれば、ボラティリティに対してリターンが適切であることを示す。最大ドローダウンとリカバリーファクター——純利益を最大ドローダウンで除した値——は、戦略が避けられない連敗期間を乗り越えられるかどうかを明らかにする。高い期待値を持ちながらリカバリーファクターが2.0を下回る戦略は、実際のトレーダーの大半が実践において維持できないほどの資金管理規律を要求する。
実践的なフレームワークは以下の通りだ。インサンプルデータのみで構築し、すべてのパラメータを確定させ、アウトオブサンプルデータで一度だけ実行し、統合サンプルで少なくとも300トレードを確保し、データソースの方法論を検証し、手数料とスリッページを保守的にモデリングし、アウトオブサンプルの結果が許容できるものになるまでフォワードテストを行わない。初回の実行で許容できない結果が出た場合、合格するまで再最適化を繰り返すことは正しい対応ではない。その再最適化は、インサンプルとアウトオブサンプルの区別を完全に崩壊させる。まず測定し、次に優位性が本物かどうかを判断する。
リサーチ文脈
仮想通貨取引戦略のバックテスト:自己欺瞞を避ける方法 の使い方
この内容は backtest crypto strategy, crypto backtesting, overfitting trading, trading strategy testing とつながります。BlackHole の考え方では、まず文脈を読み、次に確認を待ち、その後に実行品質が十分かを判断します。
文脈
市場レジーム、流動性の位置、周辺構造から始めます。
確認
初期の反応と、シナリオを本当に支える証拠を分けます。
実行
アイデアをリスク、タイミング、明確な意思決定に落とし込みます。
BH Terminal ワークフロー
関連インサイト