« 無料セミナー情報 | トップページ | 祝1万ヒット達成♪ »

2006年3月11日 (土)

システムのパラメータを最適化する方法

MetaTraderではバックテストができるというのは、以前、記事にしました。(基本的なバックテストの方法はそちらからどうぞ)
今回は、バックテストでトレーディングシステムで一番最適なパラメータの組み合わせを探しだす方法を記述します。

例えば、ある2本の移動平均線のゴールデンクロスで売買するとしたとき、移動平均線は何日のものをつかうでしょうか?
5日と25日?21日と34日?21日と90日?90日と200日?組み合わせは様々だと思います。
この機能を使えば、どの組み合わせが過去において一番最適であったかを調べることができます。

MetaTraderのサンプルとして付いているトレーディングシステム「Moving Average」で試してみましょう。
まずテスター画面を開き、「Expert Advisor」で「Moving Average」を選んでください。
次に「Expert properties」を押してください。
すると「パラメータの入力」タブというのがあると思います。次のような画面です。

Param

ここでパラメータが一覧で並んでいると思いますが、変更したいパラメータにチェックを入れてみましょう。チェック入れないとデフォルトのものが適用されます。

  • Valueがデフォルトの値です。
  • Startが開始値です。
  • ステップは間隔です。
  • Stopは終了値です。
    例えば、上記では「MovingPeriod」の値を10から14まで1刻みで検証することを意味しています。具体的には10、11、12、13、14の値を全てチェックします。チェックを二つ以上にいれると複合条件で全ての組み合わせを網羅します。

この画面の設定が終われば、セッティングでOptiizationをチェックしてください。これで検証モードになります。

Optimazation

準備ができたら、スタートを押します。
設定したパラメータの全ての組み合わせを検証してくれるので、当然ながら時間がかなりかかります。
最初は、「Every tick」ではなく、検証速度の速いモデルでおおざっぱに検証して絞り込むほうがよいでしょう。

テストが終われば、以下のタブで結果を見ることができます。

「Optiization Results」タブ
検証したパラメータ毎の結果(トータルの損益など)を一覧で表示されます。どのパラメータが良かったか一目瞭然ですね。

Opresult

「Optiization Graph」タブ
検証したパラメータ毎のBlance(損益)がグラフで一覧表示されます。

Opgraph

この機能は非常に優れており、過去において最大のパフォーマンスをもつパラメータを一瞬で見つけることができます。ただし、気をつけないといけないのは、パラメータは過去において最適化されるので未来においても利用できるとは限らないことです。この辺りは説明するよりは、実際にやってみたほうが実感できるかもしれませんね。

参考になりましたら、応援いただけると幸いです!

|

« 無料セミナー情報 | トップページ | 祝1万ヒット達成♪ »

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« 無料セミナー情報 | トップページ | 祝1万ヒット達成♪ »