【Python金融データ】Stooqの使い方

投資・ファイナンス

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」と検索すると画像のように候補が出てきますので、目的のコードを取得できます。
toypta検索

以前は先物など(.F)も取得可能だったようですが、2024年6月時点ではダウンロードできなくなっています。
TOPIXのような指数は取得できます。

web.DataReader('^TPX', 'stooq', date_s, date_e)

今回使用したコードはこちらのGoogleColabで確認可能です。

タイトルとURLをコピーしました