日本株のヒストリカルデータをどのように入手するかという話
日本株のデータソースは非常に少ない
pythonのデータ分析ライブラリ、pandasは非常に便利で、特にファイナンスデータを扱うのに適していると言われる。
コマンドに
$ pip install pandas-datareader
と打ち込み、あとは
import pandas_datareader as pdr
pdr.DataReader('GOOG', 'yahoo')
とコードを書けば、yahoo financeからgoogle株の株価をできる。
(※5年で2.5倍になったのか...)
しかしこのyahoo financeはUSのyahoo financeで、yahoo japanではない。
USのyahoo financeは日本の個別株のデータは提供していないし、
yahoo japanはデータすら提供していない上にスクレイピング・クローリングすら禁止されている。
(以前に紹介したJ-REITの株価取得の際に用いた"YahooFInanceSpider"というライブラリは限りなく黒に近いグレーだ)
代わりに日本の個別株のヒストリカルデータを簡単に取得できるwebサービスはないかと探してみると、結構見つからないものである。
investpyを使ってみよう
ということでたまたま見つけた、スクレイピング・クローリングが禁止されていなくて尚且つ日本株のデータが取れるサービスを、今回はご紹介しながら使ってみようと思う。
https://jp.investing.com/ からデータを抽出できるというライブラリ、"investpy"だ。
$ pip install investpy
でまずはインストールを済ませよう。
詳しい使用方法はdocumentationを読んでもらうとして、まずは実際に使ってみよう。今回はサンプルとして任天堂の株価を使用する。
import pandas as pd
import investpy
import matplotlib.pyplot as plt
# 任天堂株の直近データを取得する.stockパラメータには銘柄コードを入れる
nintendo = investpy.get_stock_recent_data(
stock='7974',
country='japan'
)
# 出力
nintendo
実行結果
このように簡単に株価を取得することができた。
もちろんグラフの描画も簡単である。
# 終値のグラフを描画
plt.plot(nintendo.Close)
また、
$ pip install mplfinance
でmplfinanceをインストールをした上で、
import mplfinance as mpf
mpf.plot(nintendo.drop('Currency', axis=1), type='candle')
と書けばローソク足も描画できて面白い。
結論
ということで日本の個別株のデータソースとしては個人的に現状はinvestpyをお勧めしたい。
この記事が気に入ったらサポートをしてみませんか?