ストックドッグ

KatoTakahiro。金融系の会社で働くSEが株やPython、その他諸々について書いています。サービスも運営してます→http://fmbrain.work

機械学習で株価を予測(まとめ) 〜平均予測精度57%〜

f:id:doz13189:20170115152013p:plain
過去1年の株価予測シミュレーション結果

目次

この記事はまとめ記事です

去年の11月頃から機械学習を使用した株価の予測をやっています。

新しい結果や発見があるたびにポツポツと記事にしていたのですが、見る人からすると断片的すぎてわかりづらいと思うので、今日まとめの記事を作ることを決意しました。

この記事を読んでわかること

  • 私について。
  • 予測に使用している機械学習の手法
  • 予測に使用している説明変数
  • 予測精度は上がるかわからないけど、予測はしているモデルの構築の仕方
  • 参考にした本やサイトたち

予測精度をそれなりに上げるには適当に機械に学習させるのではなくて、ちょっとだけ工夫がいります。

この記事に書いてあることを参考にすれば、予測精度はどうなるかわかりませんが、予測をするモデルの構築の仕方はわかると思います。(コードは載せてませんが、scikit-learnの実装はとても簡単なので載せる必要もたぶんないです、ぐぐったらたくさんコードでてきます。)

ちょっとの工夫についてはぼかしながら書きますが、この記事をちゃんと理解できる人は100%私より頭が良いので、私のざっくりとした説明を読んで、それぞれで工夫をすれば、それなりの精度の予測モデルを構築できるようになるはずです。

この記事は、ランダムフォレストで株価を予測する際に気をつけるべき点を充填的に書いています。

私がここ2、3ヶ月の間、おそらく総プレイ時間300時間超で発見したことをガンガンと書いているので、もし、私と同じことをしようとしている人がいれば、参考になる内容じゃあないかなぁ、なればいいなぁという心意気な具合です。

まず自己紹介

バイトで貯めた、なけなしの金25万を手に去年の6月頃からスイングトレードを主に株を始めました。
と同時にプログラミングも開始(Python)。まだまだぺっぽこプログラマー

プログラミングと株をはじめてから半年経つか経たないか瀬戸際の頃、株もプログラミングも入門レベルくらいに達していました。独学も何だし地元のPython勉強会に参加しました。これが良い転機に。
その時に参加されていた方(この本の著者)にこんな記事あるよ〜って教えてもらいました。

その時教えていただいた記事がこれ
masamunet.com

わお、機械学習ってこんなことできんのかよ!?って思い、こんなことやってみたい!と感じ、脳筋の私はその驚きの勢いのまま次の日から「機械学習で株価を予測」の旅をはじめました。

そこからです、辛い日々は。

目を充血させながら毎日毎日PCと向き合い、エラーが出るたびに泣きそうになり、まったく予測精度も上がらず眠れない夜が続き、やっぱり簡単じゃあないなぁ、無理かなぁ、なんて思いながら諦めるには時間を費やしすぎていて悔しかったので、諦めずに前を向き続けながら、順調にメンタルはボロボロになっていき、やっとの思いである程度の形のものを作ることができました。

ちょうど卒論の時期とかぶっていたのですが、卒論そっちのけで株価予測をやっていたので、かなり教授に嫌われ、現在は絶交状態です。ゼミ中に私が教授に話しかけるとそれだけでピリッとした空気になるので、その空気を一瞬で出せる教授はやっぱりすごい人だと思います。

そもそも株価の予測って何?どうやるの?

この記事を読んでいる人はきっとインテリなんで、もはや私ごときが説明するのも恐縮なんですが、半年前の私みたいにプログラミング楽しそ〜って目をキラキラさせている人がこの記事を読んでくれたときのためにザックリと説明しておきます。

機械学習(ランダムフォレスト)を使用して予測しています。
さっきから予測予測と言っていますが、行っていることは分類です。


今後株価が

  1. 上がる銘柄
  2. 下がる銘柄

この2つに分類しているんですね。


この2つに分類するために、過去4年間の株価データ・為替・経済指標を使用しています。

機械学習には教師データというものが必要であり、その教師データが過去4年間の株価データ・為替・経済指標です。

これら教師データから傾向などを学習していき、分類モデルを構築します。

構築したモデルによって、1ヶ月後の株価が上昇するのか、あるいは下落するのか、に分類します。

分類した結果=予測結果であり、このような流れで株価を予測しています。

もう少し詳しく

今回、予測は1ヶ月単位で行っています。

なので教師データも1ヶ月単位です。


f:id:doz13189:20170115144305p:plain


これがデータセットの基本的な形です。

画像のデータセットには、始値終値出来高とかしかありませんが、これを基本に様々な経済指標や為替を追加していくことで教師データを作っていきます。

どんなデータを追加するかは、「説明変数一覧」を下に載せているのでそちらを参照してください。


機械学習(ランダムフォレスト)には目的変数と説明変数が存在します。

目的変数=yには何を入れるか。

ここに1ヶ月後株価が上昇したのか、下落したのかを入れます。

そして、説明変数=xに経済指標や為替などを入れます。

ここでの説明変数の意味合いは、経済指標や為替がどれだけ1ヶ月後の株価の上昇・下落に影響を与えているか、ということを説明するための変数であると言えます。

つまり、xには1ヶ月後の株価の上昇・下落に関わってそうな変数を選んでくることが重要となります。

例えば、2016年10月の教師データを見てみると。

yには2016年11月の株価が上昇したか下落したか
xには、2016年10月の経済指標・株価データ・為替

このようにyとxは1ヶ月分ズレながら学習させていくことになります。

そして、学習モデルを構築し終われば、予測したい月の前の月のデータをxに入れます。

そうすることでyには、上昇するのか、下落するのか、という予測結果が入ります。

現在であれば、2016年12月のデータをxに入れると、2017年1月に株価が上昇するのか、下落するのかを予測してくれます。


先ほど、yには株価の上昇・下落を入れるとサラッと言いましたが、ここは少し工夫が必要です。

機械学習(ランダムフォレスト)では2値が扱いやすいので、1ヶ月後に上昇していたら1、下落していたら0とすればいいのですが、これではあまり上手く行きません。

なぜなら、ちょっと株価がちょっと上がっても1になり、ちょっと下がっても0になるからです。

ちょっと上がった株価は、上がるべくして上がったのか言われると怪しいですね。

つまり、ちょっと上がった株価には上がるに値する特徴があまりありません。

それにも関わらず、ちょっと上がった株価まで含めて学習させてしまうと間違ったことを学習させてしまう危険があります。

それを回避するために、上昇・中間・下落の3つに分けます。

この分け方は、独自で考えてもらえばいいのですが、私は次の月の騰落率が

+1%<=上昇
+1%>中間>-1%
-1%>=下落

このような形で分類し、上昇であれば1を、下落であれば0を入れています。

そのため、48ヶ月分のデータを使用していますが、中間に含まれる月は省くので48個よりデータは少なくなります。

そして、教師データには上昇と下落のみを使用します。

予測手法

先ほどからちょろっと言っていますが、使用しているのはランダムフォレストです。

オリジナルの記事では決定木を使用しているのですが、決定木の深さや葉の数など調整はめんどくさいです。

そもそも私は決定木スペシャリストではないので、葉や深さの調整方法もあまり知りません。記事では一番最適な深さ、葉の数を見つけており、私もその方法で一度やってみたのですが、そもそも決定木の分類精度が低いので調整をしたところで目くそ鼻くそな結果しか得られませんでした。

しかも、株価の説明変数なんてたくさんありすぎて、これらを決定木で分類しようとしても過学習待ったなしです。

これが決定木を諦めた一番大きな原因でした。


もう決定木の分類精度は低いということは潔く認めてしまって、決定木をたくさん集めたランダムフォレストを使用してみようという結論になりました。

いくら一つ一つが弱いと言えども、決定木を集めれば立派な分類器が作れるんじゃないか、というのがランダムフォレストの考え方です。

ものすごく性能の良いガンダムを一つ生産するよりも、性能は落ちるけどジムを量産したほうが強いんじゃないか?という考え方とすごく似ています。

ランダムフォレストは素人から玄人までみんなに愛されているジムキャノンのようなやつで、扱いやすいのが特徴です。

調整が必要なパラメータは、何個の決定木からランダムフォレストを生成するか、だけです。

一般的には、このパラメータは個数に比例して、性能は安定し、それと引き換えに計算のコストは増えます。

よっぽどPCがへっぽこじゃなければ、計算コストはあまり心配しなくても大丈夫です。

他にもざざっとランダムフォレストの特徴を上げておきます。


メリット

  • 説明変数が多数であっても、性能が安定する
  • 学習・評価が高速
  • 説明変数の重要度が算出可能(ホワイトボックス)
  • 交差検証法での評価が可能


デメリット

  • 重要度の高い説明変数が少なく、ノイズ変数が多いとランダムフォレストの性能が安定しなくなる


ホワイトボックスというのがとても重要です。

なぜなら工夫ができるからです。

メンタルにはこたえますが、なぜ上手くいっていないのかが究明できます。

説明変数の重要度を見たりしながら考えては工夫してという工程を繰り返すことで少しづつ予測精度が上がっていったので、もしこれがブラックボックスであれば、諦めるしかなかったと思います。

ディープラーニングもいいですが、中身でどういった処理をしているのかがわかるというのは、想像以上に重要なことだと私は考えます。

決定木についておさらい

ランダムフォレストを使用する上で、決定木の理解は欠かせません。

あくまでもランダムフォレストは決定木の集合体なので、決定木の分類の仕方を把握しておかないと、出力された結果を上手く把握することができません。

インテリな人は読み飛ばしてください。

ザックリと決定木の分類のイメージを説明します。

f:id:doz13189:20161207215442p:plain

決定木の処理の中身はこのような形になっています。

一つの質問ごとにYESとNOで分けていき、どんどんと枝分かれをしていきます。

この枝分かれする際は、ジニ係数を使用しています。

Scikit-leanはデフォルトでは、ジニ係数を使用しており、指定すればエントロピーも使用可能です。

このYESとNOで分けているという部分がものすごく重要なんです。

そして、このYESとNOに分ける際は、大なり小でわけます。

A <= B

この式が基本であり、もしAよりBが大きければYESに、小さければNOに、という分け方です。

この式を繰り返し行うことで、複数に枝分かれしていきます。

これこそが株価を予測する上で核となる部分です。

例えば、説明変数に日経平均株価を選んだとします。

すると

日経平均株価17000円 <= B

この式が出来上がったとします。

すると、決定木は日経平均株価17000円以上ならBは今後上昇し、17000円以下ならBは今後下落するという判断を行うことになります。

このように単純に日経平均株価を説明変数として入れると、こうなりますが、これでは上手く分類は行えません。

もし、この式が正しければ、1万円を常に割っていた民主党政権時代は永遠に株価が下がり続けることになります。

日経平均株価の価格自体には株価の上昇下落は説明することができません。

なので例えば、日経平均株価の騰落率に変換したりなどという工夫が必要になります。


これは他の指標にも言えることです。

あくまでもYESかNOの形に落とし込んだ時に、上手く分類を行える指標でなければ上手く行きません。

上手く行く例として、例えば、米国の失業率を入れたとします。

5%以下なら株価は上昇し、5%より大きいなら株価は下落する、というルールが出来上がり、これは未知データにも有効に効くルールとなります。

このことを理解して、説明変数を選ぶ必要があります。

ランダムフォレストも万能じゃない

ランダムフォレストは過学習には陥りにくいですが、じゃあ何個説明変数をぶち込んでも大丈夫かと言われるとそうではありません。

ランダムフォレストを生成する際、何個も決定木を生成するのですが、その決定木はどうやって生成するのでしょうか?

これは用意された説明変数からランダムに選んで、選ばれた説明変数で決定木を生成します。

これを何回も繰り返して、フォレストを構築するのですが、選ばれた説明変数がノイズ変数ばかりだと、へっぽこ決定木ばかりを生成することになります。

※ノイズ変数というのは、株価の騰落に何ら影響を与えていない変数。例えば、その日くしゃみをした人の数などは何ら株価に影響を与えません。

へっぽこの決定木を集合させても、ランダムフォレストの性能は良くなりません。

なので、ノイズ変数は出来る限り減らしたほうがいいです。

clf.feature_importances_

このコードで説明変数の重要度は確認することができます。

一通り説明変数になりそうな数値を集めてきたら、これを見ながら、ガツガツとノイズ変数を減らし、良いランダムフォレストを構築しましょう。

ただ、気をつけてほしいのは重要度が高ければ株価の分類に役立っているかというとそうではないことがあります。

低いのはザックザク切って構いませんが...

試しにドル円レートを説明変数に突っ込んでみるといいです。

重要度はそこそこを示しますが、ドル円レートは未知データに対して何ら威力を発揮しません。

過去を見ると、偶然的にドル円112円以上なら株価が上がって、以下なら株価が下がって、というパターンがあります。

こういうパターンを見つけて、モデルは学習しますが、そんなルールは存在しないので未知データを与えた時、このルールを元に判断しても精度は上がりません。

このようなことはたくさんあるので、未知データに効いているか否かはちゃんと調べないといけません。


もうひとつ、説明変数が多すぎると生じる弊害を書きます。

それは説明変数同士で矛盾が生じるからです。

これは説明変数同士の重要度がさほど変わらないが故に起こる問題なのですが、例えば、説明変数に米雇用統計とドル円レートを選んだとします。

もし、米雇用統計は良い数値を出している、がしかし、ドル円レートは円高...

こうなったとき、決定木はどう判断するでしょうか。

正直、人間でも判断しかねる状況...

もちろん、決定木では過去データからジニ係数のより低い方を先に説明変数として選ぶことになります。

ただ、残念なことにこれは上手く行きません。

判断はするのですが、この方法では精度が上がりません。


こういった矛盾は説明変数の数が多ければ多いほど起こりやすくなります。

出来高は増えているのに、日経平均株価は下がっていて、でも、消費者物価指数は上がっていて、などなどが同時多発でおきます。

こうなると、もう来月上昇するのか下落するのか上手く分類を行うことはできません。


私の経験からするとどんどん予測精度が50%に近づいていきます。

【訂正】
↑これは怪しい!ちゃんと検証して見る必要があるかもしれない。

もともと2値なので、適当にしても50%です。

つまり、適当に答えているのと同じになってしまいます。

株価はそのときどきによって、大きく影響が受ける変数が異なります。

ある月は、米雇用統計に素直に反応したり、ある時は、ドル円レートに素直に反応したり。

このようなことがあるので、株価を予測する際、説明変数は出し入れすることが効果的です。

出し入れの方法は各自で考えてもらうとして、ざざっと使用した説明変数の一覧をのせませう。

説明変数一覧

NT倍率
出来高
日経平均株価
ドル円レート
ユーロ円レート
TOPIX
ポンド円レート
売残
買残
売残増減
買残増減
信用倍率
上海株式指数
東証REIT指数
JASDAQ
インド株式指数
海外新興国株式
消費者信頼感(速報値)
失業率

これだけじゃあ、ありませんがどんな説明変数を使用しているかわかっていただければ、あとは自分で探してこれると思います。

ただ、これらを使用するだけでもけっこうな予測精度は出ると思います。

ためしにやってみたところ、これだけでは散々な結果しか得られません!

これらの説明変数にもうひと工夫しましょう!!

過去1年間のシミュレーション

2016年1月から2016年12月の計12ヶ月分のシミュレーションを行いました。

12月 69.70%
11月 59.32%
10月 72.84%
9月 61.90%
8月 29.49%
7月 26.97%
6月 67.86%
5月 61.54%
4月 63.77%
3月 36.37%
2月 78.57%
1月 55.56%

平均予測精度57.01%

ただし、これは情報落ちが激しい数字です。

予測精度の分散が大きいので、あまり鵜呑みにできない数字。

予測できている月はそこそこの精度がでていますが、外れている月はへっぽこです。

予測精度がへっぽこの月は、選んできた説明変数以外の変数が株価に大きく影響を与えている証拠です。

もし、株価に影響を与えると考えうる全ての説明変数を選んでくることができれば、こういったことは少なくなるはずです。(なくなることはないと思います、予測外は必ず起こるので)

また、11月は大統領選挙があったにも関わらず的中率が下がっていません。

これに関しては、全くの偶然であると考えています。

予想外のことが逆の方向に働かなかっただけです。

上昇を予測しているのに、予想外にも急落すれば的中率は下がりますが、上昇を予測して、予想外にさらに上昇すれば、そこまで的中率は下がりません。

決して、トランプ相場を予期していたわけではありません。

予測と逆のことが起きている月は順調に(?)予測精度が低いです。


これらを含めて、平均すると57%の確率で予測は当たるということになります。


月の予測結果詳細は以下に掲載します。

予測結果詳細には注目すべきデータがあります。

それは予測上昇下落銘柄数と実際上昇下落銘柄数です。

この数は、かなりの精度で近似しており、この数値自体を活用できるんじゃないかと考えています。

※予測月は予測している月
※対象銘柄数は予測を行った銘柄の数
※的中率は、対象銘柄のうち騰落予測があった確率
※判定不能銘柄数は、予測月に上昇も下落もしなかった銘柄
※予測上昇銘柄数は、上昇すると予測した銘柄の数
※予測下落銘柄数は、下落すると予測した銘柄の数
※実際上昇銘柄数は、実際に上昇した銘柄の数
※実際下落銘柄数は、実際に下落した銘柄の数
※上昇銘柄的中率は、上昇を予測し、実際に上昇した銘柄の確率
※下落銘柄的中率は、下落を予測し、実際に下落した銘柄の確率

予測月 12月
対象銘柄数 33銘柄
的中率 69.70%
判定不能銘柄数 0銘柄
予測上昇銘柄数 25銘柄
予測下落銘柄数 8銘柄
実際上昇銘柄数 23銘柄
実際下落銘柄数 10銘柄
上昇銘柄的中率 76%
下落銘柄的中率 50%
予測月 11月
対象銘柄数 59銘柄
的中率 59.32%
判定不能銘柄数 0銘柄
予測上昇銘柄数 47銘柄
予測下落銘柄数 12銘柄
実際上昇銘柄数 43銘柄
実際下落銘柄数 16銘柄
上昇銘柄的中率 70.71%
下落銘柄的中率 16.17%
予測月 10月
対象銘柄数 82銘柄
的中率 72.84%
判定不能銘柄数 1銘柄
予測上昇銘柄数 62銘柄
予測下落銘柄数 20銘柄
実際上昇銘柄数 60銘柄
実際下落銘柄数 21銘柄
上昇銘柄的中率 80.65%
下落銘柄的中率 45.00%
予測月 9月
対象銘柄数 64銘柄
的中率 61.90%
判定不能銘柄数 1銘柄
予測上昇銘柄数 38銘柄
予測下落銘柄数 26銘柄
実際上昇銘柄数 31銘柄
実際下落銘柄数 32銘柄
上昇銘柄的中率 57.89%
下落銘柄的中率 65.38%
予測月 8月
対象銘柄数 78銘柄
的中率 29.49%
判定不能銘柄数 0銘柄
予測上昇銘柄数 41銘柄
予測下落銘柄数 37銘柄
実際上昇銘柄数 38銘柄
実際下落銘柄数 40銘柄
上昇銘柄的中率 29.27%
下落銘柄的中率 29.23%
予測月 7月
対象銘柄数 89銘柄
的中率 26.97%
判定不能銘柄数 0銘柄
予測上昇銘柄数 25銘柄
予測下落銘柄数 64銘柄
実際上昇銘柄数 70銘柄
実際下落銘柄数 19銘柄
上昇銘柄的中率 60.00%
下落銘柄的中率 14.06%
予測月 6月
対象銘柄数 84銘柄
的中率 67.86%
判定不能銘柄数 0銘柄
予測上昇銘柄数 44銘柄
予測下落銘柄数 40銘柄
実際上昇銘柄数 19銘柄
実際下落銘柄数 65銘柄
上昇銘柄的中率 40.10%
下落銘柄的中率 97.50%
予測月 5月
対象銘柄数 78銘柄
的中率 61.54%
判定不能銘柄数 0銘柄
予測上昇銘柄数 47銘柄
予測下落銘柄数 31銘柄
実際上昇銘柄数 65銘柄
実際下落銘柄数 13銘柄
上昇銘柄的中率 87.24%
下落銘柄的中率 22.58%
予測月 4月
対象銘柄数 70銘柄
的中率 63.77%
判定不能銘柄数 1銘柄
予測上昇銘柄数 57銘柄
予測下落銘柄数 13銘柄
実際上昇銘柄数 43銘柄
実際下落銘柄数 26銘柄
上昇銘柄的中率 64.91%
下落銘柄的中率 53.85%
予測月 3月
対象銘柄数 60銘柄
的中率 36.67%
判定不能銘柄数 0銘柄
予測上昇銘柄数 18銘柄
予測下落銘柄数 42銘柄
実際上昇銘柄数 46銘柄
実際下落銘柄数 14銘柄
上昇銘柄的中率 72.22%
下落銘柄的中率 21.43%
予測月 2月
対象銘柄数 56銘柄
的中率 78.57%
判定不能銘柄数 0銘柄
予測上昇銘柄数 6銘柄
予測下落銘柄数 50銘柄
実際上昇銘柄数 10銘柄
実際下落銘柄数 46銘柄
上昇銘柄的中率 33.33%
下落銘柄的中率 84.00%
予測月 1月
対象銘柄数 56銘柄
的中率 55.56%
判定不能銘柄数 2銘柄
予測上昇銘柄数 30銘柄
予測下落銘柄数 26銘柄
実際上昇銘柄数 8銘柄
実際下落銘柄数 46銘柄
上昇銘柄的中率 20.00%
下落銘柄的中率 92.30%

売買シミュレーションを行ってみた

単純にその月の始値とその月の終値で売買シミュレーションを行ったところ、予測精度と対して変わらない結果が出たので、それじゃあ面白くないので、実際の売買に近づけたシミュレーションを行いました。

上昇を予測している銘柄は100株買い、下落を予測している銘柄は100株売りのポジションから入ります。

その月の始めの始値で買い、ATRトレーリングストップで損切りラインを決め、損切りラインを超えればその日の終値で売ります。

もし、損切りラインを割ることがなければその月の末の終値で売ります。

手数料は、1回の売買で200円に固定して計算しています。

ATRは4倍で計算しています。


ATRトレーリングストップとは、トレーリングストップの進化版です。

損切りのラインをそのときの株価の変動に合わせて決めるというものです。

トレーリングストップは、急上昇中or急落中は株価の変動が大きく簡単に損切りラインに達してしまったりすることがあるので、それを回避するために、ATRトレーリングストップでは変動に合わせて損切りラインも下げたりしてトレンドを追っていくという手法です。

詳しい計算方法はググッてね。私はここがわかりやすいかなぁと。

kabu-trading.com

12月 294880円
11月 -503110円
10月 993350円
9月 679520円
8月 -885859円
7月 -1489900円
6月 1120619円
5月 782260円
4月 99460円
3月 -418980円
2月 866991円
1月 -1165650円

最終的には、373,581円の利益でした。

この方法、けっこう落とし穴がありました。

11月と1月は予測精度は50%を超えているにも関わらず、総評価損益はマイナスです。

一体何があったのでしょう!?

詳しく見てみると、ある日を境に損切りが大量に行われていることがわかりました

11月はみなさんの記憶に新しい、大統領選挙です。

前代未聞のしゃがんでからの大ジャンプを日経平均株価が行ったため、しゃがんだ時点で損切りを行っていました。

1月も暴落があったため、同様に多くの銘柄で損切りを行ってます。

こういった予想外を除けば、その月の的中率と比例して利益を出しているようです。

幾度となく暴落暴騰がありましたが、何とか利益で出ていてホッと安心。


月の詳細は以下に掲載します。

予測月 12月
総評価損益 294880円
総評価損益率 101.3%
利益 506330円
損失 -211450円
PF 2.39
予測月 11月
総評価損益 -503110円
総評価損益率 98.87%
利益 726590円
損失 -1229700円
PF 0.59
予測月 10月
総評価損益 993350円
総評価損益率 102.5%
利益 1530530円
損失 -537180円
PF 2.84
予測月 9月
総評価損益 679520円
総評価損益率 113.6%
利益 1290050円
損失 -610530円
PF 2.11
予測月 8月
総評価損益 -885859円
総評価損益率 96.11%
利益 658470円
損失 -1544329円
PF 0.43
予測月 7月
総評価損益 -1489900円
総評価損益率 95.30%
利益 300400円
損失 -1790300円
PF 0.17
予測月 6月
総評価損益 1120619円
総評価損益率 104.02%
利益 2014909円
損失 -894290円
PF 2.25
予測月 5月
総評価損益 782260円
総評価損益率 105.24%
利益 1473750円
損失 -691490円
PF 2.13
予測月 4月
総評価損益 99460円
総評価損益率 100.65%
利益 602990円
損失 -503530円
PF 1.19
予測月 3月
総評価損益 -418980円
総評価損益率 97.26%
利益 399650円
損失 -818630円
PF 0.48
予測月 2月
総評価損益 866991円
総評価損益率 108.70%
利益 1148690円
損失 -281699円
PF 4.07
予測月 1月
総評価損益 -1165650円
総評価損益率 97.84%
利益 328850円
損失 -1494500円
PF 0.22

2016年色々起きすぎてて予測しづらすぎワロタ

けっこうな数の指標を集めてきていますが、それでも予想外はちょくちょく起きています。(おそらく予想外に完全に対応することは不可能)

2016年6月あたりから株を始めているので、過去どのくらいの頻度で暴落暴騰が起きているのかわかりませんが、暴落暴騰ってこんな頻繁に起きるもんかい?!

というかあの著名な投資家ジョージ・ソロスでさえ、大損失を出す年なんで、もう仕方がないですよ、ある程度外れるのは。

普通に考えて、大統領選挙など大きな出来事の前は資金をしまっておくのがグッドなので、そうやって上手く予測結果を使っていくのがベターです。

予測結果に全面的な信頼を置くことはまだまだできません。

機械学習の特徴をしっかりと理解した上で、予測結果は参考すれば大きな助けとなると私は考えています。

2017年1月分の予測結果は、以下のサイトに掲載しています。


https://stockdogi.herokuapp.com/index


主に参考にしたWEBあるいは参考書

主に参考したものだけを掲載します。(基準3回以上訪れたWEBページあるいは参考書)


masamunet.com

masamunet.com

qiita.com

qiita.com

business.nikkeibp.co.jp

イラストで学ぶ 人工知能概論 (KS情報科学専門書)

イラストで学ぶ 人工知能概論 (KS情報科学専門書)

株は技術だ!  倍々で勝ち続ける究極のチャート授業 (相場師朗)

株は技術だ! 倍々で勝ち続ける究極のチャート授業 (相場師朗)

ロボット運用のプロが分析してわかった 最強の株式投資法

ロボット運用のプロが分析してわかった 最強の株式投資法

ビッグ・データで株価を読む

ビッグ・データで株価を読む