前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vn.py源码解读(十、参数优化)

vn.py源码解读(十、参数优化)

作者头像
钱塘小甲子
发布2019-05-05 11:42:57
9170
发布2019-05-05 11:42:57
举报

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://cloud.tencent.com/developer/article/1420453

任何一个策略,在初步回测之后,都会有一个参数寻优的过程。这个过程vnpy给大家实现了。其实这个是最简单了,说白了就是换参数多跑几次回测嘛。但是,说的直白点,vnpy的参数寻优在代码上来讲是不够高效的,原因很简单,我们其实可以进行一次数据回放就可以完成很多组参数的回测,而不是一组参数回放一次。

我们简单过一下代码吧,这部分比较简单。

之前我们是配置好之后就调用bactest了,但是如果是优化的话,就换了一个调用的东西了。参数的设置是一样的,不过在进行参数寻优之前,我们要做的就是设置好参数寻优的配置。

代码语言:javascript
复制
# 跑优化
    setting = OptimizationSetting()                 # 新建一个优化任务设置对象
    setting.setOptimizeTarget('capital')            # 设置优化排序的目标是策略净盈利
    setting.addParameter('atrLength', 12, 54, 2)    # 增加第一个优化参数atrLength,起始12,结束20,步进2
    setting.addParameter('atrMa', 20, 55, 5)        # 增加第二个优化参数atrMa,起始20,结束30,步进5

这里,只是构建了我们优化时候的参数。

engine.runOptimization(TRStrategy, setting)

这就是把优化参数考察的策略和对应的设置放入到回测引擎中了。

相对来说,其实优化之后,更总要的是对参数对应的回测结果进行分析,但是在vnpy中似乎这个是缺失的,需要好好改进。笔者粗略的加了一个热力图的功能。后续会不断增加这一部分的功能。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019年04月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档