簡単な回答
バックテストでは、過去の価格に取引ルールを適用し、取引内容、コスト差し引き後の結果、途中の最大下落幅を確認できます。適切なバックテストでは実際の手数料とスリッページを含め、コインを保有し続けた場合と比較し、複数の期間を使います。過去の結果は将来の結果を予測するものではありません。
作成者 Toshendra Sharma最終更新日 編集方針
バックテストとは
バックテストとは、過去の価格に取引ルールを適用し、どのような結果になったかを確認することです。ソフトウェアが過去の価格を順にたどり、書かれたとおりにルールを適用して、取引内容や各取引のコスト、口座残高の増減を記録します。
バックテストで分かるのは、次の一点です。コストを考慮した場合、これらのルールは過去に機能していたでしょうか? よくないアイデアを見極める最も低コストな方法です。過去2年間で損失を出したルールは、始めるにあたって良い候補とは言いにくいでしょう。
ルールが来月も機能するかどうかは分かりません。市場は変化するため、ある期間に合っていたルールが次の期間には機能しないこともあります。そのため、バックテストの次の段階は実際のお金を使うことではなく、ペーパートレードです。
バックテストの仕組み
- 市場と期間を選びます。 たとえば、BinanceのBTC/USDTで過去2年間を指定します。
- ルールを正確に記述します。 「24時間以内にBTCが5%下落したら買い、買値から4%上昇したら売り、買値から6%下落したら損切りし、買いポジションは最大2つまで。」
- 価格を再生します。 各時点でルールが発動するかを確認し、その価格で注文をシミュレーションします。
- コストを適用します。 シミュレーション上の各注文に、取引所の手数料とスリッページ分のコストを加えます。スリッページとは、想定約定価格と実際の約定価格の差です。
- 結果をまとめます。 期間中の結果、取引回数、利益が出た取引の割合、途中の最高値からの最大下落幅を表示します。
バックテスト結果を正しく読み解く方法
見出しの結果より重要な4つの数値:
- **期間。**期間のない結果には意味がありません。暴落を含む12か月と、価格が上昇した12か月では大きく異なります。
- **最大下落幅。**最大ドローダウンとも呼ばれ、回復するまでに高値から最も大きく下落した幅です。その戦略を続けた場合に、どれほど厳しい状況になり得たかがわかります。TradeCorgiでは、結果と同じ目立ちやすさで表示し、小さな注記にはしません。
- **保有との比較。**戦略の結果を、最初にコインを買ってそのまま保有した場合と並べて確認しましょう。多くのルールは、上昇相場では保有に劣り、下落相場でのみ役立ちます。それを理解しているなら、問題ない場合もあります。
- **取引回数。**5回の取引では単なる一例です。50回あれば、傾向が見え始めます。バックテストの取引回数がごく少ない戦略は、ほとんど検証されていません。
バックテストを誤解させる落とし穴
- **手数料とスリッページを除外する。**結果を実際より良く見せてしまう、最もよくある誤りです。1注文あたり0.1%の手数料で毎日取引するルールでは、往復取引ごとに約0.2%の手数料がかかります。1年続くと、小さな優位性が完全に失われる可能性があります。
- **1つの期間だけでテストする。**上昇した年、下落した年、横ばいの年など、異なる期間で同じルールを実行します。1つの期間でしか機能しないルールは、同じ市場環境が再び訪れることに賭けていることになります。
- **過剰最適化。**結果が完璧に見えるまで数値を調整すると(5%ではなく4.7%、4%ではなく3.9%など)、パターンを見つけたのではなく、過去に合わせ込んだ可能性があります。さまざまな値の範囲で機能する、切りのよいシンプルなルールを優先してください。
- **先読みバイアス。**正午の時点ではわからない当日の終値など、その時点でルールが知り得なかった情報を使うテストは、常に実際より良い結果に見えます。
- **最大下落幅を無視する。**最終的に高い結果になっても、そこに至るまでに40%下落するストラテジーは、底値で多くの人が手放してしまうものです。
具体例
BTC Dip BuyerをBinanceで90日間バックテストします。買いと売りの各取引に0.1%の手数料、注文ごとに0.05%のスリッページを適用します。
- ルールに基づく取引は9回です。6回は利益となり、3回はストップロスに達します。
- その90日間で、手数料差し引き後の口座残高は開始時より6.8%高くなります。
- 同じ90日間BTCをそのまま保有した場合は、3.1%高くなります。
- 期間中の最大下落幅は高値から4.9%で、保有し続けた場合の10.7%と比較できます。
率直に読み取ると、この90日間ではルールに従った場合、保有し続けるより最大下落幅を抑えられました。ただし、1期間で9回の取引では、判断材料として十分とはいえません。次は、より長い期間でバックテストを行い、その後にペーパートレードを試すとよいでしょう。これは説明用の例であり、実際の結果ではありません。
TradeCorgiでのバックテスト
戦略を説明し、ルールを確認すると、TradeCorgiが自動的にバックテストを行います:
- **手数料は常に含まれます。**あなたの取引所の利用階層に応じた手数料に加えて、スリッページと取引所の最小注文数量も反映されます。
- **同じチャートでコインを保有した場合も表示し、**ルールによる違いを確認できます。
- 結果と同じ大きさの最大下落幅。
- プランごとの履歴: Sandboxは90 days、Copilotは2 years、Autopilotは4 years、Proは取引所の全履歴。
すべての結果に対象期間と手数料を明記します。バックテストの結果が良くても、利用できるようになるのはペーパートレードであり、いきなり実際の取引が始まることはありません。
バックテストのチェックリスト
- 対象期間が明記され、複数の相場環境を含んでいます。
- すべての取引に手数料とスリッページが含まれています。
- コインをそのまま保有した場合と結果を比較しています。
- 最大の下落幅が示されており、許容できる範囲です。
- 判断材料になるだけの取引回数があります。
- ルールはシンプルで切りのよい数値を使っており、小数点単位で調整されていません。
- 次のステップは、実資金全額での取引ではなくペーパートレードです。
よくある質問
バックテストの結果が良ければ、戦略が有効だと証明できますか?
いいえ。過去のある期間にルールがどのような結果になったかを、コストを差し引いて示します。将来は異なる可能性があるため、バックテストは悪いアイデアを見分けるためのものであり、良いアイデアの証明ではないと考えてください。
暗号資産のバックテストには、どのくらいの期間のデータを使うべきですか?
上昇相場、下落相場、横ばい相場を含む期間が必要です。暗号資産では通常、少なくとも1年、できれば数年分が目安です。TradeCorgiでは、Sandboxで90日分、Copilotで2年分、Autopilotで4年分、Proで取引所の全履歴を利用できます。
手数料とスリッページを含めるのはなぜですか?
実際の取引では毎回コストがかかるからです。取引頻度の高いルールは、コストを差し引く前はよく見えても、差し引いた後には損失になることがあります。TradeCorgiのバックテストには、常に取引所手数料とスリッページが含まれます。
過剰最適化とは何ですか?
過去の価格に完全に合うまでルールを調整することです。テスト期間中は非常に良い結果に見えても、実際にはノイズを学習していて本当のパターンを捉えていないため、その後は期待外れになることがよくあります。
無料でバックテストできますか?
はい。無料のSandboxプランでは、手数料込みで過去90日間のバックテストを行い、ペーパーエージェントを1つ稼働できます。
バックテストの結果は何と比較すべきですか?
同じ期間に同じコインを単純に買って保有した場合と比較します。手数料を差し引いた後で保有を上回れない場合や、大幅に大きな最大下落を許容して初めて上回る場合は、運用する価値がないかもしれません。
エージェントとして試す
このガイドを次の機能で活用しましょう BTC押し目買い 戦略です。まずは仮想資金を使ったペーパートレードから始めます。
- エントリー
- 24時間以内にBTCが5%下落したら購入
- サイズ
- 1回の買い注文につき$50、未決済の買い注文は最大2件
- 決済
- 買値から+4%で売却
- ストップロス
- 買値から-6%で売却
- 1日の損失上限
- $25に達すると、エージェントは翌日まで一時停止します