Stooqとは?
Stooqはポーランドを拠点とする金融データの提供サイトになります。
APIを使うことなくデータをダウンロードできるので、気軽にデータをダウンロードできるのが特徴です。
日本の株価データや、S&PやTOPIXといった指数も取得可能です。
Pandas_datareaderでの取得方法
pandas_datareaderを使って取得するには、大きく2つの方法があります。
例えば、トヨタの株価を取得してみます。
一つ目の方法は、StooqDailyReaderを使う方法です。
開始日と終了日を指定して、ダウンロードします。日付データに関してはなくても大丈夫です。
import pandas_datareader as web
from dateutil.relativedelta import relativedelta
from datetime import date
date_e = date.today()
date_s = date_e - relativedelta(years=1)
stooq = web.stooq.StooqDailyReader('7203.JP', start=date_s, end=date_e).read()
stooq
もう一つは、DataReaderを使う方法です。
web.DataReader('7203.JP', 'stooq', date_s, date_e)
どちらも同じ結果を得ることができます。
基本的に前日までのデータを取得できます。
取得されるデータは新しいデータが上にくるので、必要に応じてソートをしてください。
銘柄コードの調べ方
pandas_datareaderを使うことで、かなり簡単に銘柄のヒストリカルデータを取得できることを確認しました。
では、対象の銘柄コードはどのように調べることができるのでしょうか?
基本的には、Stooqサイトの左上の検索画面から、キーワードを入れて検索することで取得できます。
例えば、「toypta」と検索すると画像のように候補が出てきますので、目的のコードを取得できます。
以前は先物など(.F)も取得可能だったようですが、2024年6月時点ではダウンロードできなくなっています。
TOPIXのような指数は取得できます。
web.DataReader('^TPX', 'stooq', date_s, date_e)
今回使用したコードはこちらのGoogleColabで確認可能です。