对VaR计算方法的改进,以更好的度量开放式基金的风险。本文把基金所持股票看成是一个投资组合,引入Copula来描述多只股票间的非线性相关性,构建多元GARCH-EVT-Copula模型来度量开放式基金的风险,并与其他VaR估计方法的预测结果进行比较。其次是将VaR引入到基金业绩评价中,构造RAROC指标来评价基金业绩,检验该评价指标的可行性。

GARCH-EVT-Copula 模型

首先用GARCH族模型拟合单项资产收益率,并提取标准化残差以满足极值理论的假设前提,接着对标准化残差的上下尾部分采用EVT理论中的广义帕累托分布GPD拟合,中间部分采用高斯核函数来估计其经验累积分布函数,从而得到标准化残差的边缘分布函数 ﹔然后选取适当的Copula 函数,构造多元标准化残差间的相关结构和联合分布函数。

Copula 函数参数估计

本文中,采用 伪极大似然估计(CML) 方法来估计 Copula 函数的参数 第一步,将金融资产对数收益率数据x通过经验分布函数转化为均匀变量(uniform variates) 第二步,利用密度似然函数估计Copula函数的参数:

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据

GARCH-EVT-Copula 模型计算 VaR

本文将开放式基金看做是一个资产组合,以每只基金所持有的股票收益率为研究对象,从投资组合的角度利用多元GARCH-EVT-Copula模型来计算基金的VaR值 

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_r语言_02

读取数据

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_r语言_03

[NUM,TXT,RAW]=xlsread('data')

Data=NUM

function [ output_args ] = GEC( input_args )

建立 GARCH 模型

nIndices = size(Data,2); % # 基金数量

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收益率残差')

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_04

根据 FHS 提取标准化残差

title('N225标准化残差自相关图')

subplot(2,1,2)

autocorr(residuals(:,1).^2)

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_05

GDAXI

%残差自相关性检验

figure, subplot(2,1,1)

plot(residuals(:,2))

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_r语言_06

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_07

GSPC

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_08

FCHI

%残差自相关性检验

figure, subplot(2,1,1)

plot(residuals(:,4))

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_09

根据 FHS 提取标准化残差

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_10

采用 EVT 理论对标准残差估计累计分布函数

% 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 小数保存位数

plot(y, (OBJ{index}.cdf(y + Q(2)) - P(2))/P(1))

[F,x] = ecdf(y); % empirical CDF

hold('on'); stairs(x, F, 'r'); grid('on')

legend('拟合的广义 Pareto 累计分布函数','经验累积分布函数','Location','SouthEast');

xlabel('Exceedance'); ylabel('Probability');

title(['标准化残差序列',num2str(index),'的上尾']);

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_11

for i=1:242

VaRp(i,:)=pPrice(i+T-242)*exp(VaR(i,:));

end

%%

figure

plot(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 预测下限走势图')

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_12

plot(1:242, b(:,s),'go-',x,d,'ro',1:0.25:250,0,'b');

legend('未突破 VaR 预测下限','突破 VaR 预测下限','Location','Best' )

title('基金实际持股收盘价与 VaR 预测下限差额')

xlabel('时间日期')

ylabel('差额');

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_13

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_14

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_15

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_16

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_17

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_18

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_r语言_19

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_20

收益率t分布%QQ图

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_r语言_21

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_22

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_23

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_24

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_25

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_r语言_26

N225收益率平方自相关图和偏相关图

MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_拟合_27


MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合_数据_28