TensorFlowで株価予想シリーズ
- 0 - Google のサンプルコードを動かしてみる
- 1 - 終値が始値よりも高くなるかで判定してみる
- 2 - 日経平均225銘柄の株価予想正解率ランキング〜
- 3 - 日本3506銘柄の株価予想ランキング
- 4 - 実際に売買したら儲かるのかシミュレーションしてみる
- 5 - 大きく上がると予想されたときだけ買ってみるシミュレーション
- 6 - 学習データの項目を増やす!隠れ層のサイズも増やす!
- 7 - 株価が何%上昇すると予測したら買えばいいのか?
- 8 - どの銘柄を買うか
- 9 - 年利6.79%
前置き
前回はGoogleのコードをそのまま動かして、株価予想ができるのかどうか見てみました。結果 73% で前日終値よりも高くなるかの判定ができました。でも前日終値からの判定だといつ買えばよいのか分かりにくいんだよねぇー。って事で今回は当日の終値が当日の始値よりも高くなるかで判定してみます。
コード
github にどーんと置いてあるよ
解説
コードにコメント書いたから見てね。前回と違うところは答を「終値-始値」で出しているところだけで、学習方法とかは何も変えてないっす。
前回同様にデータ操作に Pandas を使っているからこことか参考になるよ。「Python Pandasでのデータ操作の初歩まとめ − 前半:データ作成&操作編」
実行
環境構築とかは前回の記事を見てねん。
これで実行
$ python goognet.py SP500
...
1000 0.532328
2000 0.543299
3000 0.642241
4000 0.654976
5000 0.655956
6000 0.65576
7000 0.656152
8000 0.656152
9000 0.656152
10000 0.656152
Precision = 0.730696798493
Recall = 0.657627118644
F1 Score = 0.692239072257
Accuracy = 0.729835552075
ふむふむ 72% ですか。前回より 1% 落ちた。
いつ何を買えばいいのか?
SP500の予想をしてるけど、予想に使ってる指標の中でFTSE(ロンドン証券取引所の株価指数)が日本時間午前1:30と一番最後に閉まります。そして、SP500は夏なら日本時間午前6:00、夏以外は午前5:00に閉まります。午前1:30過ぎに学習器を回して、SP500が閉まる午前5:00までの間に何かを買うことになるかな。そして買う金額は当日の始値以下。前回は前日の終値で判定したので、それを使えば前日の終値以下で買うというのも合わせられる(売る場合はその逆)。前回の記事を書いたら暴落を予測できないと危ないという声があったので、暴落予想の学習器も合わせて作ったほうがよいのかもね。
ところで何を買うんだろう?SP500のオプション?GMOのオプション手数料をみたら取引額の何%かを手数料に支払うみたいなんで(0.15%って書いてある)株価の変動率が手数料よりも大きくないと負けちゃうね。
次はなにしようか
為替情報とか原油価格とかを学習データに入れたいよね。あとは指標じゃなくて普通に企業名柄で遊んでみたい。