これは、恐らくトレーダー(特に新米のトレーダー)の間で最も共通する問題です。戦略を開発して履歴データでテストし、驚くほど上手く行ったとします。ですが、実際の口座で取引を開始すると、突然すべてのことが失敗してしまうことがあるのです。取引をうまく実行できず、収益が減り、赤字で終わってしまうことも時にはあります。その理由は?見て行きましょう。
1. バックテストは理想的な状況を提供する
履歴データでのバックテストでは、取引は次のような何もない状況で行われます。
- 注文は希望価格で即座に行われる。
- スプレッド、コミッション、スリッページがない(即座に実行するブローカーならリクオート)。
- 人的要因がない(不安、パニック、強欲)。
実際の市場では、物事はそんなにスムーズではありません。注文実行中に価格が変わることがあります。ニュースや高ボラティリティ間は特にそうです。大金を取引するなら、市場が希望価格での受け入れを拒否するだけという場合があります。
2. 過度なトレーニング
最も共通するミスのひとつは、履歴データで完璧な戦略を作成するのに、それを将来取り入れないことです。試験の準備をしているのに、試験ではまったく違う問題を尋ねられるようなものです。実際の取引での成功を良い履歴が保証するわけではありません。
避ける方法:
- 別の時間枠やシンボルでテストする。
- データを実践とテストデータに分ける(サンプルテスト以外で)。
- ウォークフォーワード分析を使う。
3. 市況の変化
市場は幾何学ではなく、静的でもありません。金融市場は動的環境です。戦略は穏やかな市場では使えますが、高ボラティリティや市場が危機的な時にはまったく違う働きをする場合があります。動向の変化、流動性の変化、ビッグプレーヤーのアルゴリズム変更など、これらすべてのことが取引に影響を与えます。
4. トレーダーの感情と洞察力
バックテストでは、チャートを見て自分にこう言うだけです。「うん、これが入口、これが出口。」実際の取引では、価格が自分に不利になると損失を心配して、躊躇するか規則を破ります。いずれかの段階で、感情が理由となって、勝つ戦略が負け戦略になるでしょう。
5. 技術的な問題
バックテスト中には次のことがありません。
- 接続の中断と注文実行の遅れ。
- ターミナルやプラットフォームの障害。
- ニュースによる突然の中断や激しい動き。
ですが、実際の取引では、このすべてのことが起こります。ブローカーが高い技術力で実行しない場合には特にそうです。
もっと現実的にバックテストを行う方法は?
- スプレッドとコミッションを考える ― 小さなコミッションでも大きな影響を与える可能性があります。スリッページを入れる ― 資産のボラティリティをベースに、0.1%-0.5%のスリッページを入れます。
- 実際の市場で戦略をテストする(フォーワードテスト) ― まずはデモ口座で。その後に少額で実際の口座で行います。
- 統計を監視する ― 最大の減少、収益の安定性、リスク/利益の割合を監視します。
- 過度に最適化しない ― 戦略は履歴だけではなく、実際の状況でも使えるべきです。
最後に
バックテストは情報を与えてくれますが、信じてその結論を受け入れるだけのものではありません。戦略の実際のテストは、実際の市況での実際の取引です。事前確認の手段としてバックテストを利用し、取引サイズを増やす前に、常に少額の実際の資金をベースにまずは戦略を試すようにしましょう。これが、戦略が使えるかどうかを知る唯一の方法です。