当前位置:   article > 正文

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

zwpython

上一篇文章已经完成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())
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

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
欢迎大家转发、留言。有微信群用于学习交流,感兴趣的读者请扫码加微信!
如果认为博客对您有帮助,可以扫码进行捐赠,感谢!

微信二维码微信捐赠二维码
在这里插入图片描述在这里插入图片描述
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/607591
推荐阅读
相关标签
  

闽ICP备14008679号