【研报复现】中信证券——跨期价差分析与跨期套利研究
发布时间:2018/12/09 04:36:35 6898 1
#### 【研报复现】中信证券——跨期价差分析与跨期套利研究 ------------ #### 简要回顾 1、跨期套利原理:同品种期货,交割时间不一样,交易价格也不一样,但它们具有一定相关性,根据其价格差波动套利。 2、研报进行跨期套利组合:泸深IF300期指、上证IH50期指和中证IC500期指的两合约跨期:当月-次月、当月-当季、当月-下季以及蝶式跨期:(当月-次月)-(次月-当季) 3、本文仅以中证500的当月-次月和当月-当季为例进行进行探讨。 4、本策略以复现【中信证券股指期货专题研究:跨期价差分析与跨期套利研究】为主。 ------------ ####跨期价差定义 ```latex diffF=lnF_{1}-lnF_{2} ``` 其中,$$diffF$$表示两合约间跨期价差,F<sub>1</sub> 表示当月合约价,F<sub>2</sub>表示次月或者当季合约价格。 ----------- #### 品种跨期组合具体分析 ----------- ##### 一、数据提取 品种跨期组合为: 1)泸深IF300期指:当月-次月、当月-当季 2)上证IH50期指:当月-次月、当月-当季 3)中证IC500期指:当月-次月、当月-当季 这些股指期货合约在AT上对应的编码如下表: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/170319rdhvdvyxuqqpsqsr.jpg) -------------- ####二、品种跨期组合分析 ------------ #####中证500期指 我们选取合约号为IC1601、IC1602和IC1603的中证500期指合约,时间段为2015年7月21日到2015年12月31日这段时间的分钟高频数据进行分析。 --------------- #####成交量分析 不同月份股指期货合约的流动性差异较大,通常当月合约流动性较好。如下为中证期指的成交量情况: 中证500期指当月(IC1601)-次月(IC1602)合约的成交量情况: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/170650zazjw5v2jiudp1cv.jpg) 中证500期指当月(IC1601)-当季(IC1603)合约的成交量情况: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/170703dcc3jb73lcqeebzo.jpg) 由上两图可知,成交量都集中在IF1601期指即当月合约中,而次月和当季合约的成交量有限,证实了不同月份股指期货合约的流动性差异较大,通常当月合约流动性较好。 ------------ ##### 平稳性检验 ##### 1、图示法 当月(IC1601)-次月(IC1602)期指的价格时间序列如下: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/170818fcrr1sgr1gfmcdby.jpg) 当月(IC1601)-当季(IC1603)期指的价格时间序列如下: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/170837jvmz4gp1mhfllymp.jpg) 由上两图可知,我们可以初步判断跨期期指合约具有一定的相关性。并且,当月合约的价格较高,次月和当季价格相对较低。 ##### 2、单位根检验法 对当月(IC1601)-次月(IC1602)期指合约和当月(IC1601)-当季(IC1603)期指合约的收盘价分别进行单位根检验: MATLAB函数为: [h,pValue,stat,cValue,reg]=adftest(y,'alpha','lags','model','test') 得出的结果为: IC1601的P值为0.5199,IC1602的P值为0.3790,IC1603的P值为0.7292,均不满足平稳性条件,对价格序列做一阶差分后再做单位根检验,P值均小于0.001,满足平稳性条件,表明他们之间是同阶平稳的价格序列。 ----------------- ##### 构建价格差序列 由前面定义的跨期期指价差有: ```latex diffF=lnF_{1}-lnF_{2} ``` 根据价差公式,我们构建当月(IC1601)-次月(IC1602)及当月(IC1601)-当季(IC1603)期指的价差序列,如下图所示: 当月(IC1601)-次月(IC1602)的期指价差序列如下: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/170945lxz2828cj288ev2j.jpg) 当月(IC1601)-次月(IC1602)的期指价差偏移度分布图: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/171009smsisr8sozzr19b1.jpg) 当月(IC1601)-当季(IC1603)的期指价差序列如下: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/171037dij149j1j4zi5b5a.jpg) 当月(IC1601)-当季(IC1603)的期指价差偏移度分布图: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/171059f6h6delb7s2xhea7.jpg) ------------------- ##### 均值回复特征 1、跨期价格差的历史上极值点的分布不是很稳定。 2、对于当月-次月期指的价差,其均值为0.027,标准差为0.0027,价差上涨相对均值偏移最大为2.98倍标准差,下跌相对均值偏移最大为2.30倍标准差。 3、对于当月-当季期指的价差,其均值为0.053,标准差为0.0072,价差上涨相对均值偏移最大为2.28倍标准差,下跌相对均值偏移最大为 2.92倍标准差。 可见,相对标准差偏移度都大于2倍。 --------------------- #### 其他组合读者可以按照本文思路回去尝试着分析 - 中证500期指的(当月-次月)-(次月-当季)的蝶式价差组合 - 泸深300期指的当月-次月及当月-当季组合 - 泸深300期指的(当月-次月)-(次月-当季)的蝶式价差组合 - 上证50期指的当月-次月及当月-当季组合 - 上证50期指的(当月-次月)-(次月-当季)的蝶式价差组合 --------------------- #### 择时套利策略构建 ---------------- ##### 概念 自适应均线是由美国人佩里•考夫曼(Perry J.Kaufman)创造的,在他的著作《精明交易者——系统交易指南》中详细介绍了该方法,该方法的优点是其参数能根据趋势变化的速度进行调节,在牛市和熊市中自适应均线紧随价格向上或向下变化,而在市场处于横盘震荡时期,其变化明显减慢。 --------------------- ##### 计算公式 - 步骤一:计算效率系数ER: ```latex d_{l}=spread_{l}-spread_{l-n} ``` ```latex v_{t}=\sum_{l=t}^{t-n}\left | spread_{l}-spread_{l-1} \right | ``` ```latex ER_{t}=\frac{d_{t}}{v_{t}} ``` 其中,n=10. - 步骤二:计算趋势速度: ```latex smooth=ER\ast (fastest-slowest)+slowest ``` ```latex fastest=\frac{2}{N_{f}+1}\;\;\;\; slowest=\frac{2}{N_{s}+1} ``` ```latex c=smooth\ast smooth ``` 其中,Nf=4,Ns=60,c为平滑系数。 - 步骤三:计算自适应平均值: ```latex AMA_{t}=AMA_{t-1}+c*(spread_{t}-AMA_{t-1}) ``` ------------------- ##### 本文观点 由于跨期价差序列没有明显的波动边界走势,所以本文套利策略使用自适应均线策略 如下图为自适应均线做出的价格差序列图: 当月(IC1601)-次月(IC1602)的期指自适应均线做出的价格差序列图: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172024nqrwxqwqqqff83fn.jpg) 当月(IC1601)-当季(IC1606)的期指自适应均线做出的价格差序列图: ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172043oqgfa4vq8mdh6mc8.jpg) ----------------- #### 量化交易设置及说明 ---------------- ##### 正常波动幅度范围的确定 价差的正常波动幅度使用自两合约同时上市以来至回测交易日的所有数据的均值加减一定倍数的标准差得到。 假设均值为价差均值为Ma,标准差为Std,设参数为Para_Up和Para_Down. 1、当价差在Ma+Para_Up*Std和Ma-Para_Down*Std之间时,表示价差波动正常,不存在套利机会, 2、当自适应价差大于Ma+Para_Up*Std或小于Ma-Para_Down*Std时,表示价差波动过大,有均值回归的可能,存在套利机会。 3、针对不同的价差情况,可以调整参数Para_Up和Para_Down的数值,来适应价差波动的非对称性。 ------------ ##### 开仓信号设置 1、 当自适应价差大于正常波动范围的上轨,即AMA > Ma+Para_Up. Std 时,做空价差; 2、当自适应价差小于正常波动范围的下轨,即AMA< Ma-Para_Down . Std时,进场做多价差。 ------------ ##### 平仓位信号设置 1、当价差上涨突破正常的波动区间后回归到正常波动水平,即 AMA< Ma时,做空价差进行买入平仓; 2、当价差下跌跌破正常的波动区间后回归到正常波动水平,即 AMA>Ma时,做多价差进行卖出平仓。 ----------------- #####参数说明 | | 当月-次月跨期 | 当月当季跨期 | | ------------ | ------------ | ------------ | | Para_Up | 0.3倍价差最大偏移度 | 0.3倍价差最大偏移度 | | Para_Down | 0.3倍价差最小偏移度 | 0.3倍价差最小偏移度 | -------------- #####策略说明 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172251e9s4gnx9sg99ni95.jpg) ------------- ####回测结果分析 ------------------ ##### 一、当月(IC1601)-次月(IC1602)期指套利策略回测结果 - 总权益曲线及潜在亏损 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172334b8yngqknlbjlmgll.jpg) - 策略绩效摘要 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172439d27cbyymcqxps5b2.jpg) - 绩效比率 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172530ufzs6cco5bmsbdls.jpg) ---------------- #####二、当月(IC1601)-当季(IC1603)期指套利策略回测结果 - 总权益曲线及潜在亏损 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172552q717sho31p921shh.jpg) - 策略绩效摘要 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172618swb2808yiej52bjx.jpg) - 绩效比率 ![](https://bpstoragenormal.blob.core.chinacloudapi.cn/digquant/prod/./data/attachment/forum/201804/16/172635a64al2lmojweaalj.jpg) --------------- #### 经典代码展示 ##### 代码 % 中证IC500期指: %当月-次月: for k=1:2 q=1; p=0; for i=1:length(IC(k).close) for j=q:length(IC(k+1).close) if(IC(k).time(i)==IC(k+1).time(j)) p=p+1; q=j+1; IC(k).mm_close(1,p)=IC(k).close(i); %当月 IC(k).mm_close(2,p)=IC(k+1).close(j); %次月 IC(k).mm_time(1,p)=IC(k).time(i); %当月 IC(k).mm_time(2,p)=IC(k+1).time(j); %次月 IC(k).mm_volume(1,p)=IC(k).volume(i); %当月 IC(k).mm_volume(2,p)=IC(k+1).volume(j); %次月 break; elseif (IC(k).time(i)<IC(k+1).time(j)) q=j; break; end end end end ##### 说明 1、本代码是一段关于找出当月(IC1601)-次月(IC1602)两合约相同时间的合约价格的预处理。 2、由于两合约数据的时间不一致,长度也不一致,需要对其进行遍历操作。 3、最粗暴的遍历方法是对两合约进行二次循环操作,但两合约的数据都比较大,所以我们需要对其进行算法修正,使得遍历效率更快。 4、我们发现,两组数据都是按时间顺序存储的。 5、所以,只需要增加一个标签变量q,对第二次循环进行限制,我们就可以把代码时间效率从O(n^2)变成O(n)。 6、希望读者能学到这个小技巧。 注:里面的第三循环是为了实现当月(IC1601)-次月(IC1602)以及次月(IC1602)-当季(IC1603)的相同时间的合约价格。 --------------------- #### 声明 1、本策略为复现中信证券的【中信证券股指期货专题研究:跨期价差分析与跨期套利研究】。复现过程中可能出现理解错误,欢迎读者一起交流与学习。 2、本策略重在策略的复现及策略的理论分析,并进行数据分析和研究。着重进行数据分析与验证这一过程很重要,希望读者在学习其他研报的时候进行此过程,这将有利于提高你的逻辑分析能力以及严谨性。 ------------ #### 策略代码 #####具体策略代码请点击以下链接: [https://www.digquant.com.cn/stra.php?mod=model&pid=329](https://www.digquant.com.cn/stra.php?mod=model&pid=329 "https://www.digquant.com.cn/stra.php?mod=model&pid=329") ------------
0个赞 收藏
发表评论
0条评论
contact@digquant.com.cn

联系

邮箱

0755-8695-2080

联系

电话

关注

微信

关注

QQ

回到

顶部