期货的配对交易策略之一
前言
最近找到张高清的辉夜大小姐照片(划掉),最近接到个面试题,希望拿来和大家分享下。面试凉不凉无所谓,先拿来做照片的衬托才重要(划掉)还是和大家分享知识最开心。希望能让更多人知道量化到底在做什么,当然这个策略已经写进教科书,可以说人尽皆知了。
策略思路
配对交易策略(pair trading)的步骤是:
- 筛选两支具有相关性的资产;
- 相信在未来这种相关性会继续保持;
- 一旦两支资产的价格偏离确定的相关性系数,说明一方被高估,而另一方被低估,做相应对冲,等待未来两支资产回到原有关系,平仓。
注:资产可以为股票、期权、期货及各种具有时间序列性质的金融衍生品,不过此处只做期货的策略。
具体操作流程
首先从2014年的期货市场中摘出所需数据,所有期货合同在5个交易日内的交易记录。有数不清的期货合同,首先根据交易量筛选出50种期货合同,因为交易量大意味着流通性好,在高频交易时带来的影响较小。
再对50支期货合同做相关性筛查,剩下20支期货合同配对(就是因为懒)。
再通过协整检验进行排序,协整检验就是对两个时间序列(此处是期货合同的价格序列)做线性回归,对残差进行评估,残差越小,越说明两者之间存在线性关系。
接下来画图,对期货配对情况有直观的认识:
综合之前各种检测结果(10%)和自己的主观判断(90%)来得到前三名配对:
配对 收益 交易次数
791409 - 851410 0.185000 566
111410 - 851410 0.193659 990
67409 - 351409 0.082888 384
得到目标配对期货了,要如何确定下单时机呢?
设期货1的价格为 x_t , 期货2的价格为 y_t ,则当二者价格差大于 \Delta 时,买入期货1,卖出期货2,当价格差小于 -\Delta 时,反向操作。
y_t - \alpha x_t=c+\Delta
y_t - \alpha x_t = c - \Delta
其中 \alpha 和 c 为线性规划系数。 \Delta 的选择因人而异,体现不同风格,越大越保守,越小越激进。
后记
至此,一个完整的配对交易操作流程就结束了,当然在处理和回测的时候还会有很多细节需要处理,以后有机会,一定更完……更完……完……
附录
所有20对的交易情况
pairs, P&L, number of trades
(43409, 69409) 0.000000 0
(311409, 321409) 0.000000 0
(67409, 321409) 0.000000 0
(791409, 851410) 0.185000 566
(111410, 851410) 0.193659 990
(67409, 311409) 0.016529 84
(50409, 341409) 0.029514 190
(331409, 341409) 0.039465 260
(42409, 67409) 0.000312 2
(42409, 311409) 0.060972 186
(351409, 841409) 0.023149 236
(361409, 841409) 0.064023 524
(67409, 841409) 0.022775 284
(311409, 841409) 0.027770 312
(67409, 351409) 0.082888 384
(42409, 351409) 0.050968 270
(42409, 841409) 0.045995 346
(321409, 841409) -0.001585 332
(311409, 351409) 0.081222 344
(321409, 351409) 0.015560 162