FXシステムトレードのプログラムをいくつか作ってみて分かった課題とその解決法について
のつづき。
上記記事で挙げた 「複数のアルゴを市場の状況に応じて切り替える」 という解決策について、具体的な実現方法を思いついたのでメモがてら書いておく。
考察
これまでいろいろ試してみた経験からすると、機械学習なシストレプログラムは学習させた期間のチャートの動きによって、適応できる市場の動きに差異があるようであった。
どうするか
前回の記事の繰り返しになるが、特定の一期間を学習させたものだと、これまでに作成してきたもののように、短中期では市場に対応できない場合が出てくる。
そこで、上記考察で得られた知見から、過去のチャートにおいて、複数の別々の期間を学習させた複数のモデルを作って、少なくとも過去のチャートであれば、アンドをとる(複数のモデルをつぎはぎする)ことで全期間で利益があがるようなかたちにする。なお、個々のモデルを作る際は、通常の機械学習では回避すべきであるオーバーフィットをあえてさせるのがよいのではないかと考える。なぜなら、個々の市場変化は個々のモデルで対応するため、汎化性能は必要ないからである。また、アンドをとって、全期間をカバー(利益が出るようにする)するには、手動で頑張っても良いし、グリッドサーチ的な方法で自動化する方法もあると思う。
そして、実運用では、作成した複数のモデルをバンディットアルゴリズムなどの手法を用いて市場に合わせて切り替えて利用する。
というような構想である。
ご意見などあれば、コメント欄までお願いいたします。
以上。