シミュレータ高速化後経過
データ読み込み箇所を必要数分のみ読み込むようにしたら 1日あたり 78.6sec かかっていたのが 5.5sec になったwwww 14倍早くなったwwww #SystemTrade
— Memento (@ioaxis) 2017年2月11日
C++版をいじっている過程で、全ての時系列データを読み込む必要はなく、シミュレート日数分だけ読み込めばいいと分かり、Ruby版へ逆輸入。結果的に14倍速くなった。
速くなった分一日のシミュレート回数も増えて、 2/12 から 4/28 までの結果が以下。
4/28 時点で 958,700 -5% ほど。コツコツドカンは健在。
利益率 : 60/94(73%), 平均利益 : 7,078円
損失率 : 34/94(27%), 平均損失 : 13,705円
時系列シミュレータは持ち越し有りだけど、当日のシミュレータは直ぐに結果がわかるように持ち越し無しにしてるから差異が大きいのか。そろそろ当日のシミュレータも持ち越し有りに変えようかな。となるとまた修正が必要になるな。
2月からの進捗まとめ
独自の標準出力クラス作ってログレベル設定しよう #SystemTrade
— Memento (@ioaxis) 2017年2月16日
ログレベルを設定することで、単純なprint出力ではなく、欲しいログだけ出力できるように修正。
RSI も移動平均乖離率も組み込んだ 次は持ち越し有りできるようにしよう 集中力切れたら炊けた米を閉まって洗濯物を取り込もう とか言うと結構集中力が持続したりする #SystemTrade #cpp
— Memento (@ioaxis) 2017年2月18日
上記の通り。しかしRSIと移動平均の計算日数によって計算量が膨大になって速度が恐ろしく遅くなっているような。。。
テキストのデータ読み込んで繰り返し実行できるようになった わーい 家事しよう #SystemTrade #cpp
— Memento (@ioaxis) 2017年2月18日
シミュレーションパラメータをテキストデータから読み込んで実行できるように修正。
シミュレーションパラメーターのFileHandlerできた 結局全部setter作ったな #SystemTrade #cpp
— Memento (@ioaxis) 2017年3月18日
テキストデータから読み込む箇所が大きくなってきたのでクラス化。
パラメータランダム最適化実装する #SystemTrade #cpp
— Memento (@ioaxis) 2017年3月28日
シミュレーションパラメータを乱数で決定し、繰り返し実行できるように修正。
SimParamのインスタンス化じゃなくて重み値パラメータクラスのインスタンス化か #SystemTrade #cpp
— Memento (@ioaxis) 2017年4月15日
パラメータ毎に重み値を付加し、シミュレート結果が良ければ加算、悪ければ減算する。ニューラルネットワークの適用。しかし double において INF などが発生しているため修正中。