问题描述
import yfinance
from retry import retry
@retry(tries=3,delay=5)
def get_yfinance(tickers,start=None,end=None,interval='1h'):
logging.info(f'Downloading data for {len(tickers)}')
ticker_string = ' '.join(tickers)
df = yfinance.download(ticker_string,group_by = 'ticker',interval=interval,start=start,end=end,prepost=True)
df2 = df.stack(level=0).rename_axis(['Date','Ticker']).reset_index(level=1)
df2['Date'] = df2['Date'].dt.tz_convert('UTC')
df2 = df2.rename(columns={'Adj Close': 'AdjClose'})
logging.info(f'Returned df with shape {df2.shape}')
return df2
当我尝试这样称呼它时:
etlts = datetime.Now()
start = etlts - timedelta(hours=1)
tickers = sidf['Ticker'].to_list()
ydf = get_yfinance(tickers,end=etlts,interval='1m')
我得到以下堆栈跟踪:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
c:\yf.py in
47 from findata import *
48 tickers = sidf['Ticker'].to_list()
----> 49 ydf = get_yfinance(tickers=tickers,interval='1m')
C:\python39\envs\Trad\lib\site-packages\decorator.py in fun(*args,**kw)
229 def fun(*args,**kw):
230 if not kwSyntax:
--> 231 args,kw = fix(args,kw,sig)
232 return caller(func,*(extras + args),**kw)
233 fun.__name__ = func.__name__
C:\python39\envs\Trad\lib\site-packages\decorator.py in fix(args,kwargs,sig)
201 Fix args and kwargs to be consistent with the signature
202 """
--> 203 ba = sig.bind(*args,**kwargs)
204 ba.apply_defaults() # needed for test_dan_schult
205 return ba.args,ba.kwargs
C:\python39\lib\inspect.py in bind(self,*args,**kwargs)
3060 if the passed arguments can not be bound.
3061 """
-> 3062 return self._bind(args,kwargs)
3063
3064 def bind_partial(self,/,**kwargs):
C:\python39\lib\inspect.py in _bind(self,args,partial)
3049 arguments[kwargs_param.name] = kwargs
3050 else:
-> 3051 raise TypeError(
3052 'got an unexpected keyword argument {arg!r}'.format(
3053 arg=next(iter(kwargs))))
TypeError: got an unexpected keyword argument 'interval'
任何参数组合都会发生这种情况。无论我保留还是删除 @retry 装饰器,都会发生这种情况。我很感激任何帮助。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)