数値最適化とは?
ロジックの最適な数値の組み合せを探索することができます。
この機能を使うと特定の期間で最も成績の良い数値の組み合わせを見つけることが可能です。
例えば、ゴールデンクロスのロジックを利用する場合、
移動平均線の短期期間と長期期間の組み合わせが
最適化可能です。
過去1年から3年間の期間で、最も収益率が高い数値の組み合わせを遺伝的アルゴリズムという 統計学的探索方法を使ってお調べることができます。
最適化結果のデータは下記のようになります。
上の表の場合、40以上では高い収益率ですが、40未満ではあまり良い結果はでないということがわかります。 また、縦軸の数値にはあまり相関がないことなどもわかります。
ただし、最適化には過剰最適化(カーブフィッティング、オーバーフィッティング)と呼ばれる現象があります。
これは特定の期間で最適化しすぎるために、他の期間では機能しない現象です。
最適化パラメタが増加すると過剰最適化の危険性がありますので、ご注意ください。
上側の分布図は各数値の組み合わせごとの資産残高を表し、 下側のマトリクスは二つの数値に対する資産残高を色の濃さで表しています。(ペアは変えられます)
最適化はした方がいい?
パラメータが少数の場合は、十分に最適化する意味がありますが、
あまりパラメータの数が増えすぎると最適化の信頼性が損なわれます。
また、少し数値が増えるだけで全体の組み合わせは簡単に一億パターンを超え、
一般のコンピュータでは一週間以上演算に時間がかかってしまいます。
最適化は「だいたいの方向性をつかむために使うこと」を推奨しています。
「特定の数値の組み合わせを探す」のではなく、「あるパラメータと収益に正の相関があるのか、
負の相関があるのかを調べる」程度にとどめておくのが良いでしょう。