66、【backtrader的一些高级技巧】如何使用backtrader进行参数优化

在以前的文章中,也特意强调过了一些关于参数优化的方方面面的知识。这篇文章重新梳理总结以下。

参数选择是一把双刃剑

由于我们交易的每个品种的市场参与者都是不同的,并且每个品种的标的物都有其独特的供需规律,所以,企图用一个参数应用在所有品种上的行为本身就是低效的(低效而非无效)。就跟用一个尺码的衣服,让所有不同体型的人穿一样;但是如果我们给每个体型的人设计不同种类的尺码一样,那么,市场上的尺码又会太多,缺乏普适性了。

参数的选择就是在高普适性与高效率之间进行权衡取舍。

参数优化是参数选择的基础,参数优化的基本功能是对多个维度的参数进行遍历,形成一个个参数组合下的收益率、夏普率、最大回撤、交易次数等信息,以便我们用于参数选择。

backtrader如何做参数优化

实际上,backtrader自身带了一个用于做参数优化的函数,cerebro.optstrategy(),然而我一般不建议使用这个优化函数,虽然其有一些优点,比如节省每次优化过程中加载数据的时间,使用简单;以前碰到过优化参数的结果和单个运行结果不一样的。

比较建议的进行参数优化的方法是自己写一个多进程来运行,而且还可以自定义输出相应的结果。核心逻辑就是写一个run函数,传入这个策略一组参数,输出运行的结果,中间也可以输出csv文件等;使用多进程Pool()运行run函数,保存输出的结果。比如,对于上一篇文章:【backtrader期货策略】在鸡蛋期货上应用肯特纳通道策略(2021-09-19更新)

上一篇:【backtrader源码解析1】从一个使用backtrader编写的双均线策略运行效率分析谈起


下一篇:【答读者问19】backtrader的python基础-写给python初学者