【发布时间】:2022-12-29 16:58:08
【问题描述】:
import yfinance as yf
class Bollinger_Band():
tickers = ["AMZN", "GOOG", "MSFT"]
ticker_data = {}
for ticker in tickers:
temp = yf.download(ticker, period='1mo', interval='5m')
temp.dropna(how="any", inplace=True)
ticker_data[ticker] = temp
def get_data(self, DF, n=20):
std_deviation = 2
df = DF.copy()
df["MB"] = df["Adj Close"].rolling(n).mean()
df["UB"] = df["MB"] + std_deviation * df["Adj Close"].rolling(n).std(ddof=0)
df["LB"] = df["MB"] - std_deviation * df["Adj Close"].rolling(n).std(ddof=0)
df["BB_Width"] = df["UB"] - df["LB"]
return df[["MB", "UB", "LB", "BB_Width"]]
for ticker in ticker_data:
ticker_data[ticker][["MB", "UB", "LB", "BB_Width"]] = get_data(ticker_data[ticker])
我想计算布林带数据并将其添加到代码数据元组中。我在没有创建它的类的情况下这样做了,但现在它显示了一个错误。我应该怎么办?错误是:
ticker_data[ticker][["MB", "UB", "LB", "BB_Width"]] = get_data(ticker_data[ticker])
类型错误:get_data() 缺少 1 个必需的位置参数:'DF'
【问题讨论】:
标签: python constructor yfinance