PyFolio概述 – backtrader中文教程
从(至少)2017-07-25 开始,pyfolio API 发生了变化,create_full_tear_sheet 不再有 Gross_lev 作为命名参数。
因此,用于集成的示例不起作用
从http://quantopian.github.io/pyfolio/pyfolio
的主页引用:
pyfolio 是由 Quantopian Inc. 开发的用于金融投资组合性能和风险分析的 Python 库。它与 Zipline开源回测库配合得很好
现在它也适用于backtrader。需要什么:
pyfolio
明显地- 及其依赖项(例如
pandas
,seaborn
…) - 在与 0.5.1 版本集成期间,需要更新最新的依赖包,例如 seaborn 从之前安装的 0.7.0-dev 到 0.7.1,显然是由于缺少 swarmplot 方法
用法
cerebro.addanalyzer(bt.analyzers.PyFolio)
2、运行并检索第一个策略:
strats = cerebro.run() strat0 = strats[0]
3、使用您给它的任何名称或将给它的默认名称检索分析器:pyfolio
. 例如:
pyfolio = strats.analyzers.getbyname('pyfolio')
4、使用分析器方法get_pf_items
检索稍后需要的 4 个组件pyfolio
:
returns, positions, transactions, gross_lev = pyfoliozer.get_pf_items()
集成是通过查看可用的测试样本完成的`pyfolio` 和相同的标题(或没有)已被复制
5、合作pyfolio
(这已经在反向交易者 生态系统之外)
一些与backtrader没有直接关系的使用说明
如果希望使用,结论很容易pyfolio
:在 Jupyter Notebook 中工作
示例代码
代码如下所示:
... cerebro.addanalyzer(bt.analyzers.PyFolio, _name='pyfolio') ... results = cerebro.run() strat = results[0] pyfoliozer = strat.analyzers.getbyname('pyfolio') returns, positions, transactions, gross_lev = pyfoliozer.get_pf_items() ... ... # pyfolio showtime import pyfolio as pf pf.create_full_tear_sheet( returns, positions=positions, transactions=transactions, gross_lev=gross_lev, live_start_date='2005-05-01', # This date is sample specific round_trips=True) # At this point tables and chart will show up
参考
查看 PyFolio 分析器的分析器参考以及它在内部使用的分析器
评论被关闭。