概要
バックテストは、金融市場への参加方法を最適化するための重要なステップとなります。これによって、自分のトレードのアイデアや戦略が理にかなっているか、利益を出せる可能性があるかを知ることができます。
はじめに
バックテストとは、トレーダーや投資家が新しい市場や戦略を模索する際に使用するツールです。データに基づいて価値のあるフィードバックを提供し、最初のアイデアが有効であったかどうかを教えてくれます。
バックテストは、取引する資産クラスにかかわらず、稼いだ資金を危険にさらす必要はありません。バックテストソフトを使ってシミュレーション環境を構築し、市場に対する特定のアプローチを最適化することができます。それでは、ここからさらに詳しく見ていきましょう。
バックテストとは?
バックテストとは、過去のデータに基づいて、あるトレーディング戦略がどのように実行されたかをテストすることで、その実行可能性を検証することです。つまり、過去のデータを使用して、ある戦略がどのように実行されたかを確認するのです。バックテストで良好な結果が得られれば、トレーダーや投資家は、その戦略をライブ環境に適用することができます。
しかし、この場合の良い結果とは何を意味するのでしょうか? さて、バックテストツールの目的は、特定の戦略のリスクと潜在的な収益性を分析することにあります。統計的なフィードバックに基づいて投資戦略を最適化・強化することで、潜在的な成果を最大限に引き出すことができます。よくできたバックテストは、その戦略が実際の取引環境で実行されたときに、少なくとも実行可能であることを保証してくれます。
より専門的なレベルでは、取引戦略のバックテストは、特にアルゴリズム取引戦略 (=自動売買) の場合には絶対に必要です。
バックテストの仕組みとは?
誤解を招くようなデータセットでバックテストを行うと、理想的な結果が得られません。そのため、バックテスト期間中に、現在の市場環境を反映した良いサンプルを見つけることが重要です。これは、市場が常に変化しているため、特に難しいことです。
戦略のバックテストを行う前に、何を調べたいのかを決めておくとよいでしょう。戦略を成立させるには何が必要でしょうか? 逆に言えば、何があなたの仮説を反証することになるのでしょうか?これらを事前に知っていれば、結果が自分のバイアスに影響を与えることは難しくなります。
また、バックテストには、取引手数料や出金手数料など、ストラテジーに発生する可能性のあるコストも含める必要があります。また、高品質な市場データへのアクセスと同様に、バックテスト用のソフトウェアも非常に高価であることも忘れてはなりません。
バックテストの例
以下で説明するのが、今回のトレーディングシステムです。
- 20週移動平均線を超えた最初の週の終値でBitcoinを買います。
- 20週移動平均線を下回る最初の週の終値でBitcoinを売ります。
この戦略では、年に数回しかシグナルが出ません。2019年からの期間でどうなるか見てみましょう。
2019年以降のBitcoin週足チャート
この戦略は、測定されたタイムフレームで5つのシグナルを生成しました。
- 買い@ ~$4,000
- 売り@ ~$8,000
- 買い@ ~$8,500
- 売り@ ~$8,000
- 買い @ ~$9,000
そのため、バックテストの結果では、この戦略は利益が出ていたはずです。この結果は、今後も同じように利益が出るということでしょうか。いいえ、違います。これは、この特定のデータセットを見れば、この戦略は利益を出しただろうということしか意味しません。この結果は、大まかなベンチマークぐらいに捉えると良いでしょう。
なお、今回は2年弱のデータしか見ていないことをご了承ください。これを実用的な戦略にしたいのであれば、さらに時間をさかのぼって、より多くの値動きで試してみる価値があるかもしれません。
仮想通貨をはじめてみませんか? バイナンスでBitcoinを購入しましょう!
バックテストとペーパートレードの比較
さて、バックテストがどのようなものか大まかに理解したところで、非常にシンプルな投資戦略を見てみましょう。また、過去の実績が将来の結果を示すものではないことも理解しましょう。
ペーパートレードとは、実際の取引環境で戦略をシミュレーションすることです。取引内容は記録されていますが、実際の資金は使われていないため、ペーパートレードと呼ばれています。これにより、戦略を改善し、そのパフォーマンスを把握するための新たなステップが得られます。
ここで注意しなければならないのは、「チェリー・ピッキング」です。これは、偏った視点を確認するためにデータの一部だけを選択することを意味します。フォワードテストのポイントは、あたかもリアルタイムで起こるかのように戦略を試すことです。システムが何かをするように指示したら、それがすぐに実行されます。個人的なバイアスに基づいて「良さそうなトレード」だけを選んでしまうと、システマティックな戦略のテストは有効ではなくなってしまいます。
手動バックテストと自動バックテスト
マニュアルバックテストでは、チャートやヒストリカルデータを分析し、ストラテジーに沿って手動で取引を行います。自動化されたバックテストは基本的に同じことを行いますが、そのプロセスはコンピュータコード (Pythonなどのプログラミング言語や専用のバックテストソフトウェアを使用) によって自動化されています。
最大ドローダウンは、トレーディング戦略が最後のピークに比べて最悪のパフォーマンスを示した瞬間 (すなわち、分析期間中にポートフォリオが受けた最大の下落率) を表しています。
まとめ
多くのシステマティックトレーダーや投資家は、自分の戦略にバックテストを活用しています。バックテストはアルゴトレーダーのツールキットに欠かせないものの1つです。
一方で、バックテストの結果を解釈するのは難しいものです。バックテストの手法に自分の偏見を刷り込むのは簡単です。バックテストだけでは利益を生むトレーディング戦略を生み出すことはできませんが、いくつかのアイデアを試したり、市場の動向を把握したりするのに役立ちます。