怎么理解Python的回测框架backtrader

发布时间:2021-11-02 14:58:55 作者:iii
来源:亿速云 阅读:261

本篇内容介绍了“怎么理解Python的回测框架backtrader”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

backtrader属于功能相对完善的本地版Python量化回测框架。既然业界好评如云,我们作为量化交易者理应集所有好用的工具于一身,就让我们来体验一下这个框架。

backtrader的使用方法在官方文档上介绍的挺详细的。大体分为两步:

以上是框架中核心的部分,当然了,其他还有很多可扩展的功能。

backtrader的数据加载非常灵活,此处我们使用DataFrame格式数据,如下所示:

"""
            High    Low   Open  Close     Volume  OpenInterest
trade_date                                                    
2017-01-03   8.12   8.07   8.07   8.12  179801.01             0
2017-01-04   8.16   8.09   8.13   8.15  166242.35             0
2017-01-05   8.23   8.13   8.15   8.17  222902.53             0
2017-01-06   8.19   8.12   8.18   8.13  128549.96             0
2017-01-09   8.15   8.08   8.13   8.13  136700.04             0
"""

构建策略的类是继承backtrader.Strategy,然后根据自己的需要重写其中的方法即可。比如__init__、log、notify_order、notify_trade、next等等。

关于策略中的指标,backtrader内置了很多类型,直接调用即可。比如移动平均线:

self.sma = bt.indicators.SimpleMovingAverage(
             self.datas[0], period=self.params.maperiod)

由于内置了talib模块,也可以这么调用:

# 内置了talib模块
self.sma = bt.talib.SMA(self.data,
    timeperiod=self.params.maperiod)

next方法中,我们实现一个简单的双均线策略作为交易的逻辑。比如买入条件是MA5上穿MA10;卖出条件是MA10下穿MA5。

关于策略回测,把数据和策略添加到Cerebro中之外,还有设置一些参数。比如broker的设置,像初始资金、交易佣金。也可以用addsizer设定每次交易买入的股数。

回测结束后返回得到执行交易策略时积累的总资金。此处我们回测的是新希望 2017年1月1日到2020年1月1日期间的策略执行效果,最终资金从10000变成了15941.95。

由于backtrader内置了Matplotlib,因此我们也可以可视化回测的效果,如下所示:

怎么理解Python的回测框架backtrader

“怎么理解Python的回测框架backtrader”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!

推荐阅读:
  1. 怎么用Python完成股票回测框架
  2. 怎么用Python搭建一个股票回测框架

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

python

上一篇:总结53道有关Python的面试问答

下一篇:怎么使用python的f-string格式化输出

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》