Python量化交易学习笔记(3)——第一个策略回测程序v1

上一篇文章已经完成A股日线数据的下载,本文主要记录如何使用下载好的数据,利用回测框架,对策略进行验证。

回测和交易框架有多种选择,可参见链接:https://zhuanlan.zhihu.com/p/26983703。这篇文章还对其他量化“利器”进行了介绍。极宽在这些框架中选择了Backtrader,给出的说明为:“新一代TopQuant(TQ)极宽量化系统,将完全基于backtrader:类似小米与原生安卓的关系,在backtrader系统之上,增加多种本地化,和高效化的辅助工具。TQ极宽优化版,会进行极简化的二次封装,就一个TQ2019.py函数文件,超级简单。”

为了快速上手,体验跑通程序的快感,这里先直接使用Backtrader,借助其Quickstart中所展示的例子(https://www.backtrader.com/docu/quickstart/quickstart/),在A股数据上实现对策略的回测。至于极宽对Backtrader的封装,后面再做研究。

在VSCode中选择新建文件,然后保存到“D:\zwPython\zwrk”目录下,添加代码,开始开发测试。

整个例子比较长,一篇文章写完,笔者头大,读者也头大。因此,后续每篇文章提供一个版本的程序,在前一版本程序上添加一个小功能。

先来看第一版程序v1-基础设置:

from __future__ import (absolute_import, division, print_function,
unicode_literals)
import backtrader as bt
cerebro = bt.Cerebro()
print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())
cerebro.run()
print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())

v1输出为:

Starting Portfolio Value: 10000.00
Final Portfolio Value: 10000.00

在v1中,主要做了以下工作:

  • 引入backtrader
  • 实例化Cerebro引擎(Cerebro西班牙语中大脑的意思)
  • cerebro在数据上循环执行
  • 打印输出结果

v1的代码很简单,但是展示了以下内容:

  • Cerebro引擎在后台创建了一个代理(broker)实例
  • 代理已经手握一笔资金准备进行交易

Backtrader平台总会为用户创建一个代理来进行交易,如果用户没有指定特定代理,平台也会给用户设置一个默认的代理。


博客内容只用于交流学习,不构成投资建议,盈亏自负!

个人博客:http://coderx.com.cn/(优先更新)
项目最新代码:https://gitee.com/sl/quant_from_scratch
欢迎大家转发、留言。有微信群用于学习交流,感兴趣的读者请扫码加微信!
如果认为博客对您有帮助,可以扫码进行捐赠,感谢!

微信二维码微信捐赠二维码
在这里插入图片描述在这里插入图片描述
  • 7
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值