Python量化:Backtrader框架实现你的任何投资idea

发布于: 雪球转发:0回复:0喜欢:0

投资最重要的三件事

我们都知道,做任何的投资不外乎三个方面:选标、择时、套利,什么意思呢?

选标:就是选择你要投资的标的,你需要投资的资产,比如房地产、金融资产、商品等不同类大类资产,当然YU股思基今天要说的量化框架是投资金融标的资产。

择时:当你选择好自己的投资资产后,接下来你就要选择合适的入场时机了,不是任何时候入场你都可以胜利的,好的入场时机是非常关键,决定你的投资成败的关键,任何一种投资必须经历此环节。那么对于股票和基金投资,什么时候是好的入场时机呢,这个就千人千面了,有的选择基本面研究来选择入场时机,有的选择技术面研究来选择入场时机,有的两者结合起来看,总之无论何种方法,都是要进行研究验证的,切不可盲目入场,否则你可能死的很惨

套利:就是通过你的选择标的和择时来获取收益,当然套利有很多种方法,比如做多的“低买高卖”,做空的“高卖低买”,还有很多的对冲套利,总之方法有很多种,一定要选择适合自己的方法,也是自己最明白的方法,因为你要相信投资永远赚的是你认知的钱。

那我们都知道了投资要经历以上三个过程:选标、择时、套利,那么依据历史数据来回溯我们这三个投资过程就至关重要了,只有很好的回溯历史,才能更好指导未来的投资,大大提升投资的胜率,才能够明白什么是好的投资策略,什么是失败的投资策略,长期形成自己的特有投资逻辑。

今天数据鱼就给大家介绍一个Python的量化框架:Backtrader,免费的Python开源量化框架,这个框架十分完善,基本上可以实现在投资里大部分的逻辑和回测。

BacktraderA 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量化策略及实现。

坚持理性研究,量化投资,做有价值的事情,做正确的事情,坚定信心,静待开花结果。

免责声明:投资有风险,投资需谨慎!本文仅为根据市场公开资料及个人理解研究分析,不作为投资依据,文中涉及到的标的仅作为举例,不构成投资建议,所提到的观点仅代表个人的意见,所涉及标的不作推荐,风险自负。