小编给大家分享一下python如何实现三轨道波动率策略,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
源码:
// 确定CN VOLAT:=STD(C,N); // VOLAT(波动率):M周期收盘价的标准差 VOLATCHANGE:=(VOLAT-REF(VOLAT,1))/VOLAT; // 2个VOLAT的变化率 N1:=(1+VOLATCHANGE)*MINN; // VOLATCHANGE : 波动率变化 N2:=INTPART(N1); // 取整 N3:=MIN(N2,MAXN); // 确认CN不大于60 CN:=MAX(N3,MINN); // 确认CN不小于20 MIDTR^^MA(C,CN); // 确定MIDTR UPTR^^MIDTR+2*STD(C,CN); // 确定UPTR DOWNTR^^MIDTR-2*STD(C,CN); // 确定DOWNTR HPOINT^^HV(H,CN),DOT,COLORRED; // 计算前一周期CN周期内最高价的最大值。 LPOINT^^LV(L,CN),DOT,COLORBLUE; // 计算前一周期CN周期内最低价的最小值。 // 开仓 L<=LPOINT AND L<DOWNTR AND BARPOS>MINN,SK(AMOUNT); //当最低价小于DOWNTR和低点,且K线位置大于60,收盘价卖开 H>=HPOINT AND H>UPTR AND BARPOS>MINN,BK(AMOUNT); //当最高价大于UPTR和高点,且K线位置大于60,收盘价买开 // 启动止损 C>=SKPRICE*(1+STOPRANGE*0.001),BP(SKVOL); C<=BKPRICE*(1-STOPRANGE*0.001),SP(BKVOL); // 平仓 C<MIDTR,SP(BKVOL); // 当收盘价小于MIDTR,收盘价卖平 C>MIDTR,BP(SKVOL); // 当收盘价大于MIDTR,收盘价买平 // 动态止损 REF(BKHIGH,1)>BKPRICE*(1+2*0.001*STOPRANGE) AND C<HV(C,BARSBK)*(1-STOPRANGE*0.001),SP(BKVOL); // 买开后最高价大于买开价*(1+2*0.001*STOPRANGE),且收盘价小于买开后最高收盘价*(1-STOPRANGE*0.001),收盘价卖平 REF(SKLOW,1)<SKPRICE*(1-2*0.001*STOPRANGE) AND C>LV(C,BARSSK)*(1+STOPRANGE*0.001),BP(SKVOL); // 卖开后最低价小于卖开价*(1-2*0.001*STOPRANGE),且收盘价大于卖开后最低收盘价*(1+STOPRANGE*0.001),收盘价买平
主图指标显示:
MIDTR^^MA(C,CN); // 确定MIDTR UPTR^^MIDTR+2STD(C,CN); // 确定UPTR DOWNTR^^MIDTR-2STD(C,CN); // 确定DOWNTR HPOINT^^HV(H,CN),DOT,COLORRED; // 计算前一周期CN周期内最高价的最大值。 LPOINT^^LV(L,CN),DOT,COLORBLUE; // 计算前一周期CN周期内最低价的最小值。
副图:
无
用发明者量化平台的回测结果如下:
以上是“python如何实现三轨道波动率策略”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。