
在往期所分享的策略,全部都是使用指数来进行回测。并且所用的发单方法,是以指数计算出的开仓及平仓价格来进行触发。
这无疑是有漏洞的!漏洞到底在哪里?请看下图:

上图是指数与主连最新价格的对比,我们发现,他们俩的价差是比较大的。
如果,当前以指数计算出的开平仓价格来进行实际买卖的话,要么信号成交不了,要么滑点代价大!至于为什么,后续会详细介绍。

作者在接下来,就以趋势线通道突破交易系统为例,分享如何通过期货指数信号来映射其主连进行交易。
“高阶技巧”之映射交易法!
所谓映射交易,简单来说就是”两个价格序列”,一个负责交易信号时间节点的计算,而以另一个序列的价格在此时间节点上进行开仓。
例如,两个时间长度相等的,螺纹钢指数和螺纹钢主连两个期货合约叠加!
如下图所示:

当螺纹钢指数触发开仓信号的时候,系统不会在螺纹钢指数交易,也不以指数计算出的开仓价格进行报单。
而是指数触发信号时在期货主连上进行开平仓。
如下图所示:

小结。
上述,就主要给大家讲解所谓的“映射”是什么。其实也就是指数是开仓信号时间节点的确定,主力合约是真实交易的标的。
另外,想要实现这样的功能,量化交易平台都能做到。那么,作者就用交易开拓者TB进行讲解。
指数映射主连交易功能实现!
首先,作者在往期策略-“趋势线通道突破”交易系统进行改进。我们需要将开平仓指令及跟踪止盈函数进行修改,以适应映射交易。
1.“趋势通道突破”系统开平仓逻辑:
这个系统是以价格所形成的具有一定意义的波峰和波谷,通过下面算法得到上下轨道。

1)开仓条件(多头为例):
- 前两个波谷和波峰依次抬高。
- 如果当前价格突破前一个波峰+N*ATR。
- 满足上述两个条件,开多。
2)平仓条件:
- 最低价跌破,AF加速算法跟踪止盈。
- 满足上述条件,平多。
如下图所示:

2.上述策略,改进部分代码,以适应“映射交易”方法。
由于策略是在两个数据源叠加的图表中进行交易,因此需要用到“data[i]”这个前缀来获取对应的数据源。
例如,在下图中作者叠加了螺纹钢期货指数和螺纹钢期货主力合约。

上图中,灰色k线是螺纹钢主力。
1)下面是获取数据源对应价格的方法:
- 获取数据源1,螺纹钢指数开盘价。使用 open或者data[0].open。
- 获取数据源2,螺纹钢主力开盘价。只能使用 data[1].open。
2)策略开仓部分的修改。
① 策略改进1:

开仓条件中,数据源采用螺纹钢指数。而开仓指令以主力数据来进行发单。
② 策略改进2:

计算平仓条件及AF加速算法跟踪止盈线的数据源,全部修改成主力。因为,我们的平仓价格是需要根据主力的情况来计算。
3)修改后的开平仓信号,效果如下图所示:
- 空头信号:

- 多头信号:

小结。
策略的改进,我们只需解决数据源之间的切换问题就可以了。也就是,data[i].open的形式进行切换,以获取对应数据源的价格。
策略回测数据统计分析
作者将改进前后的数据进行对比,看下他们之间有什么变化。
① 策略回测参数设置:
- 回测资金,10万。
- 交易周期,15分钟。
- 回测区间,上市年份至今。
- 仓位控制,1手。
- 滑点,1跳。
- 手续费,1%%。
② 策略交易盈亏曲线:
1) 改进前回测数据。

2) 改进后回测数据。

小结。
从曲线上看,策略的各项指标提高了很多。
胜率和盈亏比都表现的也不是很差,分别是59%和2.73。最大亏损1356.25,最大盈利4481.17,最大回撤2386.76,总交易次数289。
变化最大的是策略的盈亏比,从1.76到2.73。其他指标的变化并不是很大。
最后
如果想要自己的交易策略信号报单及时成交,就必须这样做“映射”交易。

否则,发出的信号是不准确的。同时我们发现,指数回测和主力回测数据之间其实相差不大。
文章及策略代码仅供交流学习,切勿直接实盘。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/491274
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!