如何借助new bing修复 pyfolio: AttributeError: ‘numpy.int64‘ object has no attribute ‘to_pydatetime‘

如何修复 pyfolio的报错
AttributeError: ‘numpy.int64’ object has no attribute ‘to_pydatetime’ 的报错?
最近使用Python跑回测,环境是Python+backtrader+pandas+pyfolio

Python 3.11.2
Name: pandas
Version: 2.0.0
Name: pyfolio
Version: 0.9.2
Name: backtrader
Version: 1.9.76.123

是如何引发报错的?

在执行以下语句的时候报错,位置是timeseries.py:1008

import pyfolio as pf
pf.create_full_tear_sheet(returns)
File ~\PycharmProjects\pythonProject\venv\Lib\site-packages\pyfolio\timeseries.py:1008, in gen_drawdown_table(returns, top)
   1003     df_drawdowns.loc[i, 'Duration'] = len(pd.date_range(peak,
   1004                                                         recovery,
   1005                                                         freq='B'))
   1006 df_drawdowns.loc[i, 'Peak date'] = (peak.to_pydatetime()
   1007                                     .strftime('%Y-%m-%d'))
-> 1008 df_drawdowns.loc[i, 'Valley date'] = (valley.to_pydatetime()
   1009                                       .strftime('%Y-%m-%d'))
   1010 if isinstance(recovery, float):
   1011     df_drawdowns.loc[i, 'Recovery date'] = recovery
AttributeError: 'numpy.int64' object has no attribute 'to_pydatetime'

报了什么错?

报错是因为valley是一个numpy.int64的类型,没有to_pydatetime的属性,但是peak是有该属性的,
因此追踪该属性出现的方法:pyfolio.timeseries.get_max_drawdown_underwater

借助new bing 翻译该方法含义

def get_max_drawdown_underwater(underwater
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值