【SF10】| 如何构建一个胜率超过60%的短线螺纹策略(开发教程)

松鼠宽客
2020-04-07


『正文』

ˇ

     本期策略将以图文的方式讲解如何构建一个“高胜率”“短线”的商品策略,以螺纹钢5分钟为数据样本开发,策略也可以用于其他品种,但是因为品种之间的点价值,波动率,交易成本,活跃程度的不同需要调整参数。这里要特别说明一下,不一定要用统一的参数组来适用于所有品种,这是传统教条的理念,往往负作用大于正作用。

关于参数优化这一块儿:

第一个是交易条件设置的合理性;

第二个是样本数据多样性;

第三个是参数范围的科学性;

第四个是使用平原参数;

以上4点,我们不在这里一一展开,因为本期内容是如何构建一个高胜率的短线策略,如果读者有兴趣探究参数优化的内容,可以在评论区或者公众号后台留言,我们会根据人数多少考虑出一期参数优化的专题贴。


策略结构:


  1. 指标计算部分;

  2. 过滤条件设定;

  3. 开仓条件;

  4. 移动出场及分段止盈


1.指标计算:采用昨收,昨高,昨低,今开,并称为菲阿里四价。它由日本期货冠军菲阿里实盘采用的主要突破交易参照系,我们这里只是使用这四个价格,并非完全按照非阿里交易的规则;

图中就是得到的Band_up和Band_dn俩条上下轨线。如果直接用于开平仓,会赔的很惨。


2.过滤条件设定:有意思的部分来了,我们通过观察发现每一天的区间宽窄程度不一样,通过数据统计我们发现较窄的区间往往意味着震荡,如果这时突破上轨开多,下轨开空就会产生穿头破脚的亏损交易,也就是假突破信号。那么,我们想过滤掉这些信号,就需要定义出哪些是“窄区间”。

图中我们用红色虚线和绿色虚线表示出上一个区间的上下轨道;

过滤原理:新区间宽度<上一个区间的宽度

代码实现:

 

√知识点:这里需要注意的是不能直接使用DATE这个系统函数,自从有了夜盘以来,一日BAR线是从作晚的夜盘开始,而不是今早9点开始。所以我们使用用户函数TrueDate来取得完整的数据日期;


计算出新区间的宽度和上一个区间的宽度,分别赋值到变量HL_band和RHL_band里面。我们等等构建开仓条件时要使用;



3.开仓条件:

交易条件非常简单,就是本区间上下轨突破+过滤条件;

√知识点:简单,但是有效。这就是我们前面提到的交易条件的合理性,过多的条件组合效果不一定好,还有可能存在条件过度拟合。


4.移动出场及分段止盈:

移动出场:

   lastprice是开仓价格;

   HL_band是区间幅度;


   N是系数;


√知识点:这里的lastprcie可以使用lowafter和Highafter,或者HL_band拿ATR代替,总之效果就是一个吊灯或者阶梯状的出场线,很简单也很实用。


分段止盈:   

关于这一段的代码,网上有现成的代码模块。是一个简单的功能模块,没有什么特殊的写法,大家可以拿来参考使用。


接下来我们看一下交易信号:

我们看到图中红色框是震荡部分,通过以上代码的编写,实现了比较好的震荡过滤效果;

√知识点:那么是不是百分百过滤呢?当然不是,世界上也不存在这种算法,震荡是行情的一部分,所有的过滤都是相对的。

例如下图:也有过滤不了和交易亏损的部分,或者是判断错误的信号。这也是策略真实性的表现;

√知识点:亏损是交易的一部分,是一种试错成本。只要是在风险可控的前提下,模型长时间产生的是正期望收益,那就OK。


SF10策略绩效:

绩效解读:

  首先你要明白这是一个趋势策略,趋势策略的胜率往往是30-50之间,趋势策略的重点是盈亏比,最大回撤,夏普率,胜率。 胜率越高,盈亏比就越低,胜率与盈亏比是成反比的,如果是高频或者震荡策略那就另当别论。

  绩效图中的胜率是61%,平均盈亏比是0.94,这是正常现象。如果胜率我们降低到30-50之内,那么对应的平均盈亏比最少也会在2.5以上。交易次数并不频繁,这就对了,这个策略本来就是过滤信号的,如果频繁交易反而是不正常了。


延伸理解:

  如果你阅读完上面的内容,你发现这个策略并不复杂,代码也不多。重点在于交易条件设定的合理性,其中涉及的参数都是主观设定,并没有参与海量优化。如果你想试试其他品种,策略是没有任何限制的,关键是你要合理的调整里面的俩个核心参数K系数和N系数,还有就是分段止盈的回撤幅度。

  切记任何参数都要有一个主观的合理范围,过大的参数造成交易迟钝,掩盖了真实的权益浮动,即使最终收益很漂亮,但实盘会很难受。过小的参数会造成交易信号频繁,交易成本巨大,实盘会很惨。

重点知识:在交易条件设定合理的前提下进行有限范围内的参数优化,同时要分段采用样本数据进行优化,取得平原参数。可以参考一下【SF08】:经典KD指标另类使用有奇效,股指商品双版本策略或者可以看一下魔方量化课程里的进阶篇关于参数和绩效解读这一块内容。


结语:非常希望大家能在评论区发表自己的看法,我们希望您提出的问题有完整的逻辑或者有理有据,我们会根据您的问题作出相应的回复。文明交流我们欢迎和支持,无脑喷子,粗言鄙语,对不起请你取关。



本期作者:慕金龙

版权:松鼠宽客(如需转载或者合作,请联系客服小松鼠)


源码领取方式:文华8,TB,MC,金字塔;


  1. 通过转发分享可以免费限时领取原生版本的策略源码(TB源码):

    1).分享朋友圈集齐18个赞(无可见权限),一个小时后截图;

    或者

    2).转发2个金融百人群(限股票和期货微信群),10分钟后截图;


2.   加入松鼠宽客俱乐部(VIP)直接领取全部版本源码;


添加小松鼠领取压缩包,微信:viquant01, 例如:回复"SF10_TB"

或扫描下方二维码

本课程及活动最终解释权归松鼠宽客所有,有任何疑问可咨询客服


----------------往期精彩内容----------------


量化微小课堂:

量化微课堂1期 | 通过波动率解调优参数,筛选品种,构建交易策略;

量化微课堂2期 | 浅谈高频交易策略的设计与实现(源码)

看盘指标系列:

看盘指标1期 | MACD线背,柱背,笔,段(源码)

看盘指标2期 | 提高交易胜率,SAR抛物线+均线斜率信号主图指标(源码

看盘指标3期 | 主力资金进场启动点(含选股器)副图指标

看盘指标4期 | 浮动筹码波段(含选股器)副图指标

看盘指标5期 | “寻龙诀” 副图+循环自动选股器(源码) 基本面与盘口数据相结合开盘选股

Python源码 :

源码分享 | 用python中的Pandas库实现一个商品期货网格策略

源码分享 | Dual Thrust 区间突破策略 Python 版

源码分享 | 基于Python的菲阿里四价策略


精品自动交易策略库:

【SF10】| 如何构建一个胜率超过60%的短线螺纹策略(开发教程)

【SF09】: 资金流向交易策略源码,绩效突出,适应性兼容性强,5分钟短线交易模型;
【SF08】:经典KD指标另类使用有奇效,股指商品双版本策略
【SF07】:股指日内模型来了!精细化控制,更加适应日内波动;(MC,金字塔,TB,文华8 四版本源码)

SF06】商品:商品版过滤震荡,抓稳趋势,均线构建过滤通道,让利润奔跑(MC,金字塔,TB,文华8 四版本源码)

【SF06】股指版:股指1分钟周期,小波动,小止损策略;

【SF05】:全新商品期货策略,利用K线加权原理制作的突破系统,年化收益103%;

【SF04】:股市行情火热特别推出股指1分钟周期模型,适用于股指1分钟周期,商品30分钟通用双版本(超值源码包)

【SF03】5分钟短周期强普适应性模型,20品种500万盈利,年化108%+,最大回撤7.4%




分享