Rbreak 日内交易策略

R-Breaker 是一种短线交易策略,它结合了趋势和反转两种交易方式。

交易系统的基本原理如下:
1. 根据前一个交易日的收盘价、最高价和最低价数据通过一定方式计算出六个价位,从大到小依次为:突破买入价、观察卖出价、反转
卖出价、反转买入价、观察买入价、突破卖出价。
以此来形成当前交易日盘中交易的触发条件。这里,通过对计算方式的调整,可以调节六个价格间的距离,进一步改变触发条件。

2. 追踪盘中价格走势,实时判断触发条件。具体条件如下:
当日内最高价超过观察卖出价后,盘中价格出现回落,且进一步跌破反转卖出价构成的支撑线时,采取反转策略,即在该点位(反手、开仓)做空;
当日内最低价低于观察买入价后,盘中价格出现反弹,且进一步超过反转买入价构成的阻力线时,采取反转策略,即在该点位(反手、开仓)做多;
 在空仓的情况下,如果盘中价格超过突破买入价,则采取趋势策略,即在该点位开仓做多;
 在空仓的情况下,如果盘中价格跌破突破卖出价,则采取趋势策略,即在该点位开仓做空。

3. 设定止损条件。当亏损达到设定值后,平仓。
4. 设定过滤条件。当前一个交易日波幅过小,该交易日不进行交易。
5. 在每日收盘前,对所持合约进行平仓。
6. 可使用 1 分钟、5 分钟或 10 分钟等高频数据进行判断。

由于最近闲来无事,就想测试一下 Rbreak 策略的收益如何。数据选取沪深 300IF888 数据,时间跨度是 10 年到 14 年 3 月,共 900 多个交易日。因为是日内交易策略故采取分钟数据,即每个交易日刚好 270 个 bar 数据。模型开仓信号由 Rbreak 思想给出,在最后一分钟即 14:59 分平仓。由于隔夜存在风险即便于评估绩效,故一每一个交易日为一个时间窗口。交易手数 1 手,初始资金 10 万。不设止损止盈。手续费 保证金 滑点参考 TB。

Rbreak 模型其实存在多个参数,比如六条水平轨道的距离,选取前几个交易日日数据来确定六条轨道。因此改进空间很大。

结论:
1. 效果很理想,多数日期是赚钱的,即满足多赚少亏的特点。
2. 赚钱的时候,盈利很大,亏钱的时候,亏得不会太多,即满足 大赢小亏的特点。
不过很纠结的一点是,我用的是 R 测试,每一个交易日有 270 次循环,一共会重复 900 多次(900 多个交易日),程序执行时间太长,有点不能接受。因此在这希望各位朋友提提改进意见及想法。
完整代码见附件.(只有代码没有源测试数据)
代码地址:http://www.liangyee.com/study/c/rinei