
FXのEAにおける『最適化について考える』
前回は、バックテストは意味のない悪なのか?を考えました。
今回は最適化について考えます。
MT4・MT5利用者ならば、一度はやったことがあるであろう最適化。
私はバックテストについては確固たる自身の答えを持っていますが、この最適化については、未だに答えを見出せていません。
1.そもそも最適化とは?
最適化とは、自動売買プログラム(EA)の利益を最大化するため、設定値(パラメータ)の異なる組み合わせを過去のデータで複数回テストし、最も成績の良い設定を見つけ出す機能。MT5ではこのプロセスを高度かつ高速に行うことができる。
つまり、パラメーターの値を変えて総当たりさせて、一番よい設定を探し出すことが最適化。
2.最適化のベスト・ベターって?
(1)アノマリーの場合
これが510日アノマリーだったら単純で答えはほぼ出せます。
①日本時間の9:55が仲値(基準為替レートの確定)
②だから9:55は固定
③買い仲値の場合、何時何分にエントリーするかを最適化する
④トレール有無・トレール幅を最適化する
⑤TP/SLを最適化する
若干の過剰最適化感は否めませんが、感覚的に大きくは負けない結果に繋がりそうな予感はしますし、大きくズレてない感もあります。
(2)テクニカル指標の場合
では、テクニカル指標のボリンジャーバンドだったら?
①15分足、期間20、標準偏差2.0で逆張りオープン・クローズ
この条件に優位性があると仮定
②どこを固定するの?足?期間?標準偏差?それとも固定なし?
③仮に期間を最適化して22になった場合、その値にするの?22に意味ある?
④トレール有無だったりTP/SLの最適化に意味あるの?
510日アノマリーと異なり、色々と最適化自体が腑に落ちません。
(3)最適化の基準
簡単な2つの最適化例を考えて、アノマリーは最適化し易く、テクニカル指標は最適化し難い。そう考えるのは多分間違いです。
最適化し易い/し難いの基準は、アノマリーとテクニカル指標が切り口になるのではなく『優位性の明確さ』にあります。
アノマリー(510日のドル買)
優位性が明確なので自信をもって1つの変数であるクローズ時間を9:55固定にでき、それ以外を最適化変数化とする判断ができるボリンジャーバンド(15分足、期間20、標準偏差2.0)
優位性の根拠が不明確なので、固定項目、最適化変数の判断ができない
つまり、より良い(ベスト・ベター)最適化を行うためには優位性の明確化が必要になるということ。
3.優位性の明確化
バックテストについても、最適化についても、結局は『優位性の明確化』に行きついてしまいます。そしてこれはEA開発だけに留まりません。
『明確な優位性の有無』は、EA運用にまで影を落とします。
どんなに強いEAもDD時期は必ず来ます。その際に、そのEAを信じて使い続けるか?諦めるか?この判断に大きく影響を与えます。
EA開発・運用どちらにおいても、明確な優位性かどうか?
これが強く作用するのです。
とりとめのない話になってしまいましたが、
最適化について未だに自身の答えを見出せない理由は、
『優位性が明確でないEAも開発しているから』
なのだろうと自己分析します。
最適化の目的、よりよい最適化について、お考えやご意見がありましたら、ドシドシコメントください。