機械学習(scikit-learn)を使用した株価予想


scikit-learnを勉強してみたので、そちらを使って株価を予想してみる話。
前回、前々回とネタが被っているのはTensorFlowと比較したいのと、入力に使うデータの入手や加工が面倒なためです。お許しください。
ちなみに既に同様のことをやられている方がいらっしゃいます。
なお、1週間くらいscikit-learn(およびその周りの理論等)を勉強しただけなので間違い等多分にあるとあると思います。指摘等お待ちしています。

scikit-learnとは
「サイキット・ラーン」と読むっぽい。
機械学習のためのライブラリ。色々なアルゴリズムが搭載されていて割と簡単に使える。
TensorFlowでも同じようなことが出来るのかもしれないが、scikit-learnの方が書くのが楽。

メリット

様々なアルゴリズムが使える。
Windowsで動く。(コレ大事)

デメリット

ディープラーニングは出来ない。

趣旨

scikit-learnを試す。
TensorFlowを使用したときと比べて、使用感、精度、速度等を見る。

やること
「数日分の世界中の株価指数(ダウ、日経平均、DAXなど)を使用して、次の日の日経平均が上がるか下がるか(2択)を予想する」(前回と変わらず)

環境
scikit-learn 0.17.1
Python 2.7
Windows 7

実装

準備
前回のデータをそのまま流用します。
(Quandlというサイトからダウンロードした、日経、ダウ、香港ハンセン、ドイツの株価指数をテキストデータとして1つにまとめたもの)

ラベル
scikit-learnの場合、ラベルはフラグ形式([0,0,1]みたいなの)ではなく、intで数値を指定するようなので、上昇の場合は0、下落の場合は1としました。

if array_base[i][3] > (array_base[i+1][3]):
y_flg_array.append(0)
up += 1
else:
y_flg_array.append(1)
down += 1

サンプル全体としては、
上がる:50.5%
下がる:49.5%
となりました。

入力データ
前回の改善点を踏まえ、株価をそのまま入れるのではなく、「前日に比べてどれくらい(%)上下したか」のリス…この記事の続きを読む

サイト名: Qiita - Python

無料メールマガジン登録

週1回、注目のAIニュースやイベント情報を
編集部がピックアップしてお届けしています。

こちらの規約にご同意のうえチェックしてください。

規約に同意する


Leave a Reply

Your email address will not be published.