バックテスト

【人力不要】システムトレードのパラメーターを見つけよう


どんなに優れたロジックや法則性でも、パラメーターの設定がうまくいかなければその性能を発揮できません。逆にダメダメだと思っていたシステムがパラメーター次第で大化けすることもあります。

しかしながら、自分の目でひとつずつ確認していくには限界があります。そこで、実際にパラメーター探索方法の説明を通して、負けるシステムを勝てるシステムに変身させます。

1. システムトレードにおけるパラメーターとはなにか

まずシステムトレードにおけるパラメーターとはなにか、どれほど重用かを目で見て確認していきましょう。使うのはMT4についてくる”Moving Average”を使います。

1-1. パラメーターとはなにか
1-2. パラメーターの重要性

1-1. パラメーターとはなにか

パラメーターとはシステムの中の変更できる数値のことです。例えば平均線といっても何日の平均なのか、ボリンジャーバンドは何シグマはなれているのかをきめるのがパラメーターになります。

image
これは実際のロウソク足に単純移動平均線を重ねたものです。
線が複数あるのは、平均をとる期間がそれぞれ5、10、25、50、100、200と異なっているからです。

この平均をどの期間でとるかというのが、パラメーターとなります。
それぞれ同じ単純移動平均線(SMA)ですが、ローソク足の上にあったり下にあったりと、大違いです。

当然これをもとにトレードを行うと、結果もそれぞれかけ離れたものになることが想像できます。

1-2. パラメーターの組合せ

さきほどの例から考えても、同じシステムでもパラメーターが変われば全く別物になることがわかりました。

平均線をクロスしたら売買を行うといった、パラメーターが不明なルールには意味がないことがお分かりになると思います。

10SMAをクロスしたとしても、100SMAからは遥か遠くということも当然ながらあるからです。
このパラメーターをいくつに設定すればよいのかは、システムの性質、例えばスイング系なのかスキャ系なのかによっても変わりますし、通貨によっても変わるでしょう。

これを自分の手と目を使って確認すると、膨大な時間と労力が使われることになります。

また、今回はパラメーターがひとつでしたが、パラメーターが2つになるとその組み合わせにより、さらに数は膨れ上がります。
パラメーターをほんの10通り変化させたとしても、2個パラメーターがあれば100通り、3個パラメーターがあれば1000通り試す必要が出てきてしまいます。

MT4を使えば数多い組み合わせを自動でテストしてくれます。

2. パラメーターの探し方

実際にMT4でパラメーターを探していきましょう。
前回Moving Averageでパラメーターを変えると勝てるようになりましたが、今回は自力でそのパラメーターを見つけられるようになります。

2-1. MT4で最適なパラメーターを探す
2-2. 細かく探すことに意味があるのか

2-1. MT4で最適なパラメーターを探す

まずは前回の記事で設定したように、EAは”Moving Average”を選択し、USD/JPYの1時間足を選択してください。

次にパラメーターの入力ウインドウまで行きます。ここまでは前回のバックテストの方法の通りです。

image
次に最適化したいパラメーターの左側にある①のチェックボックスをクリックしてチェックを入れます。

②の「スタート」で゛はパラメーターの探索をどこから始めるか、③のステップではどれくらいの幅でパラメーターを変えていくか、④では、探索をどこかで終わるかを指定します。

例えば、今回設定した”MovingPeriod”はスタート12、ステップ12、ストップ96ですが、これは12、24、36、48、60、72、84、96の8通り平均線を計算する期間を変えてテストすることをあらわしています。

”MovingShift”はスタート6、ステップ6、ストップ60で設定してください。
これは10通りなので8×10=80通りのパラメーターの組合せが存在することになります。

image
次にストラテジーテスターのページに戻り最適化の横のチェックボックスにチェックを入れ、バックテストをスタートしてください。

スタートすると80通り中のいくつテストが終わったか、プログレスバー上に表示されます。

2-2. 最適化の結果を確認する

最後までテストが終わりましたか?
パソコンにもよりますが、一時間くらいはかかってしまうと思います。

image
では、まず最適化結果を確認してください。
左からパス、損益、総取引数、プロフィットファクタ、期待利得、ドローダウンの順で並んでいます。

それぞれのタブをクリックすることで昇順と降順にソーティングすることができます。
損益をクリックして、損益順に並べているのが上の画像です。

1万ドルに対して利益が8000ドルあがっていることがわかります。
ドローダウンも17%とギリギリ許容範囲ではないでしょうか。

それぞれの結果の横にパラメーターの入力がありますね。
ここを見ればどのパラメーター設定によってこの結果が得られたのかが分かり、パラメーターの最適化ができたことになります。

最適化では、個別にやったときのように資産の曲線や詳しいテストレポートはでませんが、結果をダブルクリックすると、自動的にパラメーターをセットした状態になるので、スタートを押せば、任意の結果が得られたパラメーターで個別のテストをすることができます。

image
また、80個すべての結果が表示されていない時は右クリックを押して、「マイナスの結果を表示しない」の横のチェックをはずしてください。

マイナスの結果なんて見なくてもいいと思うかもしれませんが、パラメーターに対する損益の傾向をつかむのに約立ちます。

image
次に最適化グラフを確認してください。縦軸が損益で横軸はそれぞれのパラメーター設定になります。

青い点にカーソルをあわせるとその初期証拠金と損益を合算した残高の値と、それぞれのパラメーターを確認することが出来ます。

パラメーターが複数ある時はあまり役に立ちませんが、一つの時はパラメーターの値をあげれば損益があがるのか、山の頂上はどこになるのかなど、楽しい分析ができます。

image
パラメーターが2つ以上ある時は「2Dサーフェース」で見るのもオススメです。

グラフ上で右クリックして2Dサーフェースにチェックを入れてください。
損益がプラスのものはより濃い緑で表示されます。

パラメーターが3つ以上ある際にも右クリックのメニューから縦軸と横軸をどのパラメーターにするか設定することが出来ます。

これでパラメーターの最適化が自分でできるようになったはずです。昔買ったけど全然勝てなかったシステムや急に調子が悪くなったシステムは一度パラメーターの見直しを行ってみると、大化けする可能性があります。ぜひ確認してみてください。

-バックテスト