トレードステーションでの自動売買バックテスト・最適化の方法

トレードステーションでは自動売買が可能ですし、自動売買を行う上で欠かせないのがバックテストと最適化です。
本記事では、トレードステーションでのストラテジー(自動売買プログラム)をバックテストして、最適化する方法について解説してみます。
バックテストとは?
バックテストとは、自動売買プログラムを過去の相場に当てはめたときに、上手く動くか?利益が出るか?が簡単に確かめられる機能です。
バックテストをすることの利点は株式を自動売買することの5つのメリットにも記載したとおりですが、大きくいうとこちらです。
この戦略が有効か?がすぐ分かる
実行したいトレード手法が、本当に効果がある、つまり儲かるかどうか、自動売買でなら検証が容易です。
トレードステーションのバックテスト機能を使えば、過去の相場に当てはめてうまくいくのかどうかが明確に分かります。あなたの投資ルールをより良くするツールになるのです。
戦略の改善ができる
バックテストを行うと、戦略の改善が容易です。
リアルタイムでのトレードしか行わない場合、例えば1ヶ月の成績を確かめるには丸一ヶ月がかかります。しかし、バックテストを回せば数秒で戦略の結果が出ますので、それをもとに戦略を更に改善していくことができます。
リスク・リターンが明確になる
バックテストをすると、投資戦略にどの程度のリスクとリターンがあるか、どの程度の勝率があるか、ということが事前に分かります。
安定した利益を望んでいるのに、実はトレード手法はハイリスクであった、、、などのミスマッチを防げます。
バックテストの方法
ではバックテストのやり方です。まずはチャートを開いてストラテジーを挿入しましょう。
チャートを開く
今回は銘柄は1570(日経平均レバレッジ上場投信)で、日足チャートにしてみます。チャートを開いて右クリックし、「ストラテジーを挿入」します。
ストラテジーを挿入する
色々なストラテジーがありますが、今回はRSIで売り買いするストラテジーにしてみます。
右下の「設定ダイアログを表示」にチェックを入れておくと便利です。
設定ダイアログが出てきますが、今回はそのままOKします。
さて、これでもう既にバックテストの準備は整っています。チャートには矢印や点線が表示されていますが、これは自動売買プログラムが売買を行っているタイミングを示しています。
期間を設定する
バックテストを行う前に、右クリック→「銘柄コードの設定」から、バックテストを行う期間を設定してみましょう。ここでは10年間にしてみます。(厳密に言うと、1570が上場している期間は10年もありませんが)
バックテストを行う
ではバックテストを行ってみましょう。左上にある表示→「ストラテジーパフォーマンスレポート」をクリックします。
バックテスト結果が出る
すると計算が行われ、バックテストの結果が出てきます。これだけでバックテストは完了します。
バックテストで見るべきポイント
バックテストでは、細かい項目がたくさん出てきます。細く解説するとキリがないので省略しますが、注目すべきは下記の項目です。
プロフィットファクター(総利益&総損失)
バックテスト結果の一番上には、今回のバックテストでの取引の総利益、総損失が出てきます。そして、総利益÷総損失のことをプロフィットファクターと呼びます。
今回のバックテストでは、総利益が66.8万円に対し、損失は88万1,500円です。つまりが総損益はマイナス21万3,500円になっています。この戦略が今のままでは役に立たないことが分かります。
プロフィットファクターは基本的に高ければ高いほど良いです。例えば、利益が100万円、損失が10万円ならプロフィットファクターは10となり、素晴らしいストラテジーであると言えます。
総取引数と勝率
真ん中あたりに、総取引数と勝率が載っています。
取引数はある程度多いほうが良いですね。今回は2012/04/11〜2017/01/25までの5年弱のバックテストですが、5年間で6回しか取引していないことになります。
勝率も載っています。勝率は基本的には高ければ高いほど良いのですが、絶対ではありません。
例えば勝率99%のシステムがあったとしても、1%の負け取引で利益を全て持っていかれる、いわゆるコツコツドカンなシステムは役に立ちません。
平均利益と平均損失
コツコツドカンかどうか?などを判定できるのがこの平均利益と平均損失です。
今回の場合は、平均損失の方が平均利益より大きいことが分かります。
ドローダウン
ドローダウンとは、簡単に言えばどれだけ資産が凹んだか?を表します。
勝率100%のシステムがあれば資産は凹まない=ドローダウンが0になります。
しかし、勝率が100%なんてことは普通ありません。例え負けたとしても損失を少なくして=上手く負けて、全体的には資産を増やしていくのが理想の自動売買の形といえるのではないでしょうか。
ドローダウンが少ないシステムは、このようなバックテストの形になります。以前私が作成したドンチャンブレイクアウト株自動売買での収益曲線です。資産の凹みが少ないのがお分かりいただけるでしょうか。
最適化
このままでは使えないシステムを最適化してみましょう。ストラテジーの設定の「設定」をクリックします。
するとこのような画面が出てきます。これはパラメータといって、このパラメータをもとに自動売買の動作が少々変わります。
おそらく名前を見る限り、「Price」はRSIの計算の基準とする価格(日足の終値で計算するということ)、「Length」というのがRSIの参照期間を示していて、「OverSold」が買われ過ぎかどうかの判定基準なのではないかと推測します。
EasyLanguageコードを見れば中身のアルゴリズムがハッキリしますが、今回は何も見ずにがむしゃらに最適化をかけてみることにします。
最適化範囲を選択
調整してみる項目を選択して「最適化」をクリックします。
これは、この「Length」をどれだけ動かしてバックテストしてみるか?という事を表しています。
おそらくLengthは何日分のRSIを計算するか?ということなので、「2日、4日、6日・・・・・・50日」のRSIを対象にして計算するためにこのように入力します。
「増分」というのは、「どれだけ飛び飛びにするか?」ということです。もし「増分」を10にしたら、「2日、12日、22日・・・・・・」となります。
OverSoldの方も同様に入力すると、こうなります。
売りの方も
今は「買い」の方を調整しましたが、「売り」の方も忘れずに行いましょう。
最適化前の確認
入力が終わるとこのようになるはずです。
今回は、パラメータを変化させて、全部で390,625通りの総当りバックテストを行います、笑 (25の4乗です)
最適化中
今回はかなり多数のバックテストを行っていますので、しばし待ちましょう。
最適化終了!
最適化が終わるとチャートに戻ります。表示→「ストラテジー最適化レポート」を選択しましょう。
ストラテジー最適化レポート
すると、バックテストの結果がずらっと並んだ画面が表示されます。この中で最も儲かりそうなパラメータはどれなのでしょうか。
並び替えて良い結果を選ぶ
基本的には、このような結果を選びます。
- プロフィットファクターが高い
- 取引回数が多い
- 平均損失が平均利益に比べて小さい
- ドローダウンが少ない
まずはプロフィットファクターで並び替えてみましょう。
上位の結果はプロフィットファクターが14や15もあります。しかし、取引回数が少ないですね。。あまりに高いと過剰最適化(カーブフィッティング)の可能性もあります。
結果を右クリック→「チャートにテストを適用する」と、選択したパラメータでの自動売買の様子が見られます。
実際に取引の様子を見てみて、納得がいくものを選ぶのが良いでしょう!
トレードステーションの口座開設
トレードステーションで株の自動売買をするには、もちろんトレードステーションの口座開設は欠かせません。口座開設はこちらから可能です。
また、少し手順が増えますが、fx-onというサイトを経由してトレードステーションの口座開設をすると、自動売買プログラムが無料でもらえるキャンペーンが行われています。
詳細はトレードステーション口座開設で、自動売買プログラムがもらえるキャンペーン!をご覧ください!