1. 程式人生 > >投資組合分析1(ZTEHK VA ZTEA)

投資組合分析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%),但是避免了大盤下跌的風險;