公众号致力于分享量化策略,培训视频,Python,程序化交易等相关内容
赠言“即是爱好,也是生活”引言
大家好,我是乌克兰剑圣。
最近事儿多,本月的第一个策略今天才搞定实在是抱歉。另外说一下,很多小伙伴不用商业平台,所以SF系列从SF20开始新增Python版本源码,相信Python是较为通用的语言了。
PS:Python量化平台杂七杂八的框架有很多,发现TqSdk(天勤)写策略还是很友好的。
SF22源码包一览:
『剑圣镇楼』
大佬们,A♠里面这个人是谁啊?评论区告诉我
正文
OK,我们来聊聊SF22这个策略。标题已经说明了要给策略加一个"变速箱"
那么,有俩个问题:
第一个,为什么要变速?
第二个,如何实现变速?
这幅图是螺纹钢2017至今的盈利绩效,是不是回撤期大于增长期。
策略的原理是:开仓条件: 大于N周期高点开多,小于N周期低点开空;
平仓条件: 移动止盈出场(TRS);
N:=40,TRS:=40,Lots:=1
周期:15分钟,
手续费:默认1.0%%,双向各滑1跳
这个策略普通到不能再普通,绩效当然也是乏善可陈。从17年10月进入回撤期至2020年3月才创新高,确实过分了。
问题在哪里?是交易条件过于简单还是参数问题?我们必须承认交易条件是一个策略的基石,对交易条件的不断优化和升级是我们坚定的信念。但是,这次我们不再优化交易条件,保持原有交易条件不变,我们来搞"动态参数",让策略变速。
为什么要让策略变速?因为市场波动率不断变化,如果你指望一个模型用一辈子不用管,那你太NB了,你这种想法和造一个永动机没啥区别。
市场进化的速度可能比你想象的要快。。。
如何实现变速?我们在《来聊一下量化交易的人工干预、参数失效、筛选品种》这篇文章里已经聊过市场波动率监控的事儿,SF22就是利用波动率监控指标ATRMD来达到动态调参的。
当波动率大于SY时,波动率逐步走向过热:1.波动率持续放大,说明趋势在加速,行情波动加大。移动止盈参数也随之增大以免被甩出去;
2.若波动率大于SY,但是波动率开始走弱说明行情可能进入回抽或者震荡,这个时候TRS参数将不再继续增加,即保护利润;
当波动率小于XY时,波动率逐步走向收缩:1.波动率持续收缩,说明行情在震荡或者无明显趋势。移动止盈参数也随之减少以免因为参数迟钝在震荡行情亏损过大;
2.若波动率小于XY,但是波动率开始走强说明行情可能进入趋势或者波段,这个时候TRS参数将不再继续减少,即保护仓位;
这是经过变速后的结果,开仓条件和平仓条件没有动。仅仅加入了“变速箱",让平仓出场的幅度参数TRS根据ATRMD指标的放大和缩小自我调节。
绩效对比螺纹原版
螺纹+“变速箱”
策略组合绩效
能看到这里的小伙伴,为你点一个大大的赞。不要重复造轮子了,去找小松鼠领取课件吧。别忘了转发,关注,点赞哦。
本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)