首页 > 解决方案 > Python Pyfolio PYMC3 ValueError

问题描述

我一直在使用 pyfolio 遇到这个问题,我只想在这里尝试他们的 github 的示例:https ://quantopian.github.io/pyfolio/notebooks/bayesian/

该程序运行所有内容并需要一段时间来计算所有内容但最后我得到了这个

ValueError:传递的项目数错误 4,位置意味着 40

这是我当前的代码:

import pandas_datareader as web
import pyfolio as pf
import datetime    

start = datetime.datetime(2018, 10, 1)
end = datetime.datetime(2018, 12, 1)

stock_rets = web.DataReader("AAPL", 'yahoo',start , end)['Adj Close']

out_of_sample = stock_rets.index[-40]

pf.create_bayesian_tear_sheet(stock_rets, live_start_date=out_of_sample)

我什至尝试将 out_of _sample 值更改为小于 40,然后有时会显示以下错误:

初始能量不好,检查任何日志概率为 inf 或 -inf、nan 或非常小

知道什么可能导致这个问题吗?

标签: pythonbayesianpymc3

解决方案


解决方法:降级到 PyMC3 v3.4.1

我尝试运行您指示的教程,但也遇到了类似的错误。搜索 GitHub 仓库,看到有人报告了类似的问题。似乎是最新版本的 PyMC3 (3.5+) 的问题。建议的解决方法是降级到 PyMC3 v3.4.1。希望有人最终会修改 Pyfolio 教程(当前版本是 2017 年夏天的版本)。


推荐阅读