トレーディング戦略のバックテストの方法を学ぶことは、一つの規律に帰着します。ルールを書き留め、過去のデータに対して正確に再生し、すべてのシミュレーション取引を記録し、運に対して罰を与える指標で結果を評価します。それ以外はバックテストとは見なされません。チャートをスクロールして良いエントリーを思い出すことは記憶の演習であり、テストではありません。
ステップは単純にリストアップでき、間違いやすい部分もあります。ほとんどの不完全なバックテストは、データの質、サンプルサイズ、または未来から過去に漏れた情報によって失敗します。 ルール.
このガイドでは、トレーディング戦略のバックテストを一から十まで解説します。手動および自動テスト、必要な歴史の長さ、読んで価値のあるパフォーマンス指標、先見の偏り、リアルな資本が関与する前のサンプル外検証についてカバーします。
簡単な回答: トレーディング戦略のバックテストの方法
全プロセスをカバーする六つのステップがあり、それらのいずれかをスキップすると結果が無効になります。
- エントリー、エグジット、サイズ、フィルターのための明確なルールとして戦略を書きます。
- 実際に取引する市場と時間枠のためのクリーンな歴史データを集めます。
- 次に何が起こるかを知らないまま、バーごとにルールを再生します。
- 忘れたい損失を含むすべてのシミュレーション取引を記録します。
- 単なる総リターンではなく、リスク調整されたパフォーマンス指標で結果を評価します。
- 実際に何かをリスクにさらす前に、ストラテジーがまだ見たことのないデータで再テストします。
ステップ3はほとんどのテストが失敗するところです。ステップ6はほとんどの人が早めに停止するところです。
バックテストが証明することとできないこと
バックテストは狭い問いに答えます。特定の歴史の一部分で固定されたルールセットがどのように機能したかを教えてくれます。これは本当に役立ちます。なぜなら、全く機能しなかったアイデアを排除するからです。
それは次に何が起こるかを教えてくれません。規制当局がこの警告を繰り返すのには理由があり、 過去の実績が将来の結果を示唆しない という点は、自分自身のシミュレーション記録にも完全に適用されます。
バックテストはあなたの行動をモデル化することもできません。歴史的なカーブは決してためらわず、ストップを拡大せず、3回の損失の後に取引を飛ばすことはありません。あなたはそうします。テストされたルールと実際に取引されたルールとの間のギャップが、失望の最大の原因です。
手動バックテスト vs 自動バックテスト
| 要素 | 手動再生 | 自動テスト |
|---|---|---|
| セットアップ時間 | 開始まで数分。 | 構築に数時間または数日。 |
| サンプルサイズに達した | 数十件の取引。 | 数千件の取引。 |
| バイアスのリスク | 高い、なぜならチャートを見るから。 | 低い、コードが正直であれば。 |
| 最適な使用法 | セットアップの感覚を学ぶこと。 | エッジが存在するかどうかを測定すること。 |
| 主な弱点 | 小さなサンプルと願望的なマーキング。 | 結果を盛り上げる静かなバグ。 |
手動リプレイには一つの真の利点があります。それは、チャートのあいまいさを、バーチャルにバーごとにじっくり考えさせることです。これにより、自分のルールが不明瞭な部分を学ぶことができます。自動テストは、スキルとノイズを区別するのに十分なサンプルサイズに到達する唯一の方法です。
ほとんどのトレーダーは両方が必要です。ルールを明確にするために、まず100バーを手動でリプレイし、その後自動化してそれらを測定します。
バックテストプロセス、ステップバイステップ
これは、トレーディング戦略をバックテストするための実践的な核心です。手順を順番に進め、ステップ5を終える前に結果を見る誘惑に抵抗してください。
ステップ1:アイデアを他人が従えるルールに変える
すべての条件には数値が必要です。「強い戻りでエントリー」はテストできません。「二度連続して安値で終わった後、価格が20期間の平均線を再び上回った時にエントリーする」というのはテスト可能です。エグジット、ストップ、 ポジションサイズ 、そして自分を排除するフィルターも含めてください。
チャートを再度見る前にルールを書き下ろしてください。データを見ながら書いたルールにはすでに汚染があります。
ステップ2:自分のトレード方法に合ったデータを収集する
同じ時間枠、同じ商品、そしてライブトレードする予定の同じセッションを使用してください。ギャップ、不良ティック、欠けた日を確認してください。休祝日のセッションや早じまいは、日中の平均を歪めるため、NYSEの営業時間やカレンダーのページなど、 祝日と営業時間のカレンダー が短縮された日を教えてくれます。
ステップ3:覗かずにルールをリプレイする
各決定は、その瞬間に利用可能な情報のみを使用しなければなりません。ルールが日々の終値を参照している場合、昼休みにその情報を使うことはできません。この制約が、テストとストーリーの違いを生み出します。
ステップ4:すべてのシミュレーションされた取引を記録する
エントリー時間、出口時間、方向、サイズ、リスクユニットでの結果、および取引が終了した理由を記録します。取引ログがないバックテストは後で監査できず、監査されていない結果は、損失が続く最初の時点で放棄されます。
ステップ5:現実的なコストを差し引く
各往復についてスプレッド、手数料、およびスリッページの許容範囲をモデル化します。頻繁な取引には多くの費用がかかり、SECはコストや損失がアクティブなトレーダーに与える影響が大きいことを明言しています。デイトレーディング:あなたのドルが危険にさらされています。). コストゼロでのみ機能する戦略は機能しない。
ステップ6:結果を評価し、他の場所で再テストする
以下に説明する指標を計算します。その後、意図的に除外した期間または金融商品に対して同じルールを実行します。両者の一致は、あなたが得られる最も近い証拠です。
サンプルサイズ、時間の範囲、アウトオブサンプルテスト
トレーディング戦略を適切にバックテストする方法を尋ねると、二つの構造的な質問に直面します。どれだけの歴史が十分なのか、そしてその一部をどのように誠実に保つのか?両方に答えれば、残りのプロセスは帳簿管理です。
どれだけの歴史が十分なのか
サンプルサイズは静かな殺人者です。30回の取引ではほとんど何もわからない、なぜならそのような運が続くことは普通だからです。週に1回取引を行うルールには、防御可能なカウントを作成するために数年の歴史が必要です。
時間の範囲を決定する二つの質問があります。サンプルには何回の取引が含まれ、どれだけの異なる市場条件を網羅していますか?穏やかな上昇市場だけをカバーするテストは、一つのレジームを測定し、それを世界と呼びます。
頻度が許す場合は数百回の取引を目指します。許さない場合はそれを明確に述べ、その結果を一時的なものとして扱います。また、歴史には少なくとも一度の急激なドローダウン期間が含まれていることを確認してください。なぜなら、それが戦略の評価を受ける場所だからです。
先行バイアスと他の静かな誤り
先行バイアス
これは、決定時には利用できなかった情報を使用することを指します。それは、インターバーで使用された終値、全系列で再計算された指標、そして事後に修正されたデータを通じて浸透します。その結果は素晴らしく見え、再現できません。
解決策は手続きにあります。すべての入力にタイムスタンプを付け、それぞれのルールについて、そのときに知ることができたかどうかを問いかけます。
生存者バイアス
今日も存在する金融商品だけをテストすることは、サンプルから失敗を除外します。現行インデックスからスクリーニングされたバスケットは、落ちたすべての企業を静かに除外します。測定されたリターンは、戦略とは無関係な理由で上昇します。
過剰適合とカーブフィッティング
株式曲線が美しく見えるまでパラメータを調整すると、ノイズに適合するだけで、市場には適合しません。9つの調整可能な設定を持つルールは、どんな歴史でも完璧に説明できます。少ないパラメータを好み、ひとつの魔法の数よりも広範囲にわたる値の近所で機能する設定を好みます。
結果を評価するためのパフォーマンス指標
総リターンは、ページ上で最も情報が少ない数字です。リスク調整後の指標は、戦略が取引可能かどうかを教えてくれます。
読む価値のある指標
- 取引ごとの期待値, リスク単位で表され、ルールの平均的な結果を示します。
- 最大ドローダウン, 最深のピークから谷までの下落幅で、耐えられるサイズを設定します。
- 勝率とペイオフ比率の組み合わせ, どちらの数字も単独では意味を持たないためです。
- 最長の連敗記録, 計画を放棄した瞬間を予測します。
- 取引数, 他のどの指標も、それに基づくサンプルの信頼性に依存するためです。
それらを一緒に読む
高い勝率と低いペイオフ比率は、一度の悪い日にすべてを失う戦略です。深いドローダウンと強い総リターンは、単にレバレッジの影かもしれません。借りたお金は両方向に影響を与え、SECの マージン取引についての説明は, レバレッジの実験が早期に終わる原因となる強制売却メカニズムをカバーします。
触れていないデータを予約する
始める前にデータを分割します。1つの部分で開発を行い、その後未検証の部分で1回試験します。予約データで繰り返しテストすることは、その価値を損なうため、開発セットの一部になってしまいます。
ウォークフォワード検証はそのアイデアを拡張します。ウィンドウで最適化し、次のウィンドウでテストし、両方のウィンドウを前方にスライドさせて繰り返します。出力は、単一の好印象な数字ではなく、サンプル外の結果の連鎖です。
劣化を期待してください。ライブおよび前方の結果は、通常、開発サンプルよりも悪く、テストでギリギリ合格した戦略はそれを下回ります。マージンを事前に築いてください。
実例:1つのバックテスト報告書の読み取り
トレーダーは、8年間にわたって流動性のある先物市場においてブレイクアウトルールをテストします。報告書には412回の取引、41%の勝率、平均勝ちが2.1リスク単位、平均負けが1.0単位であることが示されています。
期待値は0.41掛ける2.1、マイナス0.59掛ける1.0です。それは0.861マイナス0.59、すなわち取引あたり0.271ユニットのプラスになります。412回の取引を通じて、総額はおおよそ112ユニットです。
さあ、規律を適用してください。ラウンドトリップあたりのコストは0.06ユニットであり、約25ユニットを除外し、87ユニットが残ります。サンプルにおける最大ドローダウンは19ユニットであり、最長の連敗は14回の取引に達しました。
そのドローダウンの数字が本当の発見です。1パーセント のリスクを取った場合, 19ユニットの下落は19パーセントの口座の減少です。トレーダーは、損失が続く7か月目に新たな注文を出し続けるかどうかを事前に決定しなければなりません。答えが「いいえ」であれば、その期待値にもかかわらず、その戦略は彼らには取引可能ではありません。
サンプルを分割することで、残りの部分が確認されます。最初の6年間は取引あたり0.29ユニットを生み出し、最後の2年間は0.18でした。低いですが同じサインで、これは期待される結果です。
意思決定フレームワーク:このバックテストはリアルマネーの準備ができていますか?
取引ログで裏付けできる各ステートメントにつき1ポイント獲得してください。
- ルールはテスト開始前に文書として固定されていました。
- サンプルには少なくとも数百の取引が含まれています。
- 履歴はトレンドのある期間と変動のある期間を網羅しています。
- コストとスリippageは全ての取引においてモデル化されています。
- 結果は最初から取っておいたデータに基づいて保持されています。
- 最大ドローダウンはサイズを変えずに耐えられるものです。
5または6ポイント。 小さいサイズでシミュレーションにおけるフォワードテストに移行します。
3または4ポイント。 アイデアは有望ですが、証拠は薄いです。最も弱い入力を修正し、再テストしてください。
ゼロから2ポイント。 これは仮説であり、戦略ではありません。まだ資本はありません。
バックテスト済み戦略を取引する前に知っておくべきこと
クリーンなバックテストは、あなたが知っていることを変えるが、市場がどう動くかは変えない。資金を投入する前に、 SECがまず尋ねることを提案している質問を考慮してみてください, 特にリスク許容度や失ってもよいお金についての質問です。
その後、フォワードテストを行います。ルールを実際の価格に対してリアルタイムで実行することで、過去の再現が隠している実際の問題が明らかになります。注文がmissしたり、スプレッドが広がったり、計画した取引が必ずしも実現するわけではありません。
シミュレーションは、両者の間に理にかなった橋渡しをします。シミュレートされた取引環境では、貯金をリスクにさらすことなくリアルタイムで取引を行うことができ、戦略があなたのアカウントに達する前にライブデータに適応します。実際のお金の感情的な重みを再現することはなく、その違いを予期すべきです。Pivexはその次のステップのために構築されています:明確な公開ルールと条件に基づく構造化された評価です。
参加する前に、Pivexの現在のプログラムルールを確認し、シミュレーションされた専有取引評価があなたの経験やリスク限界に合っているかどうかを判断してください。参加は報酬、所得、または特定の取引結果を保証するものではありません。