見出し画像

日本株のヒストリカルデータをどのように入手するかという話

日本株のデータソースは非常に少ない

pythonのデータ分析ライブラリ、pandasは非常に便利で、特にファイナンスデータを扱うのに適していると言われる。
コマンドに

$ pip install pandas-datareader 

と打ち込み、あとは 

import pandas_datareader as pdr

pdr.DataReader('GOOG', 'yahoo')

とコードを書けば、yahoo financeからgoogle株の株価をできる。

スクリーンショット 2020-07-25 17.57.27

(※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

実行結果

スクリーンショット 2020-07-25 18.20.35

このように簡単に株価を取得することができた。

もちろんグラフの描画も簡単である。

# 終値のグラフを描画
plt.plot(nintendo.Close)

スクリーンショット 2020-07-25 18.22.16

また、

$ pip install mplfinance 

でmplfinanceをインストールをした上で、

import mplfinance as mpf


mpf.plot(nintendo.drop('Currency', axis=1), type='candle')

と書けばローソク足も描画できて面白い。

スクリーンショット 2020-07-25 18.28.13

結論

ということで日本の個別株のデータソースとしては個人的に現状はinvestpyをお勧めしたい。

この記事が気に入ったらサポートをしてみませんか?