Значение Datetime не работает, но ручной ввод работает, даже если значение datetime соответствует назначению

#python #date #datetime #yfinance

Вопрос:

Ниже приведен код для получения данных об опционах на акции. Мне нужна дата истечения срока действия опционов, и я хотел бы, чтобы это была пятница текущей недели. Фактическое значение даты и времени-это именно то, что я намереваюсь (2021-07-30), но программа работает только в том случае, если я ввожу ее вручную, а не с помощью переменной exp_date. Фактическая ошибка, которую я получаю: «Ошибка значения: Нет объектов для объединения». Это должно быть значение exp_date, потому что, опять же, оно работает, когда я вводлю дату истечения срока действия вручную.

 # Get Friday of current week for expiration date
current_time = datetime.datetime.now()
exp_date = (current_time.date() - datetime.timedelta(days=current_time.weekday())   datetime.timedelta(days=4))

# Get options data
opts_list = []

for symbol in tickers:
    try:
        ticker = yf.Ticker(symbol)
        opt = ticker.option_chain(exp_date)
        opts_list.extend(opt)
    except ValueError:
        continue

opts_df = pd.concat(opts_list)