數(shù)據(jù)分享|MATLAB、R基于Copula方法和k-means聚類的股票選擇研究上證A股數(shù)據(jù)|附代碼數(shù)
全文鏈接:http://tecdat.cn/?p=31733
最近我們被客戶要求撰寫關(guān)于Copula的研究報告,包括一些圖形和統(tǒng)計輸出。
Copula方法是測度金融市場間尾部相關(guān)性比較有效的方法,而且可用于研究非正態(tài)、非線性以及尾部非對稱等較復(fù)雜的相依特征關(guān)系
因此,Copula方法開始逐漸代替多元GARCH模型的相關(guān)性分析,成為考察金融變量間關(guān)系的流行方法,被廣泛地用于市場一體化、風(fēng)險管理以及期貨套期保值的研究中。
國內(nèi)外學(xué)者對于尾部相關(guān)性和Copula方法已經(jīng)有了深入的研究,提出多種Copula模型來不斷優(yōu)化尾部相關(guān)系數(shù)對于不同情況下股票之間相關(guān)性的刻畫,對于股票的聚類方法也進(jìn)行了改進(jìn)和拓展,然而能夠結(jié)合這些方法對于資產(chǎn)選擇進(jìn)行研究的較少。尤其是在面對現(xiàn)今股票市場海量級的股票數(shù)據(jù),如何從股票間的尾部相關(guān)性挖掘到有效信息,得到能夠有效規(guī)避風(fēng)險的資產(chǎn)組合是很少有人研究的問題。并且大多尾部相關(guān)的分析都只停留在定性的分析中,并且多是在市場與市場之間,板塊與板塊之間的相關(guān)性分析,對于股票間定量的相關(guān)性研究還有不足。相信研究成果對于投資者有效的規(guī)避風(fēng)險,尋求最佳的投資組合有較大的幫助。
本文結(jié)合Copula方法和聚類思想對大數(shù)量級的股票間尾部相關(guān)性進(jìn)行分析,幫助客戶構(gòu)建混合Copula模型并計算股票間尾部相關(guān)系數(shù),再根據(jù)尾部相關(guān)系數(shù)選用合理高效的聚類方法進(jìn)行聚類,為投資者選擇投資組合提供有效的建議。
上證A股數(shù)據(jù)
本文選取上證A股數(shù)據(jù)?(?查看文末了解數(shù)據(jù)免費(fèi)獲取方式?)?,其數(shù)據(jù)來源于wind數(shù)據(jù)庫。由于時間間隔較長,本文將通過對相關(guān)系數(shù)進(jìn)行計算來分析其之間的相關(guān)性,然后再通過聚類分析將其合并來進(jìn)行研究。具體步驟如下:
非參數(shù)核估計邊緣分布
j=1077aj=median(sy(:,j)); %(j=1(SZGY),2(SZSY),3(SZDC),4(GYSY))bj=median(abs(sy(:,j)-aj))/0.6745;hj=1.06*bj*1077^(-1/5);
1,固定函數(shù)的參數(shù),選擇權(quán)重的初值為:1/ 3。對權(quán)重進(jìn)行估計。
d=cdf('Normal',(sy(n,j)-wj(i))/hj,0,1);sum=sum+d;end
2,固定權(quán)重為第 1 步的估計值,選擇參數(shù)的初值為第上一節(jié)的估計值,對函數(shù)的參數(shù)進(jìn)行估計。
%求似然值%fenbu=xlsread('fenbu.xlsx'); %讀取數(shù)據(jù),fenbu=sy;u=mean(sy);
3,將第 2 步估計得到的參數(shù)值作為固定值,權(quán)重初值選擇第 1 步的估計值,進(jìn)行權(quán)重估計。
s(j)=s(j)+b(i); %求似然值endend
估計混合 Copula 權(quán)重
theta=0.5;for j=1:1000;k1(1)=0.2; %權(quán)重初值k2(1)=0.3 ;c3(i)=1077^(-1)*k3(j)*fr(i)*(k1(j)*gu(i)+k2(j)*cl(i)+k3(j)*fr(i))^(-1);k1(j+1)=k1(j+1)+c1(i); %gu(i),cl(i),fr(i)表示三個函數(shù)的密度函數(shù)abs(k3(j+1)-k3(j))<=0.000001); %滿足收斂條件是跳出endl=length(k1') %收斂時的步驟數(shù)目k1(l),k2(l),k3(l) %收斂時的結(jié)果
估計混合 Copula 模型的函數(shù)參數(shù)
%b=b(0); %參數(shù)初值for j=1:1000; %運(yùn)算步驟h1(i)=k1*gu_p(i)*gu(i)/(gu_m(i)*(k1*gu(i)+k2*cl(i)+k3*fr(i)));s1=s1+h1(i); %gu_p 是 Gumbel 密度函數(shù),gu_m 是 Gumbel 的密度函數(shù)
n=13;d=array(0 dim=c(13 13)) ?for(i in 1:(n-1)){ ?? d[i i]=1 ?? for(j in (i+1):n){ ???? clayton.cop=claytonCopula(3 dim=2);clayton.cop ???? u=pobs(b);u ? ?
生成隨機(jī)數(shù)
M=0.247060*G'+0.441831*C'+0.311109*F'; %生成混合 Copula 隨機(jī)數(shù)
計算每個不同類時的 k-means 聚類結(jié)果,并計算平均偏差,且畫出圖形
for c = 2:8? [idx,ctrs] = kmeans(M,c);
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
用COPULA模型進(jìn)行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析
左右滑動查看更多
01
02
03
04
[aic,bic] = aicbic([logL1;logL2;logL3;logL4],
當(dāng)聚類數(shù)目為 7 時的 k-means 聚類
c=7;? [idx,ctrs] = kmeans(M,c);X=Mplot(X(idx==1,1),X(idx==1,2),'r.','MarkerSize',12)
上尾
hold onplot(X(idx==4,1),X(idx==4,2),'b.','MarkerSize',12)hold onplot(X(idx==5,1),X(idx==5,2),'b.','MarkerSize',12)hold onplot(X(idx==6,1),X(idx==6,2),'b.','MarkerSize',12)hold onplot(X(idx==7,1),X(idx==7,2),'b.','MarkerSize',12)hold onplot(X(idx==8,1),X(idx==8,2),'b.','MarkerSize',12)hold on?plot(ctrs(:,1),ctrs(:,2),'kx',...
Average square within cluster
library(cluster) ?agn1=aes(delta method="average");agn1plot(x with.ss") ?lines(x with.ss lty=2)
下尾
Average square within cluster
輸出上尾和下尾相關(guān)系數(shù)
本文將 Copula方法應(yīng)用到股票市場的相關(guān)分析中,以上證A股數(shù)據(jù)作為研究對象,基于 Copula方法構(gòu)建了對不同投資組合的風(fēng)險和收益的預(yù)測模型;其次,將聚類思想應(yīng)用到股票選擇中,將選擇出來的股票進(jìn)行聚類分析,得出各個聚類結(jié)果。本文不僅考慮了股票之間的相關(guān)關(guān)系,還考慮了它們之間的相關(guān)性。
輸出股票類別
數(shù)據(jù)獲取
在公眾號后臺回復(fù)“a股數(shù)****據(jù)”,可免費(fèi)獲取完整數(shù)據(jù)。
點(diǎn)擊文末?“閱讀原文”
獲取全文完整代碼數(shù)據(jù)資料。
本文選自《MATLAB、R基于Copula方法和k-means聚類的股票選擇研究上證A股數(shù)據(jù)》。
點(diǎn)擊標(biāo)題查閱往期內(nèi)容
用COPULA模型進(jìn)行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析
Copula 算法建模相依性分析股票收益率時間序列案例
Copula估計邊緣分布模擬收益率計算投資組合風(fēng)險價值VaR與期望損失ES
MATLAB用COPULA模型進(jìn)行蒙特卡洛(MONTE CARLO)模擬和擬合股票收益數(shù)據(jù)分析
R語言多元Copula GARCH 模型時間序列預(yù)測
python中的copula:Frank、Clayton和Gumbel copula模型估計與可視化
R語言中的copula GARCH模型擬合時間序列并模擬分析
matlab使用Copula仿真優(yōu)化市場風(fēng)險數(shù)據(jù)VaR分析
R語言多元Copula GARCH 模型時間序列預(yù)測
R語言Copula函數(shù)股市相關(guān)性建模:模擬Random Walk(隨機(jī)游走)
R語言實(shí)現(xiàn) Copula 算法建模依賴性案例分析報告
R語言ARMA-GARCH-COPULA模型和金融時間序列案例
R語言基于copula的貝葉斯分層混合模型的診斷準(zhǔn)確性研究
R語言COPULA和金融時間序列案例
matlab使用Copula仿真優(yōu)化市場風(fēng)險數(shù)據(jù)VaR分析
matlab使用Copula仿真優(yōu)化市場風(fēng)險
R語言多元CopulaGARCH模型時間序列預(yù)測
R語言Copula的貝葉斯非參數(shù)MCMC估計
R語言COPULAS和金融時間序列R語言乘法GARCH模型對高頻交易數(shù)據(jù)進(jìn)行波動性預(yù)測
R語言GARCH-DCC模型和DCC(MVT)建模估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價預(yù)測
R語言時間序列GARCH模型分析股市波動率
R語言ARMA-EGARCH模型、集成預(yù)測算法對SPX實(shí)際波動率進(jìn)行預(yù)測
matlab實(shí)現(xiàn)MCMC的馬爾可夫轉(zhuǎn)換ARMA - GARCH模型估計
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進(jìn)行股價預(yù)測
使用R語言對S&P500股票指數(shù)進(jìn)行ARIMA + GARCH交易策略
R語言用多元ARMA,GARCH ,EWMA, ETS,隨機(jī)波動率SV模型對金融時間序列數(shù)據(jù)建模
R語言股票市場指數(shù):ARMA-GARCH模型和對數(shù)收益率數(shù)據(jù)探索性分析
R語言多元Copula GARCH 模型時間序列預(yù)測
R語言使用多元AR-GARCH模型衡量市場風(fēng)險
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言用Garch模型和回歸模型對股票價格分析
GARCH(1,1),MA以及歷史模擬法的VaR比較
matlab估計arma garch 條件均值和方差模型
R語言ARMA-GARCH-COPULA模型和金融時間序列案例