python-3.x Quantstats -类型错误:dtype= datetime 64 [ns,America/New_约克]与日期时间之间的比较无效

3npbholx  于 2022-12-15  发布在  Python
关注(0)|答案(2)|浏览(159)

我正在尝试使用Anaconda中的一些Quantstats模块,特别是quantstats.reports模块,以获得我设计的投资组合的一些度量报告。我对Python/Quantstats相当陌生,实际上只是想对这个库有一个初步的了解。
我编写了以下代码,利用报告模块生成一个完整的html报告,并将其保存在Output文件夹下:

import quantstats as qs

qs.extend_pandas()

stock = qs.utils.download_returns('GLD')

qs.reports.html(stock, output='Output/GLD.html')

然后,我得到了以下TypeError:

TypeError: Invalid comparison between dtype=datetime64[ns, America/New_York] and datetime

我相信这可能是datetime 64类被本地化到我的时区和datetime仍然是TZ幼稚的结果。坦率地说,挖掘Quantstats代码已经有点超出了我目前的技能。
如果有人有任何修复建议,我将不胜感激。

toiithl6

toiithl61#

我在处理同样的问题时发现了这个问题。
不确定哪个列中包含时区本地化,但是

df['date'] = df['date'].dt.tz_localize(None)

将取消df['date']列的本地化
顺便说一句,通常的情况是panda时间序列的索引包含np.Datetime64类型,但是当您通过将其分配给列时

df['date'] = df.index

结果列包含Pandas时间戳。

ha5z0ras

ha5z0ras2#

我得到了这个问题解决后,我已经降低了yfinance版本从最新版本0. 1. 87到
y金融=〉0.1.74

相关问题