首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合

MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合

作者头像
拓端
发布2025-01-07 09:49:20
发布2025-01-07 09:49:20
17300
代码可运行
举报
文章被收录于专栏:拓端tecdat拓端tecdat
运行总次数:0
代码可运行

对VaR计算方法的改进,以更好的度量开放式基金的风险。本项目把基金所持股票看成是一个投资组合,引入Copula来描述多只股票间的非线性相关性,构建多元GARCH-EVT-Copula模型来度量开放式基金的风险,并与其他VaR估计方法的预测结果进行比较

其次是将VaR引入到基金业绩评价中,构造RAROC指标来评价基金业绩,检验该评价指标的可行性。

GARCH-EVT-Copula 模型

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

Copula 函数参数估计

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

GARCH-EVT-Copula 模型计算 VaR

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

读取数据

代码语言:javascript
代码运行次数:0
运行
复制
[NUM,TXT,RAW]=xlsread('data')

Data=NUM

function [ output_args ] = GEC( input_args )

建立 GARCH 模型

代码语言:javascript
代码运行次数:0
运行
复制
nIndices = size(Data,2); % # 基金数量

spec(1:nIndices) = garchset('Distribution' , 'T' , 'Display', 'off', ...

'VarianceModel', 'GJR', 'P', 1, 'Q', 1, 'R', 1);%对每只基金设置garch模型的

残差自相关性检验

代码语言:javascript
代码运行次数:0
运行
复制
%残差自相关性检验

figure, subplot(2,1,1)

plot(residuals(:,1))

xlabel('时间'), ylabel('残差'), title ('N225收益率残差')

根据 FHS 提取标准化残差

代码语言:javascript
代码运行次数:0
运行
复制
title('N225标准化残差自相关图')

subplot(2,1,2)

autocorr(residuals(:,1).^2)
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2025-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 拓端数据部落 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • GARCH-EVT-Copula 模型
  • Copula 函数参数估计
  • GARCH-EVT-Copula 模型计算 VaR
  • 读取数据
  • 建立 GARCH 模型
    • 残差自相关性检验
  • 根据 FHS 提取标准化残差
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档