17
23

More than 3 years have passed since last update.

株価データ取得Tips

Posted at

はじめに

今回は株価データの取得方法についてまとめておく。

身近なサイトでは、Yahoo!ファイナンスの時系列データがお手軽そうではあるがYahoo!ファイナンスはスクレイピング、すなわちWebページから株価データを抽出することは禁止されているようなので、Pandas DataReaderを利用するとよい。

以下の記事を参考にした。
https://ntk-lab.com/import_stock_data/
Pythonで株価データを取得する方法

Pandas DataReader

ここにPandas DataReaderで利用する株価データの入手元と、アクセス方法が載っている。

IEX

NY市場上場銘柄ならば、IEXから取ってくるサンプルコードを容易に見つけることができるが、IEXから株価データを取得するには、アカウントを作ってAPIキーを取得する必要がある。
無料のAPIキーを取得可能だが、1日に取得できるデータ量には制限がある。
有料のAPIキーもそんなに高価ではないが、解約方法のページを探しきれなかったのでやめておく。

iex

import os
import pandas_datareader as pdr
from datetime import datetime

os.environ['IEX_API_KEY'] = '取得したAPIキーの価'
start_date = datetime(2020,1,1)
end_date = datetime(2020,7,10)

df = pdr.data.DataReader(name='AAPL', data_source="iex", start=start_date, end=end_date)
df.to_csv("AAPL.csv")

Stooq

使い勝手は良かったのは、Stooq。API キー取得は不要。
取得例は以下。

import pandas_datareader.stooq as web
from datetime import datetime

start_date = datetime(2020,1,1)
end_date = datetime(2020,7,10)

dr = web.StooqDailyReader('^DJI', start=start_date, end=end_date)
df = dr.read()
df.to_csv('DOW30.csv')

各国インデックスや日本国内銘柄も取得可能。
海外銘柄はティッカーコードで、日本国内銘柄は4桁の証券コードに「.JP」の拡張子を付けたものを指定する。

取得銘柄 指定コード
Apple AAPL
DOW30 ^DJI
NIKKEI225 ^NKX
極洋 1301.JP
NF日経ダブルインバース 1357.JP
上場日経2倍 1358.JP

まとめ

Pandas DataReaderのstooqは、APIキー取得不要で使い勝手が良い。
日本の上場銘柄が取ってこれるんで、禁断のスクレイピングに手を染める必要がない。

17
23
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
23