量化回测框架Backtrader【1】-环境安装(windows)

目录

 

零,序言

一,安装Python(anaconda)

二,安装backtrader

三,测试


零,序言

学习量化交易就要先找个合适的回测平台或框架可以测试自己的策略,网上倒是搜到了不少知名的量化平台,普遍都是要钱的,当然有免费的服务,但执行速度就不提了,大家都懂,另外策略在别人的平台上运行也有泄露的风险。本来想干脆自己开发个回测框架算了,但转念一想,伟大的github上应该有开源的,本着不重复造轮子的精神(其实是懒),搜了一下还真找到几个开源框架,看了下评价,貌似backtrader是功能最强大的,其他方面好像也都不差。就决定先试着学学看。

网上已经有一些backtrader的教程了,我另外再写其实就是想记录一下自己学习的过程,同时也激励一下自己能坚持学下去吧。

废话不多说了,下面进入正题。

Backtrader是一个用python语言开发的开源量化交易回测框架。他的github以及官网地址如下:

https://github.com/mementum/backtrader​github.com

https://www.backtrader.com/

一,安装Python(anaconda)

安装backtrader之前先要安装python,推荐安装anaconda,因为只安装python的话之后还会需要安装一堆的其他库,而anaconda包含了很多常用的库,一步到位了。anaconda可以去官网下载

https://www.anaconda.com/products/individual

但速度有点慢,推荐去清华的镜像下载会快很多

https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/

安装的话没什么难度,一路next就好了,也可以参考这篇文章

https://blog.csdn.net/program_developer/article/details/79677557

安装完后最好添加一下中国的镜像,需要下载包的时候可以节省不是时间,方法在上面链接里“(5)修改镜像地址”有讲到

二,安装backtrader

根据官方的说法总共有三种安装方式,分别是pypi,源码安装以及在类unix系统下的安装。应该说第一种是最简单的,我也是用的第一种方法。

安装完anaconda后,从开始菜单打开anaconda的命令窗口,这个命令窗口会激活anaconda的环境

在打开的命令窗口里面输入安装命令

pip install backtrader

这样就算安装成功了,安装命令也可以是下面这条

pip install backtrader[plotting]

跟前面那条的不同点在于,第二条会另外安装matplotlib这个画图库,如果你还没有安装过matplotlib,建议使用第二条命令。

这样环境基本上算安装好了,接下来简单测试一下

三,测试

anaconda自带了两个python的编辑运行方式,spyder和jupyter。spyder跟通常开发程序方式一样,先把代码全部敲完然后一次性运行,而jupyter是一个交互式的开发方式,代码可以写一段运行一段。由于工作的关系,一直使用jupyter比较多,所以这里我也以jupyter来运行测试代码。

运行jupyter之前建议先修改一下根目录:

https://jingyan.baidu.com/article/cdddd41cd22e8d53cb00e13d.html

然后从开始菜单那里打开jupyter,

如果你设置的默认路径是个空文件夹的话,界面应该是这样的

然后从右边的“New”下拉菜单新建一个notebook

新建的notebook是这样的

在下面的方框中就可以输入代码了

from datetime import datetime
import backtrader as bt

class SmaCross(bt.SignalStrategy):
    def __init__(self):
        sma1, sma2 = bt.ind.SMA(period=10), bt.ind.SMA(period=30)
        crossover = bt.ind.CrossOver(sma1, sma2)
        self.signal_add(bt.SIGNAL_LONG, crossover)

cerebro = bt.Cerebro()
cerebro.addstrategy(SmaCross)

data0 = bt.feeds.YahooFinanceData(dataname='MSFT', fromdate=datetime(2011, 1, 1),
                                  todate=datetime(2012, 12, 31))
cerebro.adddata(data0)

cerebro.run()
cerebro.plot(iplot=False)

注:这个例子本来是从官方文档里搬来的,但最后一句添加了“iplot=False”,因为我的运行环境是jupyter,这个不加的话会报警告,而且重复运行会不出结果。

运行代码可以点击那个“Run”按钮,也可以使用快捷键Shift+Enter,如果成功运行的话就可以看到结果了

关于jupyter的具体使用方法可以参考

https://blog.csdn.net/zhusongziye/article/details/80370143

接下来我应该会跟着backtrader官方文档进行学习,也会尽量把重要的章节写成文章发在这里。

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值