今天数据鱼就给大家介绍一个Python的量化框架:Backtrader,免费的Python开源量化框架,这个框架十分完善,基本上可以实现在投资里大部分的逻辑和回测。
Backtrader:A feature-rich Python framework for backtesting and trading
这是Backtrader的官网的介绍,你就可以知道他是干什么的了,用于回测和交易的Python框架。
下面就举一个简单的例子和大家介绍该怎么用这个Python量化框架
我们知道在股票投资中,常用的一个技术指标就是移动平均线MA,MA有不同的周期,比如常用的有5日、10日、20日、30日、60日、120日等,当然都是可以自由设置的,数据鱼常用的就是MA5/MA13/MA34,我称之为短线精灵鼠均线系统。
双均线策略基本逻辑是:
根据长期均线和短期均线的交叉情况来确定交易信号,即:当短期均线从下往上穿越长期均线时,形成金叉,做多;反之,当长期均线从上往下穿越短期均线时,形成死叉,做空或平仓。本次使用双均线策略如下:
均线:以 5 日均线为短期均线、以 10 日均线为长期均线;
买入开仓:当前无持仓,当日 5 日均线上穿 10 日均线,金叉,第二天以市价单买入,开仓;
卖出平仓:当前持有多单,当日 5 日均线下穿 10 日均线,死叉,第二天以市价单卖出,平仓。
双均线策略的Backtrader实现
1.导入相关的Python库和金融大数据接口库(本次使用的是Tushare)
2.定义一个获取标的资产的历史行情数据方法
方法定义为带参数的:参数是标的代码,以及行情历史数据区间的开始时间和结束时间。
3.定义实现双均线策略逻辑的类和方法
4.策略实现回测的业务主逻辑实现(本次使用的标的资产是贵州茅台,仅仅是作为举例使用,不作为任何投资依据)
(想要获取完整代码的朋友,关注数据鱼私信获取)
Backtrader框架的策略实现结果如下:
从策略结果可以清楚看出,买点在哪,卖点在哪,以及策略回测的效果如何,回测结果统计区间是:20201208-20221216。
通过以上实现,大家可以看出,只要有想法,Backtrader的Python量化框架就能告诉你历史表现怎么样,策略是否具有价值一清二楚。历史不会重演,但历史一定会惊人的相似。
有了Backtrader的量化框架,我们就有了投资的利器了,可以实现你的任何投资idea了,那么还等什么,喜欢的朋友,关注YU股思基一起学习成长,我会定期分享Python量化策略及实现。
坚持理性研究,量化投资,做有价值的事情,做正确的事情,坚定信心,静待开花结果。
免责声明:投资有风险,投资需谨慎!本文仅为根据市场公开资料及个人理解研究分析,不作为投资依据,文中涉及到的标的仅作为举例,不构成投资建议,所提到的观点仅代表个人的意见,所涉及标的不作推荐,风险自负。