暗号通貨バックテスト: 偽の優位性を避けるための初心者向けチェックリスト

バックテストは、明確な取引ルールを過去データに適用します。それは、そのルールが特定の仮定の下でどのように振る舞ったかを問うものであり、来月にどれほど稼げるかを問うものではありません。最も価値のある結果は、

教育用ガイドです。例は仮定に基づくものであり、実際の市場価格ではありません。個別の投資助言ではありません。

バックテストは、明確な取引ルールを過去データに適用します。それは、そのルールが特定の仮定の下でどのように振る舞ったかを問うものであり、来月にどれほど稼げるかを問うものではありません。最も価値のある結果は、 hindsight(後知恵)を取り除き現実的なコストを含めることで魅力的なアイデアが消えてしまうことを発見することかもしれません。

結果を検査する前にルールを記述する

資産の範囲、取引所、時間枠、シグナル、エントリーのタイミング、ポジションサイズ、退出条件、および最大同時エクスポージャーを指定します。また、欠損データの扱いや、借入や空売りの要件も指定します。明確な仮定を持つ単純なルールは、 equity curve(純資産曲線)を改善するために発明された例外の集まりよりも監査が容易です。

例示のため、移動平均に対する完了した日足終値を観察し、次の利用可能な執行機会より早く取引しないルールを想像してください。これは推奨される戦略ではなく、テスト仕様です。最終終値を使用するシグナルは、同じローソク足の中でより早く約定する魔法をかけられません。

データが実際に何を表しているかを確認する

一貫したタイムスタンプとタイムゾーンを使用する。重複するローソク足、欠落した間隔、取引所の障害、不審な価格がないか確認する。集約されたすべてのクォートが意図した取引所で執行されたとは限らないと仮定してはならない。デリバティブでは、契約仕様と資金調達履歴が重要であり、スポットでは上場日と利用可能なペアが重要である。

生存者バイアスを避ける。今日の成功したトークンは、過去に存在したすべてのトークンを表すものではない。失敗した資産や上場廃止となった資産を除外すると、戦略が実際よりも強靭に見える可能性がある。今日利用可能な市場データには、当時は知られていなかった改訂や分類が含まれている可能性もある。

結果を無効化する3つのショートカット

先読みバイアスは、情報が利用可能になる前の情報を使用することである。例としては、未確定のローソク足で取引したり、後に改訂されたデータポイントを当時は知られていたかのように使用したりすることが挙げられる。シグナルと執行を意図的にずらし、数件の取引を手動で監査する。

過剰適合とは、歴史的なノイズにルールを適合させることを意味する。数百ものパラメータ組み合わせを試行し、勝者だけを報告すると、隠れた選択問題が生じる。試した内容を記録し、理解しやすいルールを優先し、最良の結果を偏りのない発見として提示してはならない。

Backtest without hindsight: Audit the assumptions behind the equity curve. Original diagram; hypothetical examples.

イントラバーの曖昧さは、ローソク足データではイベントの順序を特定できない場合に生じます。ストップとターゲットの両方がローソク足の範囲内にある場合、OHLC値だけではどちらが先に発生したかを示せないことがあります。より細かなデータを使用するか、保守的な仮定を採用し、その選択を明記してください。高値または安値が制限価格にタッチしたからといって、あなたの注文に執行優先権があったことを証明するものではありません。

実際の取引コストを含める

エントリーおよびイグジット手数料を控除し、スプレッドとスリッページをモデル化し、関連する場合は資金調達コストを含めます。最小注文サイズと現実的な流動性を尊重してください。高コストをストレステストとして検証してください。不可能な約定を必要とするアプローチは、より魅力的なチャートでは改善されません。

1万ドルの初期証拠金を持つ仮想的なテストでは、総利益800ドル、総モデル化コスト350ドルが純利益450ドル(4.5%)を生み出しますが、これは税金や省略された影響を考慮する前です。総リターン alone では8%を示すだけでした。どちらの数値も、その過程でのドローダウンの規模については何も示していません。

開発と評価を分離する

開発には早期の期間を使用し、評価には後期の、 untouched な期間を使用してください。ウォークフォワードプロセスでは、早期の情報に基づいて繰り返し開発し、その後のウィンドウで評価します。保持されたセットに対して繰り返しチューニングすると、それはもはや真に untouched ではありません。適切なデータが存在する上昇、下落、横ばいの条件全体でテストしてください。

最大ドローダウン、エクスポージャー、ターンオーバー、トレード数、平均利益と損失、および少数の外れ値への依存度とともに、純リターンを検討してください。ドローダウンは過去のエクイティピークからの下落を測定します。最終残高が良好でも、耐え難い経路を隠している可能性があります。小さなサンプルや1回の幸運なトレードが、要約統計を支配することがあります。

次のステップは別のテストです

結果を他者が再現できるように、ルール、データウィンドウ、および仮定を保持してください。その後、変更されていないルールで https://realcryptocap.com/articles/crypto-paper-trading-guide を使用してフォワードテストを行ってください。過去の収益性は予測ではなく、バックテストは実資本をリスクにさらすことが適切であることを証明するものではありません。

出典および参考文献:Binance Academy、「バックテストとは何か」 — https://academy.binance.com/en/articles/what-is-backtesting; Binance Academy、「取引戦略のバックテスト方法」 — https://academy.binance.com/en/articles/how-to-backtest-a-trading-strategy。オリジナルの例を用いた独立した解説。

All RealCryptoCap analysis