システム開発を行う上で、バックテストは無くてはならないことだ。
バックテストで、良好な結果が出るのが第一条件。
だが、これで完璧ではない。
未来に対してどこまで有効なのか。それが分からない。
そんなの考えても未来は分からないんだから意味無いじゃん。って?
実は、擬似的にそのテストが出来る方法がある。
やり方は、単純。
最適化を行った期間。
その期間の後に、テストを行う。つまり、
バックテストの最適化の期間を含まない期間に対してテストを行う。
下記のグラフは、それぞれ直近一年の最適化を行った後の一ヶ月のバックテスト結果を羅列したもの。
ST-018-9
GBP/JPY
1H
2007年1月~2008年1月の最適化パラメータを用いて、
2008年1月~2008年2月までの結果。
2007年2月~2008年2月の最適化パラメータを用いて、
2008年2月~2008年3月までの結果。
2007年3月~2008年3月の最適化パラメータを用いて、
2008年3月~2008年4月までの結果。
2007年4月~2008年4月の最適化パラメータを用いて、
2008年4月~2008年5月までの結果。
2007年5月~2008年5月の最適化パラメータを用いて、
2008年5月~2008年6月までの結果。
2007年6月~2008年6月の最適化パラメータを用いて、
2008年6月~2008年7月までの結果。
2007年7月~2008年7月の最適化パラメータを用いて、
2008年7月~2008年8月までの結果。
2007年8月~2008年8月の最適化パラメータを用いて、
2008年8月~2008年9月までの結果。
2007年9月~2008年9月の最適化パラメータを用いて、
2008年9月~2008年10月までの結果。
2007年10月~2008年10月の最適化パラメータを用いて、
2008年10月~2008年11月までの結果。
2007年11月~2008年11月の最適化パラメータを用いて、
2008年11月~2008年12月までの結果。
2007年12月~2008年12月の最適化パラメータを用いて、
2008年12月~2009年1月までの結果。
OrderOpenPriceでも、EveryTickでも同じです。仕掛けが1HのEAなので。
上記を見ていただくと、12ヶ月中11ヶ月は過剰最適化を回避出来ていることがわかります。
実運用でも、直近の最適化を一ヶ月毎に行っています。
やはり、ST-018-9が僕の最高のEAですかね。
早く、こいつ以上の奴に出会いたいですね。
もちろん、ST-007,ST-015も11月頃から全くパラメータを変更していない
(バックテストに膨大な時間が掛かるため)ので、チェックは行っていませんが、
現実として、利益を積み重ねている点を見れば、過剰最適化を回避できていると言えるかもしれないですね。
ウォークフォワードテストは非常に強力です。
開発者の方ならご存知でしょうが、
このテストを通過出来るシステムは相当少ないんですよね。
僕の開発してきたシステムも、このテストを行うと、ひどい結果になるものが多いです。
勝率95%のシステムをFXRにて公開中!!
応援よろしくお願いします。
[0回]
PR