多品种配对交易——持有封基说股市之四十四

发布于: 雪球转发:58回复:116喜欢:432
所谓配对交易,就是利用两只股票(或基金、债券等其他品种)走势非常相似,如果出现一直股票正偏离,一只股票负偏离,那么做空正偏离的股票,做多负偏离的股票。但在A股融券做空还是一件很难的事情,退而求其次,只做多这只负偏离的股票。具体的量化,可以用最小二乘法得到线性拟合公式并计算偏离值,利用这个负偏离值做多。但两个股票效果还不太理想,设想我们用多只股票找到偏离度最大的股票并做多,不断轮动偏离度最大的股票。但有几个问题需要解决。

选什么样的一组股票?既然这组股票的走势类似,我们可以引入excel中的correl函数,让它帮助我们选取合适的股票,为了说明问题,我们在目前上市的16个银行股里用correl测试了它们的相关度并考虑了股票本身的弹性,最终选择了宁波银行、浦发银行、华夏银行、民生银行、南京银行、兴业银行等六家银行作为股票池。
如果要考虑两两关系,那么就有5+4+3+2+1=15组数据要考虑,为了更好的找到一个基准,我们先建立了六个银行的平均净值,它每天的涨幅就是六个银行股的平均涨幅,用这个平均净值为基准,我们再用excel中的最小二乘法,六个银行的标准值=INTERCEPT(该银行复权价数组,平均净值数组)+SLOPE(该银行复权价数组,平均净值数组)*当天净值,然后用银行的复权价减去标准值,每天六个银行得到六个值,并进行排序,取负数最大的作为买入信号,每天轮动。当然具体还需要有些细化,比如如果数字小于某个阈值则空仓,并设置阻尼值免得买卖太频繁。用万2.5的佣金,千一的印花税成本,得到下表,从表上可以看到,多股票配对交易后几乎每年都跑赢股票的平均值和最好的股票。最为对照,和网络达人filtter的银行轮动做了一个对照,因为F大是从11年4月开始从和讯网上每天贴实盘的,所以结果略有差异,但年化还是非常接近的。但交易次数还是略多,大约1个月交易两次。整体结果还是不错的。

     因为这种方法可以用在走势类似的多品种上,除了银行板块,还可以做更多的板块测试。多品种配对交易比两个品种配对交易要进了一步。使用这种方法要注意尽可能在逻辑上是属于同类产品走势相同,并做过相似度计算,否则效果不会那么理想,当然还有很多细节问题需要处理,这里就不再赘述了。




精彩讨论

隐身也可见2016-07-28 21:37

昨天正好闪过这个念头,没来得及细想,问题的关键是怎么找到两只走势相似度很高的票?

持有封基2016-07-28 21:43

去年我就做了分级A的最小二乘法策略模型,在集思录上卖了都快一年了。

Marcus唱空买多2016-07-28 21:41

A基可以轮得飞起。是因为A基是同质的。银行之间还是有很大区别。现在看上去没有分化,日后肯定会拉开估值

持有封基2016-07-28 21:38

用correl函数量化

JoinQuant聚宽2016-07-29 11:12

近期要上的主要是股指期货这种中金所的。

全部讨论

从8月1日收盘价开始,期间中证银行涨4.81%,六家银行涨6.52%,其中最好的华夏银行涨9.70%,配对交易通过华夏-民生-兴业又再一次回到华夏,涨10.25%。

2016-12-15 19:58

好文,学习中

2016-08-17 15:37

封基老师,你觉得用50、300、500、中小板、创业板这五只etf来做配对交易如何?代表整个市场的资金轮动,走势上还是比较雷同的吧?请赐教

2016-08-12 09:29

持有封基老师,您好,请教一下。达到筏值后一次就全仓进去吗?还是分批进去比较好啊?

2016-08-11 09:55

您好,老师,我想问一下,你回测是用什么软件来做,还是用excel一天天来做的?

2016-08-08 21:34

“六个银行的平均净值,它每天的涨幅就是六个银行股的平均涨幅”,老师能详解下这个平均净值是怎么算出来的么,看了评论里面的回答还是有点搞不清楚,我现在做的是两个股票间的配对

2016-08-06 14:27

封基老师好!请指教2个问题啊:
1、浦发银行的后复权数据比宁波银行大很多,计算偏离值后,要不要再加权(偏离值除以其标准值),再比较结果确定谁偏离多呀?
2、“数字小于某个阈值则空仓”的阈值是偏离值吗,还是什么值啊?
谢谢老师!

2016-08-05 14:09

这个思路好,有时间测试下。

2016-07-30 18:14