致力于分享量化策略,培训视频,Python,算法研究等相关内容。
项目进度:
新版ordeflow与传统指标结合(VNPY).....70%
明星策略--北霸枪.....40%
『正文』
大家好,我是乌克兰剑圣。
之前群里的小伙伴@我,问能不能写一个趋势和震荡都交易的模型。寥寥几句话,想要落地成实际的执行代码绝非易事,很多时候震荡行情如何定义是没有标准的,又或者震荡也是小级别趋势的一种。这一期,我来用几个思路尝试实现这种类型的策略吧,写一个趋势追涨杀跌+震荡正反手的模型。
一、构建趋势线
HHD=(20*H+19*H[1]+18*H[2]+17*H[3]+16*H[4]+15*H[5]+14*H[6]+13*H[7]+12*H[8]+11*H[9]+10*H[10]+9*H[11]+8*H[12]+7*H[13]+6*H[14]+5*H[15]+4*H[16]+3*H[17]+2*H[18]+H[20])/210;
LLD=(20*L+19*L[1]+18*L[2]+17*L[3]+16*L[4]+15*L[5]+14*L[6]+13*L[7]+12*L[8]+11*L[9]+10*L[10]+9*L[11]+8*L[12]+7*L[13]+6*L[14]+5*L[15]+4*L[16]+3*L[17]+2*L[18]+L[20])/210;
这个比较简单,就是高低点的平滑平移线,你直接看做为高低点的均线即可。
二、3种状态:多头,震荡,空头
趋势线就是这三种状态,红,黄,绿。上涨下跌都好说,一般的趋势模型都能把握住,问题是黄色的震荡部分。我们来定义下黄色部分:
-
当趋势线处于震荡状态时,相对高位开空。
-
当趋势线处于震荡状态时,相对低位开多。
代码(部分):
cond1=HH[1]>(MLCD[1]+MHCD[1])*0.5 and H[1]==HH[1] and ZD[1] and H[1]<MHCD[1];
cond2=LL[1]<(MLCD[1]+MHCD[1])*0.5 and L[1]==LL[1] and ZD[1] and L[1]>MLCD[1];
我们注意趋势线为黄色状态时候的交易,在一个相对底部开多,运气也很好,
抓到了一波后续的大趋势。
下跌趋势一步三回头,穿头破脚,在相对顶部开空。
一波上涨趋势结束后没有再突破新高,在相对高位试空。
较窄震荡区间里,正反手低吸高抛
如果出现波动率特别低的情况,就没有多少操作空间了,会出现连续的亏损。
我们注意上面俩个方框,黄色框框是多头趋势下的开多情况,蓝色框框是震荡行情下的交易情况。可以看出,震荡里交易还算不错。但是在趋势里交易,出场太过敏感了,这是因为震荡和趋势的出场模块并没有区分,用的同一个出场模块,显然这是不科学的。趋势应该迟钝一些出场,以免被甩出去,震荡应该灵活一点出场,以免跑慢了造成亏损。
因此,有俩条修改意见:
-
趋势与震荡的出场模块分别独立编写。
-
趋势里的开仓方式还可以继续加强。
所以,拿到源码以后可以按照上面俩个思路再修改一下,效果相信会提升不少的。具体可以参考SF22和SF24的动态出场的处理方式。至于开仓的话就太多了,好好翻一番历史策略源码吧。
TB绩效报告2015年至今(手续费:1.5%%,双向各1跳):
螺纹:
焦炭:
动力煤:
EB:
EG:
本策略仅作学习交流使用,实盘交易盈亏投资者个人负责。