はじめに
株価等のデータ取得にyfinanceを実施していますが、最近 2025/2月から以下のエラーが報告されています。
yfinance.exceptions.YFTzMissingError: $%ticker%: possibly delisted; no timezone found
原因
どうやら今年の2月頃から、Yahooが既存のUser-Agentヘッダをブロックし始めたようで、リクエストにエラーが出ていました。幸い、yfinance 0.2.54以降のバージョン(現在は0.2.55)でこのエラーに対応しているのでアップデートすることをお勧めします。
対処
以下のアップデートコマンドを利用します。
pip install --upgrade yfinance
pip show yfinance
私はMambaを利用しているので、以下を利用しました。
mamba install -c conda-forge --force-reinstall yfinance
mamba list yfinance
パイソンを利用している場合は、以下のコマンドで実際のyfinanceの利用バージョンを確認できます。
import yfinance as yf
print("yfinance version:", yf.__version__)
仮想環境やIPythonのインタラクティブ環境を利用している場合は、その環境でバージョンが利用されているか確認していみてください。
Ctr+Shift+Pでパイソン環境を選択できます。
私の場合は、IPythonの環境を利用している為、以下のPython環境も変更するがありました。
終わりに
今回は完全な忘備録ですが、ChatGPTのDeepSearchで助けてもらえました。この機能でも30分ぐらいネット検索して、考えていたので、あまり多く知られていないFixなのでしょうね。
ではまた。
Happy Hacking!!!