这篇聊一聊量化策略回测。
回测到底在测什么?
回测的核心目的是回答三个问题:这个策略过去能不能赚钱?赚的钱背后扛了多少风险?如果遇到极端行情,最大会亏多少? 这三个问题分别对应年化收益、夏普比率和最大回撤。任何一个指标单独好看都没有意义——高收益往往伴随高风险,低回撤也可能是因为收益太平淡。只有把这三个数字放在一起看,才能判断一个策略是不是真的值得信任。
更关键的是,回测要尽可能模拟真实交易环境。滑点、手续费、停牌、涨跌停限制、限价单成交不了……这些细节如果不在回测里考虑进去,跑出来的曲线再漂亮,一上实盘也大概率会变形。
国内主流的回测框架,各有什么特点?
聚宽:云端开箱即用
聚宽应该是国内用户量最大的量化平台之一。它的最大优势是省心:不需要安装任何软件,打开网页就能写策略,数据、因子、回测引擎都给你准备好了。对于刚入门的新手,或者想快速验证一个初步想法,聚宽是非常高效的起点。
Backtrader:本地运行的经典选择
Backtrader是Python开源社区里用得最广的回测框架之一。它采用事件驱动架构,每一个K线都会触发决策回调,能够比较真实地模拟实盘的时间推进。内置了大量技术指标,很多常见的策略逻辑可以直接调用现成函数。
它的优势在于本地化运行,数据安全,调试方便,而且社区积累了大量的示例代码和文档,遇到问题基本都能搜到解决方案。
QMT和PTrade:券商自带的量化终端
QMT和PTrade是券商提供给客户的量化交易终端,跟前面几个开源工具性质完全不同——它们直接对接券商的交易通道。
PTrade主打轻量和快捷,提供了可视化的策略编辑器,预设了不少策略模板,对普通投资者非常友好。QMT在回测引擎的精细度上做得更好,对滑点和冲击成本的模拟更贴近实盘。
选择这两者的关键在于你使用的券商是否支持。如果恰好有权限,那它们是从回测到实盘距离最短的路径。
回测指标到底怎么看?
框架选好了,策略跑完了,系统会输出一堆指标。很多人只看年化收益,觉得收益率高就是好策略,这是最大的误区。
年化收益率代表策略的绝对赚钱能力。但单独看它没有意义,因为收益越高通常意味着风险越大。
最大回撤是最直观的风险指标,它告诉你策略在历史上最糟糕的时候亏了多少。一个策略年化收益再高,如果回撤很大,实盘中你很可能在最低点扛不住而止损离场,最终根本赚不到那个理论收益。
夏普比率是最常用的综合指标,它衡量的是承担单位风险能获得多少超额收益。夏普越高,说明策略在收益和风险之间平衡得越好。两个策略年化收益相同,但夏普高的那个显然更值得信赖。
年化波动率反映收益的稳定性,波动率越低,净值曲线越平滑。胜率则是赚钱交易的占比,但胜率高不代表策略好,关键要看盈亏比——如果赚的时候赚一点,亏的时候亏很多,胜率再高也没用。
到底该选哪一个?
没有完美的框架,只有最适合你当前阶段的工具。
如果你是刚开始接触量化,只是想跑通一个简单的策略逻辑,聚宽是最友好的起点。如果你希望深度研究、精细调试,并且在意数据隐私,Backtrader在本地运行是不错的选择。如果你已经开了支持量化终端的券商账户,QMT或PTrade则是从回测到实盘最直接的通道。
说到底,回测框架只是一个工具。策略能不能赚钱,最终取决于你对市场的理解、对风险的敬畏,以及在最困难的时候还能不能坚持执行自己的规则。工具可以换,但认知和纪律,谁也替不了你。
如对AI量化感兴趣,可加我wx。 shiyang170808。