【问题标题】:AttributeError: 'str' object has no attribute 'option_chain'AttributeError:“str”对象没有属性“option_chain”
【发布时间】:2021-10-04 13:00:31
【问题描述】:

我正在尝试通过库 yfinance 下载股票期权数据,以获取由变量表示的股票代码列表:“tickers”,用于到期日期由“exp_date”表示的期权。

坦率地说,我什至不知道我的循环/追加是否正确,因为我是编码新手,但我收到了错误消息:

"AttributeError: 'str' object has no attribute 'option_chain'".

如果我尝试对所有股票代码执行此循环,我只会收到错误消息。如果我手动输入单个代码并手动输入到期日期而不是使用“exp_date”变量,它会完美运行。

import yfinance as yf
import pandas as pd
import datetime

# 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 and put in dataframe
opt_df = pd.DataFrame()

for ticker in tickers:
    opt = ticker.option_chain(exp_date)
    opt_df.pd.Dataframe.append(opt)

【问题讨论】:

  • 我没有看到tickers 的定义,你能补充一下吗?也可以尝试自己调试print(type(ticker), ticker)

标签: python pandas dataframe for-loop yfinance


【解决方案1】:

ticker是股票代码,不是yfinance返回的股票信息。

for symbol in tickers:
    ticker = yf.Ticker(symbol)
    opt = ticker.option_chain(exp_date)
    opt_df.pd.Dataframe.append(opt)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-10
    • 2019-12-02
    • 2021-09-25
    • 2014-03-04
    • 2013-09-22
    • 2018-09-19
    相关资源
    最近更新 更多