少し投資に興味が出ていた時期があって、株価データを使って、勉強がてら時系列解析モデルでも構築する遊びをしようかと考えたりしていました。 その時にデータ収集にしようとした際に使ったinvestpyを紹介します。スクレイピングなどはいくつか注意しないと大変な目に遭うので、こういうライブラリがあるのは助かります(もちろん使う時は注意が必要ですが)。
まずはライブラリのインストールから。なお、公式ドキュメントはこちらにあります。
pip install investpy
investpyを使って株価データを取得してみましょう。なお、今回は日立製作所の株価データを取得させています。
import pandas as pd
import investpy
stock = '6501' # Hitachi Ltd
country = 'japan'
stock_df = investpy.get_stock_recent_data(stock=stock, country=country)
stock_df.reset_index(drop=False, inplace=True)
stock_df.head()
なお、上で使用しているget_stock_recent_data関数についてはこちらのドキュメントに詳細が記載されています。
また、日立製作所を指定する際に4桁の数字を指定していますが、その調べ方を下記にて記載しておきます。
investing.comにアクセスする
画面上部の検索バーにてhitachiと入力する。
下記のように予測結果が表示されている中の右端にコードが記載されている
なお、可視化した結果はこちら。
from matplotlib import pyplot as plt
import matplotlib.dates as mdates
import seaborn as sns; sns.set()
fig,ax = plt.subplots(figsize=(12,4))
locator = mdates.DayLocator()
formatter = mdates.ConciseDateFormatter(locator)
ax.xaxis.set_minor_locator(locator)
ax.xaxis.set_major_formatter(formatter)
sns.lineplot(data=stock_df, x='Date', y='Close')
ax.set_title('Hitachi Ltdt')
plt.show()
結構簡単ですね。サンプルデータにして、勉強や研修などのデータにしてもよし。投資に活かして一攫千金狙うもよしな気がします(当たるかは保障しません笑)。