投资组合分析1(ZTEHK VA ZTEA)

Portfolio 1# ZTEHK/ZTEA

假设:中兴通讯H股和中兴通讯A股的股价存在协整关系


*什么是协整关系?
为什么要平稳/协整:

提到协整,就不得不提平稳性。

简单地说,平稳性(stationarity)是一个序列在时间推移中保持稳定不变的性质,它是我们在进行数据的分析预测时非常喜欢的一个性质。如果一组时间序列数据是平稳的,那就意味着它的均值和方差保持不变,这样我们可以方便地在序列上使用一些统计技术。我们先看一个例子,了解平稳和非平稳序列直观上长什么样。
在这里插入图片描述

图片来源:维基百科

上图中,靠上的序列是一个平稳的序列,我们能看到它始终是围绕着一个长期均值在波动,靠下的序列是一个非平稳序列,我们能看到它的长期均值是变动的。

举一个应用的例子,如果某个资产的价格序列(或者两个序列的价差)是平稳的,那么当它在偏离了其均值后,人们可以期待价格会在未来的某一个时间回归这个均值。我们可以借助这个性质进行投资从而获利。假设一只股票的长期均值是9元,而现在的价值是8元。如果经过检验,我们认为这个股票的历史序列具有平稳的性质,并且假设这个平稳性是能保持的,就可以买入这只股票,等待未来它的价格回归9元,从而获得1元的利润。

这就是一个具有平稳性质的股票价格序列:
在这里插入图片描述
平稳性是很好用,但在现实中,绝大多数的股票都是非平稳的,那么我们是否还能够利用平稳性质进行获利呢?答案是肯定的,这时协整关系(cointegration)就出场了!如果两组序列是非平稳的,但它们的线性组合可以得到一个平稳序列,那么我们就说这两组时间序列数据具有协整的性质,我们同样可以把统计性质用到这个组合的序列上来。但是需要指出的一点,协整关系并不是相关关系(correlation)。
举个例子,两组时间序列数据的差是平稳的,则我们可以根据这个差的平稳性进行投资获利:当两只股票的价差过大,根据平稳性我们预期价差会收敛,因此买入低价的股票,卖空高价的股票,等待价格回归的时候进行反向操作从而获利。
这就是配对交易(pairs trading)的由来。

科普完毕


证明: 利用yahoo数据接口下载两只股票2015年到2018年11月的EOD股价(EOD Close采用前复权数据,利于理解):
Python代码:

import pandas_datareader.data as web
import datetime
import fix_yahoo_finance as yf
import pandas as pd

yf.pdr_override()
#打开已有文件,拿到最新记录时间最为数据抓取开始时间,注意没有engine ='python'会报错
data=pd.read_csv(r'C:\Users\yi\Desktop\Study\量化交易\ztehk.csv',sep=',',engine ='python')
#此时dmax为str,需将其转为datetime
start=pd.to_datetime(data['Date']).max()+datetime.timedelta(days=1)
end=datetime.date.today()
ztehk=web.get_data_yahoo('0763.HK',start,end)
ztea=web.get_data_yahoo('000063.SH',start,end)
#获取的ztehk为dataframe格式,可以直接存储为CSV
ztehk.to_csv(r'C:\Users\yi\Desktop\Study\量化交易\ztehk.csv',index=True,sep=',',mode='a', header=False)
#获取的ztehk为dataframe格式,可以直接存储为CSV
ztea.to_csv(r'C:\Users\yi\Desktop\Study\量化交易\ztea.csv',index=True,sep=',',mode='a', header=False)

分别得到两个CSV文件.因为python的可视化挺糟糕,再加上两个股票的投资组合也不需要太高深的数据挖掘算法,整个分析过程简单利用tableau实现.
同时从yahoo抓取rmb/hkd外汇比价,如下图:
在这里插入图片描述

观察两组波形: ZTEA/ZTEHK和ZTEA-ZTEHK,发现均有协整关系,波形均在一个箱体内来会波动,其中有个别点突破了箱体上轨和下轨,这些点正是我们应该抓住的套利机会.
在这里插入图片描述
选取ZTEA/ZTEHK波形做进一步分析,
在这里插入图片描述
可以看到,这个比值基本是在AVG±STD箱体内波动,波动周期平均在4个月左右.
以不同颜色区别突破箱体的异常点(套利机会点):
在这里插入图片描述
投资策略:一旦向上突破箱体,则卖出ZTEA同时买入ZTEHK;待三四个月后向下突破箱体,买入ZTEA同时卖出ZTEHK.
简单回测:
在这里插入图片描述
在这里插入图片描述
假设T1时刻前,两个普票账户各有1000股,按2016.2.1EOD计算成本为:
1000股ZTEA,=14,180
1000股ZTEHK,=11,010
总资产:25,190
2016.2.1EOD突破下轨,全部卖出ZTEHK,买入ZTEA:
1700股ZTEA,=24,106
0股ZTEHK,=0
现金=1,084
总资产:25,190
2016.5.13EOD突破上轨,全部卖出ZTEA,买入ZTEHK:
0股ZTEA,=0
2900股ZTEHK,=22,910
现金=193
总资产:23,103
浮亏:2,087
持仓到2018.8.8(中间有几次下探,但均未突破箱体)
在这里插入图片描述
EOD突破下轨,全部卖出ZTEHK,买入ZTEA:
2100股ZTEA,=46,788
0股ZTEHK,=0
现金:2193
总资产:48,981
浮盈:23,791(收益率94.4%);

同期仅操作ZTEA的收益:
2016.2.1买入ZTEA
1700股ZTEA,=24,106
0股ZTEHK,=0
现金:1,084
总资产:25,190
2017.8.8:
1700股ZTEA,=37,876
0股ZTEHK,=0
现金:1,084
总资产:38,960
浮盈:13,770(收益率54.6%);

可以看到,刨去股票自身的增长,操作股票组合的超额收益(α收益)为40%.
然而这里面有两个坑:
1.>在向下突破卖出时,当时价格比买入时跌了(13.59-14.18) 0.59; 如果这个跌幅非常大,是否还应该按原策略操作?
2.>2016.2–2017.8这段时间ZTEA上涨了54.6%,如果是下跌的话本策略会不会亏损,亏损多少?

第一个坑,需要对策略设置风控指标,按照ZTEA/ZTEHK投资组合来看,一个完整波段的预期收益率在50%左右,如果在向下突破时ZTEA价格比买入时跌了超过20%,则不抛;

第二个坑,如果对策略的α收益有足够信心,可以对冲掉大盘的β波动,比如同期做空上证50ETF, 则本例中最终收益会变为40%(而不是94.4%),但是避免了大盘下跌的风险;

猜你喜欢

转载自blog.csdn.net/weixin_43622668/article/details/84250751