backtrader是基于Python语言的量化投资框架,可以用于各种资产的回测。目前backtrader可以用于实现股票、期货、外汇、数字货币、期权等资产类型的回测,官方或者第三方实现了基于IB、Oanda、VC、CCXT、MT5等接口量化交易。
backtrader的开发目标有两个:易用和简单,是基于KID理念开发的平台,对于其他平台比较复杂的策略可能backtrader几十行代码就实现了。在简单易用下,隐藏着作者深厚的编程技能,框架是基于元编程技术编写,特别复杂。希望通过对backtrader深入的学习,能提高自己的策略回测能力。元编程技术的复杂性,带来了backtrader整体框架的灵活性,整体框架类似于乐高积木,在策略编写中可以自由搭配、高度灵活。
backtrader框架下,任何一个策略都必须用三个基础模块,就是策略模版(bt.Strategy),大脑(cerebro)和运行(run)。其中,策略模版用于实现我们想要的策略逻辑;大脑用于加载数据,配置broker,选择策略,添加手续费与滑点信息;最后就是运行。运行之后,就开始回测与交易。