概要
自分の過去記事を参考に日経225データを取得しようとyfinanceを利用!
import yfinance as yf
data = yf.download("^N225", start="2025-01-01", end="2025-05-10")
ここで、エラー
Failed to get ticker '^N225' reason: Expecting value: line 1 column 1 (char 0)
[*********************100%%**********************] 1 of 1 completed
1 Failed download:
['^N225']: YFTzMissingError('$%ticker%: possibly delisted; No timezone found')
Empty DataFrame
Columns: [Open, High, Low, Close, Adj Close, Volume]
Index: []
yfinanceのバージョンも最新にアップデートした!気を取り直して、トヨタの株式で再度yf.download("7203.T", start="2025-01-01", end="2025-05-10")
。しかし!再びエラー
別の方法でダウンロード pandas_datareader
pandas_datareaderで対応してみたいと思います。
利用するライブラリ
pip install pandas-datareader
最新バージョン更新日が古いような気がするのですが、動作!!
import pandas_datareader.data as pdr
ticker_symbole = "^NKX" # 日経225
start = "2025-01-01"
end = "2025-05-10"
data = pdr.DataReader(ticker_symbole, "stooq", start=start, end=end)
print(data)
# Open High Low Close Volume
# Date
# 2025-05-09 37332.57 37557.41 37219.03 37503.33 2013502800
# 2025-05-08 36863.38 36977.35 36606.71 36928.63 1372579300
# 2025-05-07 36903.66 36942.38 36731.39 36779.66 1562989800
# 2025-05-02 36636.55 36976.51 36606.58 36830.69 1410466200
# 2025-05-01 36197.04 36544.15 36040.05 36452.30 1315774200
1. yfinanceが動作しない
ライブラリのyfinanceの調子が良くないみたい。時々起こる現象で 多くの場合、最新版にすることで動作する ようになります。今回の2025年5月の段階ではうまく動作していないっぽい1。
2. pandas_datareaderとは
pandas_datareaderは、様々なデータベースから経済っぽいデータを取得できるライブラリのようです。使い方や利用できるデータベースの説明などは公式のドキュメントを参考にしてください。
代表的なもの5つ抜粋
- Tiingo
- World Bank
- OECD
- Stooq:今回はこれを使う
- Yahoo Finance:やっぱりNGだった
3. サンプル
使い方の基本は、株式の銘柄コード、取得開始日、取得終了日を設定すればOKとなります。注意点は、データソースにstooqを指定する部分となります。データソースによって銘柄コードの書き方が異なってきます。
stooqでの銘柄コードの書き方は、番号+.JPとなります。番号のあとに「.JP」です2。
import pandas_datareader.data as pdr
ticker_symbole = "7203.JP" # トヨタの銘柄コード.JP
start = "2025-01-01"
end = "2025-05-10"
data = pdr.DataReader(ticker_symbole, "stooq", start=start, end=end)
stooqのサイトから銘柄を検索して、銘柄コードを調べることができます。下図はトヨタの株価となります。画像の赤い枠で囲まれた部分が銘柄コードに記述するべき値です。
日経225のようなインデックスについての銘柄コード(ティッカーシンボル)はstooqのインデックス一覧から確認できます。
サンプル
指標名 | シンボル |
---|---|
日経225 | ^NKX |
S&P 500 | ^SPX |
ダウ平均株価 | ^DJI |
4. stooqからCSVファイルをダウンロード
取得する銘柄が少ない場合は、stooqのサイトからCSVファイルとして直接ダウンロードするのが簡単かと思います。上図にある緑色の枠で囲まれた Histrical data の部分をクリックすることでダウンロードページに移動します。為替レートはプログラムではなぜかエラーになるし、webページからのダウンロードが楽でした