よっしーの私的空間

機械学習を中心に興味のあることについて更新します

Pythonで株価データや金融データを取得する方法(pandas_datareader)

pandas-datareaderというpythonライブラリを使用して株価データや金融データを取得する方法についてまとめます。pandas-datareaderとはウェブ上の様々なデータソースにアクセスするライブラリです。今回は以下にアクセスします。

アクセス先 概要
Stooq ポーランドのサイトで日本の株価データも取り扱っている。
St.Louis FED (FRED) セントルイス連邦準備銀行の公開している経済統計データ集。
株価データは取り扱っていない。

上記以外のデータソースは以下にまとまっています。
Data Readers — pandas-datareader v0.10.0 documentation

1.pandas-datareaderの使用方法

① インストール

pipコマンドを使用して以下の通りインストール。

pip install pandas-datareader

② Stooqからデータ取得

以下コードでStooqからデンソーの株価データを取得します。

# ライブラリのインポート
import pandas_datareader.stooq as web
from datetime import datetime

# データ取得期間の設定
st = datetime(2015, 1, 1)
ed = datetime(2020, 1, 1)

# 株価価格等の取得
lst1=['6902.JP', #デンソー
    ]
stooq = web.StooqDailyReader(lst1,start=st,end=ed).read()
display(stooq.head())

<出力結果>

③ FREDからデータ取得

次にFREDからは株価以外の経済統計データを取得してみます。
試しにResidential Property Prices for Japanを取得してみます。

# ライブラリのインポート
import pandas_datareader.fred as web
from datetime import datetime

# データ取得期間の設定
st = datetime(2015, 1, 1)
ed = datetime(2020, 1, 1)

# Residential Property Prices for Japanを取得
fred = web.FredReader('QJPN368BIS',start=st,end=ed).read()
display(fred.head())

<出力結果>