PythonのYFinanceが動かなくなった?!どうすべき?設定確認と動作するための方法(2025年05月での変更対応:Python3.13、Jupyter)

スポンサーリンク
投資

2025年4月末にYahoo! Financeの仕様変更に伴い株価取得に問題が出るようになったようです。修正と対策をまとめました。

0.情報収集

基本的にはyfinanceを更新すれば動くようです。

ただしPython3.10以上が必要とのこと。

残念ながら私はPtyhon3.9.2を使用していたので、結構大掛かりな更新が必要になりそうな予感。

1.yfinanceパッケージの更新

まず最初はyfinaceの更新

Client Challenge
pip install --upgrade yfinance

私の場合は 0.2.55 だったものを上記コマンドで0.2.59に更新しました。

Jupyter notebook上で以下のコマンドを実行し、更新されたことを確認しました。

!pip list
yfinance           0.2.59

2.Python3.13へのアップグレード

Python Releases for Windows
The official home of the Python Programming Language

もう一気にpython3.13.xまで上げてしまえと3.13.3を選択してインストールを実行!(良い子は)3.12程度で安定的なバージョンを選択するのが良いかと思います。

.exeファイルをダウンロードして実行し、動作を確認します。

c:\Users\XXX> python -V
Python 3.13.3

バージョンアップはできたようです。

3.Jupyter notebookでの参照の確認

私はwindowsマシンはJupter notebook , ChromebokのLinuxではVisual Studioを使っています。Jupyter notebookでの動作を確認します。

!python --version
import sys
print(sys.executable)
print(sys.version)

Python 3.13.3
c:\users\XXX\appdata\local\programs\python\python39\python.exe
3.9.2 (tags/v3.9.2:1a79785, Feb 19 2021, 13:44:55) [MSC v.1928 64 bit (AMD64)]

残念ながらJupyterはまだ3.9の方を参照しているようです。

4.Python 3.13用のカーネルをJupyterに登録して使う

python -m pip install ipykernel
python -m ipykernel install --user --name python313 --display-name "Python 3.13"
  • 1.実行後Jupyter notebookを再起動
  • 2.上部メニューから「Kernel(カーネル)」→「Change Kernel(カーネルを変更)」
  • 3.表示された一覧から「Python 3.13」を選択
!python --version
import sys
print(sys.executable)
print(sys.version)

Python 3.13.3
c:\users\XXX\appdata\local\programs\python\python39\python.exe
3.13.3 (tags/v3.13.3:6280bb5, Apr  8 2025, 14:47:33) [MSC v.1943 64 bit (AMD64)]

Jupter notebookでもPython3.13を参照することを確認できました。

ただしPython自体をアップグレードしたこともあり

pip install --upgrade matplotlib
pip install --upgrade selenium
pip install --upgrade openpyxl

など付随してインストールしているパッケージの更新も併せて行います。動作が不安定でないか、ちゃんと動くかそれはそれは不安でしたが何とか動くようです。

5.yfinanceの実行

私は以下のコード実行していますが、今回のアップデートできちんと動作しました。

data2 = yf.download(codelist, interval = "1d",start=start, end=end)["Close"]
print(pd.concat([data2.head(), data2.tail()]))

[*********************100%***********************]  24 of 24 completed
Ticker           ARKK        BKF        BTC-USD        DBC         DIA  \
Date
2024-12-31 56.770000 36.490002 93429.203125 21.379999 423.686462
*****
2025-05-08 51.470001 39.720001 103241.460938 20.959999 413.880005
2025-05-09 51.349998 39.840000 NaN 21.120001 412.420013

VIX系のデータ取得確認できました。

6.ブログ記事のグラフ等確認

各記事のコードを利用してのプロットが動作していることを確認しました。

自動TweetもPythonのバージョンを更新しても動いているようで安心しました。

コメント

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