2014年12月8日月曜日

遺伝的アルゴリズムで作るカブロボの設計

前回までで遺伝的アルゴリズム基本的な練習を行いました。
いよいよ今回からカブロボのプログラムを開始しようと思います。
まず初めに、基本的な設計を考えてみます。

遺伝的アルゴリズムでは基本的なルーチンとなる淘汰や交差、突然変異などはある程度決まってしまうので、
重要なのは、どのような遺伝子をもたせるかと、どのように評価するかです。

まず、評価は100万円を初期値として持たせ、最終的な収支で決めようと思います。
次に遺伝子ですが、当初は株価がどのような推移をするかを予測しようと思ったのですが、
実際これは難しそうなので、カブロボには前日までのデータを渡し、現時点で売るか買うかだけを判断させようと思います。
これで最終的に収支が高い個体を生き残らせます。

そこでどのように売買の判断をさせるかですが、
1,2,3,5,8,13......................150日間ぐらいのデータと、その前の平均データを比べて、高ければ1低ければ0をという遺伝子配列を用意します。

ちょっとわかりづらくなりそうなので、図示すると、
個体A#############            
#                           #  
# 遺伝子1[0,1,0,0,1,0,1,0] #
# 遺伝子2[1,1,0,1,0,1,0,0] #
###################
遺伝子1が活性化すると売る
遺伝子2が活性化すると買う

どのように遺伝子が活性化させるかは、
30日前 19日前 11日前 8日前 5日前 3日前 2日前 1日前
上がった 下がった 下がった 上がった 上がった 下がった 下がった
1               0              0              1             1               0              0
となるので、
この遺伝子配列の個体のみ売り買いを行います。

ただ、このままだと30日前と1日前が同じ重要度になってしまうので、
遠くなるほど軽くするとか、ある日付を境に重みを上げたり下げたりをしたりもした方がいいかなとも思います。

とりあえずこんなかんじで始めてみようと思います。
うまく行ったらラッキーですし、行かなかったらもうちょっと考えてみます。

0 件のコメント:

コメントを投稿