Python データマイニング

Python学習【365日チャレンジ!】326日目のマスターU(@Udemy11)です。

大晦日から食べ続け、飲み続け、体重が5kgも増えてしまいました。

おせち料理はすでになくなり、ふるさと納税で届いたうなぎやカニに手を出しています。

初詣にも出かけず、部屋着で一日中食っちゃ寝食っちゃ寝して、その合間にこの記事を書いていますが、正月は記事を書くのをやめようかなという誘惑に襲われます。

これが継続100日あたりなら間違いなく誘惑に負けていましたが、ゴールが目の前に迫っているので、ここでやめるわけにはいきません。

ということで、今日もPython学習を始めましょう。

昨日の復習

昨日は、収集したデータから判断指標を作成するための統計学について学習しました。

統計学というより、株価のテクニカル指標という感じでしたが、データの統計を元に指標を作るのが、この統計学のパートで、大量のデータをいろいろな視点から指標を作るのが統計学という理解でいいかと思います。

くわしくは、昨日の記事をごらんください。

今日は、収集したデータと同じようなデータを比較して、判断指標とするためのデータマイニングを学習します。

データマイニング

データマイニングは、データの発掘という意味ですが、データが大量にあったとしても、それはただ単なる大量のデータにしか過ぎません。

その大量のデータを統計によって指標を作り、その指標の関連性を見つけたりして今後のデータ予測に使うのがデータマイニングになります。

複数の株価を比較

昨日は、同じ株の過去14日の平均値を指標にしましたが、複数の銘柄の株価を比較することでその関連性を見てみます。

import matplotlib.pyplot as plt
import pandas_datareader

df_aapl = pandas_datareader.data.DataReader('AAPL', 'yahoo', '2019-12-01', '2020-12-01')
df_fb = pandas_datareader.data.DataReader('FB', 'yahoo', '2019-12-01', '2020-12-01')
df_gold = pandas_datareader.data.DataReader('GLD', 'yahoo', '2019-12-01', '2020-12-01')

df_aapl['Close'].plot(figsize=(9, 6), color="red")
df_fb['Close'].plot(figsize=(9, 6), color="blue")
df_gold['Close'].plot(figsize=(9, 6), color="orange")
plt.show()

Yahoo Financeからアップルとフェイスブックとゴールドの株価を一つのグラフに表示しています。

Python データマイニング

アップルとフェイスブックは株価の値動きが似ていることがわかり、ゴールドは他の株価に影響されずに株価の値動きが少ないことがわかります。

株価の値上がり値下がりを比較

先程収集したアップル、フェイスブック、ゴールドの株価について、1日の値上がり率、値下がり率を出してそれぞれを比較してみます。

df_aapl['change'] = (((df_aapl['Close']  - df_aapl['Open'])) / (df_aapl['Open']) * 100)
df_fb['change'] = (((df_fb['Close']  - df_fb['Open'])) / (df_fb['Open']) * 100)
df_gold['change'] = (((df_gold['Close']  - df_gold['Open'])) / (df_gold['Open']) * 100)

df_aapl['change'].tail(50).plot(grid=True, figsize=(9, 6), color="red")
df_fb['change'].tail(50).plot(grid=True, figsize=(9, 6), color="blue")
df_gold['change'].tail(50).plot(grid=True, figsize=(9, 6), color="orange")
plt.show()

それぞれの株の終値から始値を引いて始値で割った値を新しいchangeという列で追加しています。

最後の50個のデータをグリッドを表示してそれぞれのグラフに色を付けて表示しています。

Python データマイニング

このグラフから分かることは、値上がり率、値下がり率ともに、アップルとフェイスブックは同じような傾向が見られ、ゴールドについては、あまり変動がないことがわかります。

また、このグラフの値上がり値下がりが決算発表などの日程と結びついていることを見つけたりすることもできるかと思います。

まとめ

データウェアハウスから統計学を使って、いろいろな指標で新しいことを発見するのがデータマイニングになるわけですが、正解があるわけではなく、たくさんのデータマイニング方法やアルゴリズムがあります。

あまりにも手法が多すぎるので、どれを使えばいいのか迷ってしまうかと思いますが、自分が使いやすくて、信頼のおけるものをみつけることが大切なので、いろいろな方法を試してみることが大切です。

私自身、ちょっと頭の中がオーバーヒート気味になってしまっているので、息抜きをしながらじっくり学習していきたいと思います。

それでは、明日もGood Python!