dogwood008の開発メモ!

最近のマイブームは機械学習, Ruby on Rails。中でも機械学習を使った金融商品の自動取引に興味があります。

TensorFlow

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その10

問題 今までepisode毎に集計してlossが少なくなればモデルを保存するようにしていた lossは増加するばかりで、何度回しても減らない(原因は不明) 一方、TensorBoardでrewardを眺めると、episodeを進める度にrewardは増えていっていた rewardが増えたら保存…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その9

問題 TensorBoardで、学習の経過を視覚化したいな… 問題に対する解 コールバックを使った。そのままだと動かなかったので、一旦動くように変更。 github.com

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その8

現在の問題 学習の結果、モデルを保存していないので、学習結果を再利用できない。 問題に対する解 Episode毎にモデルが良くなっていたら、重みを保存する。 そのためのコールバックを作成し、学習の際に渡すことで、Episode終了毎に呼ばれるようにする。 gi…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その7

試しに学習ができるよう、バグフィックスと機能追加。 2010年9月分を1Epoch学習させたところ、47.33分かかった。実際の学習にはこれを数年分、更に数万〜数十万Epoch分を回すので、このパフォーマンスでは厳しい。 次の一手として、GPUを使ってTensorFlowで…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その6

今回は試しに学習させてみたところ、途中でエラーが出て止まってしまった。再帰的に直前の存在する日時インデックスを取得するメソッドにバグがあったので、この機会にもっとシンプルな実装へ変更した。 (前略) [2017-04-01 15:05:29,613] before 2010-09-…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その5

現在の問題点その3 一つ心配事は、土日等休場日も学習すべきかどうかである。おそらく、48時間全く値動きがないことを学習しても仕方ないので、これは飛ばして良いと思う。問題はその次の数分の欠測である。欠測の間は値動き無しとして学習するのが良いの…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その4

現在の問題点その3 一つ心配事は、土日等休場日も学習すべきかどうかである。おそらく、48時間全く値動きがないことを学習しても仕方ないので、これは飛ばして良いと思う。問題はその次の数分の欠測である。欠測の間は値動き無しとして学習するのが良いの…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その3

現在の問題点その2 2010年9月3日のデータは23:00:00迄しかなく、23:01:00を読み出そうとした時にエラーが発生している。適切にスキップする処理が必要か。 現在の問題点その2に対する解 その日時におけるデータが存在しなければ、その直前のデータを参照すれ…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その2

解決した内容 現在の問題点その1 h = HistData('2010/09') として、2010年の9月分を学習用に与えているが、ログを見る限り2010年9月1日の05:00:00迄しか学習していない? 問題点その1に対する解 nb_max_episode_steps = None にする。これが各エピソードにお…

Deep Learning, TensorFlow, Keras, DQN を使ってFXの自動取引をする その1

元ネタはこれです qiita.com UdacityのMachine Learning for Tradingを修了して、いっちょやるか、と思い立ってのでやります。 https://www.udacity.com/course/machine-learning-for-trading–ud501www.udacity.com 上記の講座の中では、教化学習、その中で…