MATLAB用GARCH-EVT-Copula極值理論模型VaR預測分析股票投資組合|附代碼數(shù)據(jù)
全文鏈接:http://tecdat.cn/?p=30426
最近我們被客戶要求撰寫關于GARCH-EVT-Copula的研究報告,包括一些圖形和統(tǒng)計輸出。
對VaR計算方法的改進,以更好的度量開放式基金的風險。本項目把基金所持股票看成是一個投資組合,引入Copula來描述多只股票間的非線性相關性,構建多元GARCH-EVT-Copula模型來度量開放式基金的風險,并與其他VaR估計方法的預測結果進行比較
其次是將VaR引入到基金業(yè)績評價中,構造RAROC指標來評價基金業(yè)績,檢驗該評價指標的可行性。
GARCH-EVT-Copula 模型
首先用GARCH族模型擬合單項資產(chǎn)收益率,并提取標準化殘差以滿足極值理論的假設前提,接著對標準化殘差的上下尾部分采用EVT理論中的廣義帕累托分布GPD擬合,中間部分采用高斯核函數(shù)來估計其經(jīng)驗累積分布函數(shù),從而得到標準化殘差的邊緣分布函數(shù) 。然后選取適當?shù)腃opula 函數(shù),構造多元標準化殘差間的相關結構和聯(lián)合分布函數(shù)。
Copula 函數(shù)參數(shù)估計
本項目中,采用 偽極大似然估計(CML) 方法來估計 Copula 函數(shù)的參數(shù) 第一步,將金融資產(chǎn)對數(shù)收益率數(shù)據(jù)x通過經(jīng)驗分布函數(shù)轉化為均勻變量(uniform variates) 第二步,利用密度似然函數(shù)估計Copula函數(shù)的參數(shù):

GARCH-EVT-Copula 模型計算 VaR
本項目將開放式基金看做是一個資產(chǎn)組合,以每只基金所持有的股票收益率為研究對象,從投資組合的角度利用多元GARCH-EVT-Copula模型來計算基金的VaR值。
?

讀取數(shù)據(jù)

[NUM,TXT,RAW]=xlsread('data')
Data=NUM
function [ output_args ] = GEC( input_args )
建立 GARCH 模型
nIndices = size(Data,2); % # 基金數(shù)量spec(1:nIndices) = garchset('Distribution' , 'T' , 'Display', 'off', ...'VarianceModel', 'GJR', 'P', 1, 'Q', 1, 'R', 1);%對每只基金設置garch模型的
殘差自相關性檢驗
%殘差自相關性檢驗figure, subplot(2,1,1)plot(residuals(:,1))xlabel('時間'), ylabel('殘差'), title ('N225收益率殘差')

根據(jù) FHS 提取標準化殘差
title('N225標準化殘差自相關圖')subplot(2,1,2)autocorr(residuals(:,1).^2)

點擊標題查閱往期內(nèi)容

R語言用GARCH模型波動率建模和預測、回測風險價值 (VaR)分析股市收益率時間序列

左右滑動查看更多

01

02

03

04

GDAXI
%殘差自相關性檢驗figure, subplot(2,1,1)plot(residuals(:,2))


GSPC

FCHI
%殘差自相關性檢驗figure, subplot(2,1,1)plot(residuals(:,4))

根據(jù) FHS 提取標準化殘差

采用 EVT 理論對標準殘差估計累計分布函數(shù)
% Estimate the Semi-Parametric CDFs
nPoints= 200; % # of sampled points of kernel-smoothed CDF需要擬合的樣本點
tailFraction = 0.1; % Decimal fraction of residuals allocated to each tail 小數(shù)保存位數(shù)plot(y, (OBJ{index}.cdf(y + Q(2)) - P(2))/P(1))[F,x] = ecdf(y); % empirical CDFhold('on'); stairs(x, F, 'r'); grid('on')legend('擬合的廣義 Pareto 累計分布函數(shù)','經(jīng)驗累積分布函數(shù)','Location','SouthEast');xlabel('Exceedance'); ylabel('Probability');title(['標準化殘差序列',num2str(index),'的上尾']);

for i=1:242VaRp(i,:)=pPrice(i+T-242)*exp(VaR(i,:));
end
%%figureplot(1:242,pPrice(T-242+2:end),'r-',1:242,VaRp(1:242,1),'g-',1:242,VaRp(1:242,2),'b-',1:242,VaRp(1:242,3),'y-');
title('基金持股收盤價實際與 VaR 預測下限走勢圖')

plot(1:242, b(:,s),'go-',x,d,'ro',1:0.25:250,0,'b');legend('未突破 VaR 預測下限','突破 VaR 預測下限','Location','Best' )
title('基金實際持股收盤價與 VaR 預測下限差額')
xlabel('時間日期')
ylabel('差額');

收益率t分布%QQ圖
N225收益率平方自相關圖和偏相關圖

點擊文末?“閱讀原文”
獲取全文完整代碼數(shù)據(jù)資料。
本文選自《MATLAB用GARCH-EVT-Copula模型VaR預測分析股票投資組合》。
點擊標題查閱往期內(nèi)容
R語言使用多元AR-GARCH模型衡量市場風險
R語言GARCH模型對股市sp500收益率bootstrap、滾動估計預測VaR、擬合診斷和蒙特卡羅模擬可視化R語言單變量和多變量(多元)動態(tài)條件相關系數(shù)DCC-GARCH模型分析股票收益率金融時間序列數(shù)據(jù)波動率
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
GARCH-DCC模型和DCC(MVT)建模估計
R語言預測期貨波動率的實現(xiàn):ARCH與HAR-RV與GARCH,ARFIMA模型比較
ARIMA、GARCH 和 VAR模型估計、預測ts 和 xts格式時間序列
PYTHON用GARCH、離散隨機波動率模型DSV模擬估計股票收益時間序列與蒙特卡洛可視化
極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預測風險測度分析
Garch波動率預測的區(qū)制轉移交易策略
金融時間序列模型ARIMA 和GARCH 在股票市場預測應用
時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言風險價值:ARIMA,GARCH,Delta-normal法滾動估計VaR(Value at Risk)和回測分析股票數(shù)據(jù)
R語言GARCH建模常用軟件包比較、擬合標準普爾SP 500指數(shù)波動率時間序列和預測可視化
Python金融時間序列模型ARIMA 和GARCH 在股票市場預測應用
MATLAB用GARCH模型對股票市場收益率時間序列波動的擬合與預測
R語言極值理論 EVT、POT超閾值、GARCH 模型分析股票指數(shù)VaR、條件CVaR:多元化投資組合預測風險測度分析
Python 用ARIMA、GARCH模型預測分析股票市場收益率時間序列
R語言中的時間序列分析模型:ARIMA-ARCH / GARCH模型分析股票價格
R語言ARIMA-GARCH波動率模型預測股票市場蘋果公司日收益率時間序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模擬進行股價預測
R語言時間序列GARCH模型分析股市波動率