-
基于市场情绪平稳度的股指期货日内交易策略
万能量化 / 2016-10-19 19:42 发布
1.准备工作
前几天阅读了广发证券的金工研报《基于市场情绪平稳度的股指期货日内交易策略——另类交易策略之二十一》,被里面的那条优美的累计收益曲线所吸引,开始我并不相信这样的结果,所以想用优矿期货回测平台来进行初步的验证。研报受到“最大回撤”这一思想的启发,认为可以通过回撤来衡量股指期货价格序列的平稳度,进而判断今日行情的走势。一般而言,最大回撤的定义如下: 假设价格的时间序列为{xt},那么最大回撤为:
在单边上涨行情中,我们计算各个点的平均最大回撤
对于单边下跌行情,我们需要对最大回撤做稍微的改动,研报定义了一个反向最大回撤,公式如下:
那么各点的平均反向最大回撤公式为:
其中,j>i。
代码实现(网页链接)
2.策略逻辑
准备工作做完,再看研报的交易逻辑:
- 选择时间窗口,也就是上面公式中的n
- 计算市场情平稳度,判断今日是否开仓。若市场情绪平稳度小于阈值,说明今趋势明显,可以开仓,反之则不开仓
- 判断开仓的方向,若n时刻的收盘价大于开盘价,预测今天上涨趋势,做多;反之则做空
- 平仓,这里我们不加止盈止损,上午11:29平仓
回测的时候,我们选择了IFM0主力连续合约,回测时间为2011年5月1日至2013年6月1日,每天只开2手,初始资金100w,阈值设定和研报不同我这里取4.0/1000,研报的给的阈值9/10000太小了,按照这个阈值来基本不满足开仓条件。分钟跑起来有点慢,还需耐心等待。
3.策略的评价
曲线看起来还是不错的。但是回测时间调整到2011年开始就不尽人意了,所以还是应该要添加止损的逻辑。再来看看其他一些指标:
最大回撤:0.0349142217963
年化收益: 0.645544967841
胜率: 0.521739130435
最大连胜次数: 5
最大连败次数: 6
最大回撤3.4%,年化收益达到64.55%也还不错,胜率也达到了52.1% 我们分析这个策略还有那些需要优化的地方:
- 1.买入的时间的选择,我们是在上午10:05时算出市场情绪平稳度指标,然后判断是否开仓,换成其他的时间点会怎样?
- 2.阈值的选取
- 3.开仓方向的选择也很简单,当前收盘价大于进入开盘价就正向正向开仓未免有些武断。
- 4.平仓时机的选择,选取上午收盘时平仓是否过于简单? 有至少四个地方值得优化,所以这个策略对参数的依赖性很强
再看来看看策略每个月的收益率的热度图
显然,策略的收益很大一部份来自于一月份,7月份过后,策略表现一般,甚至出现了亏损。由于现在还不支持pyfolio,这里把pyfolio的一些画图的稍微进行了修改然后拿来用了。