エラー内容
「 xxxx 」の部分は企業のティッカー(証券コード)が入ります
1 Failed download:
['xxxxx']: Exception('%ticker%: No timezone found, symbol may be delisted')
問題のコード
書いたコードは下記の通り
#ダウンロードに必要なモジュールをインストール
from yahoo_fin import stock_info
import yfinance as yf
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import datetime
import pickle
import matplotlib.pyplot as plt
start_date = '2015-01-01'
end_date = '2023-12-28'
# Define the tickers
tickers = ["xxxxx", "xxxxx","xxxxx"]
# Download the data
data = yf.download(tickers, period="max", group_by='ticker')
# Check the columns in the downloaded data--
print(data.columns)
# Plot the adjusted close of the tickers
data["Adj Close"].plot(figsize=(10, 7))
原因
よく確認したら、DLできなかった企業は特定の時期より上場から非上場に以前よりなっていました。(つまり公開株ではなくなったので、株価データがない)
そのため、
end_date = '2023-12-28'
のところで引っかかったんですね。
私の場合はEnd Dateでしたが、Startdateのところでエラーが出ていたら開始年に何か問題があるはず。
Yahoo Financeや他の金融データ提供元は、廃止された企業の株価データを提供することは通常ありません。廃止や上場廃止となった企業の株式は、一般的に金融データベースから削除されるらしい。
解決方法
いつの間にか非上場になっている企業はしょうがないですが比較対象から外しましょう