【答读者问40】谈一谈如何使用backtrader实现基于机器学习算法的滚动优化回测(事件驱动回测+向量化优化参数)?

本文探讨如何利用backtrader在事件驱动和向量化回测中实现机器学习算法的滚动参数优化。由于python的效率限制,提出结合事件驱动和向量化方法提高回测效率,通过在特定时间使用向量化回测确定最优参数,然后在事件驱动框架中应用。此外,提及了对机器学习在量化交易中应用的兴趣,并推荐了一本相关书籍。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

云子量化免费阅读传送链接

昨天有读者咨询,使用sckit-learn等包实现机器学习算法的时候,如何滚动进行参数优化的问题,主要考虑到的一个问题就是滚动优化计算量比较大,如何能够更快实现的问题。

实际上,在前面的教程中,也提到过一些如何实现递进优化参数的问题,如果不考虑实现的效率,按照下面这篇文章的思路实现滚动优化是没有问题的。

68、backtrader的一些高级技巧—backtrader参数的可动态修改性与递进参数优化的实现方法

但是考虑到实际的情况,backtrader是基于python的以事件驱动为主的量化框架,python作为 解释性语言,运行效率并不是特别高,离C/C++等语言效率差了很多,所以如果用事件驱动的思路去实现滚动优化的话,耗时是非常大的。

为了提高回测效率,可以尝试一种事件驱动+向量化回测相结合的方式,向量化的回测框架,速度比较快,主要用于测试在一定时间段内,基于特征值和特定参数产生的信号造成的盈亏状况,从而在进行参数遍历之后,根据自己的方法,选择特定的参数,用于未来一段时间。在事件驱动的框架中,作为主要的回测引擎,用于控制什么时间使用向量化的回测框架去做参数优化得到想要的参数,优化得到的参数在未来多长时间内使用。

这就是目前我能想到的比较好的方式,而且理论上来说也比较容易实现。事件驱动的框架当然是最好使用backtrader,向量化回测框架可以考虑使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云金杞

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值