首页 > 其他分享 >MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合|附代码数据

MATLAB用GARCH-EVT-Copula极值理论模型VaR预测分析股票投资组合|附代码数据

时间:2023-07-19 23:44:33浏览次数:39  
标签:模型 残差 Copula MATLAB GARCH VaR 序列

全文链接:http://tecdat.cn/?p=30426

最近我们被客户要求撰写关于GARCH-EVT-Copula的研究报告,包括一些图形和统计输出。

对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值。

 图片

读取数据

图片

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

图片

根据 FHS 提取标准化残差

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

subplot(2,1,2)

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

图片


点击标题查阅往期内容

图片

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))

图片

根据 FHS 提取标准化残差

图片

采用 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),'的上尾']);

图片

 

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

图片

 

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收益率平方自相关图和偏相关图

图片


图片

点击文末 “阅读原文”

获取全文完整代码数据资料。

本文选自《MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合》。

点击标题查阅往期内容

R语言使用多元AR-GARCH模型衡量市场风险
R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模拟可视化R语言单变量和多变量(多元)动态条件相关系数DCC-GARCH模型分析股票收益率金融时间序列数据波动率
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
GARCH-DCC模型和DCC(MVT)建模估计
R语言预测期货波动率的实现:ARCH与HAR-RV与GARCH,ARFIMA模型比较
ARIMA、GARCH 和 VAR模型估计、预测ts 和 xts格式时间序列
PYTHON用GARCH、离散随机波动率模型DSV模拟估计股票收益时间序列与蒙特卡洛可视化
极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Garch波动率预测的区制转移交易策略
金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言风险价值:ARIMA,GARCH,Delta-normal法滚动估计VaR(Value at Risk)和回测分析股票数据
R语言GARCH建模常用软件包比较、拟合标准普尔SP 500指数波动率时间序列和预测可视化
Python金融时间序列模型ARIMA 和GARCH 在股票市场预测应用
MATLAB用GARCH模型对股票市场收益率时间序列波动的拟合与预测
R语言极值理论 EVT、POT超阈值、GARCH 模型分析股票指数VaR、条件CVaR:多元化投资组合预测风险测度分析
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言ARIMA-GARCH波动率模型预测股票市场苹果公司日收益率时间序列
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
R语言时间序列GARCH模型分析股市波动率
R语言ARMA-EGARCH模型、集成预测算法对SPX实际波动率进行预测
matlab实现MCMC的马尔可夫转换ARMA - GARCH模型估计
Python使用GARCH,EGARCH,GJR-GARCH模型和蒙特卡洛模拟进行股价预测
使用R语言对S&P500股票指数进行ARIMA + GARCH交易策略
R语言用多元ARMA,GARCH ,EWMA, ETS,随机波动率SV模型对金融时间序列数据建模
R语言股票市场指数:ARMA-GARCH模型和对数收益率数据探索性分析
R语言多元Copula GARCH 模型时间序列预测
R语言使用多元AR-GARCH模型衡量市场风险
R语言中的时间序列分析模型:ARIMA-ARCH / GARCH模型分析股票价格
R语言用Garch模型和回归模型对股票价格分析
GARCH(1,1),MA以及历史模拟法的VaR比较
matlab估计arma garch 条件均值和方差模型

标签:模型,残差,Copula,MATLAB,GARCH,VaR,序列
From: https://www.cnblogs.com/tecdat/p/17567106.html

相关文章

  • m根据给定系统传递函数自动绘制系统结构图matlab仿真,包括直接型,级联型以及并联型
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要在控制系统分析和设计过程中,传递函数是一个重要的概念。通过传递函数,我们可以快速地分析系统的稳定性、响应特性等。同时,根据系统传递函数自动绘制系统结构图是一项非常有价值的技术,它可以帮助工程师更好地理......
  • m基于合成指纹的数字信息隐藏和提取matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要随着互联网和数字化技术的快速发展,数字信息的保护和安全已经成为了一个严峻的问题。数字信息隐藏技术是一种将敏感信息嵌入到其他无关信息中的技术,以此来保护信息的安全。其中,基于合成指纹的数字信息隐藏技术是一......
  • m根据给定系统传递函数自动绘制系统结构图matlab仿真,包括直接型,级联型以及并联型
    1.算法仿真效果matlab2022a仿真结果如下:   2.算法涉及理论知识概要         在控制系统分析和设计过程中,传递函数是一个重要的概念。通过传递函数,我们可以快速地分析系统的稳定性、响应特性等。同时,根据系统传递函数自动绘制系统结构图是一项非常有价值的技......
  • m基于合成指纹的数字信息隐藏和提取matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:        2.算法涉及理论知识概要        随着互联网和数字化技术的快速发展,数字信息的保护和安全已经成为了一个严峻的问题。数字信息隐藏技术是一种将敏感信息嵌入到其他无关信息中的技术,以此来保护信息的......
  • m基于虚拟力优化算法的二维室内红外传感器部署策略matlab仿真
    1.算法仿真效果matlab2022a仿真结果如下:    2.算法涉及理论知识概要        红外传感器在室内环境监测、安防、智能控制等领域中得到了广泛应用。在室内部署红外传感器时,其位置的选择对于传感器的性能和信号质量有着至关重要的影响。因此,如何确定红外传感器......
  • 向量自回归(VAR)模型分析消费者价格指数 (CPI) 和失业率时间序列|附代码数据
    原文链接:http://tecdat.cn/?p=24365最近我们被客户要求撰写关于向量自回归(VAR)模型的研究报告,包括一些图形和统计输出。var对象指定了p阶平稳的多变量向量自回归模型(VAR(p))模型的函数形式并存储了参数值 ( 点击文末“阅读原文”获取完整代码数据******** )。描述varm 对象的......
  • R语言GARCH模型对股市sp500收益率bootstrap、滚动估计预测VaR、拟合诊断和蒙特卡罗模
    原文链接:http://tecdat.cn/?p=26271最近我们被客户要求撰写关于GARCH的研究报告,包括一些图形和统计输出。Box等人的开创性工作(1994)在自回归移动平均模型领域的相关工作为波动率建模领域的相关工作铺平了道路,分别由Engle(1982)和Bollerslev(1986)引入了ARCH和GARCH......
  • SQL Server中数据类型之char、nchar、varchar、nvarchar的用法
    char数据类型char数据类型是固定长度的非unicode字符数据,如果是英文字符,占用1个字节,如果是汉字,占用2个字节。列如:char(10),可以存10个英文字母,5个汉字。char数据类型存储固定长度数据很方便,char字段上的索引效率极高,比如定义char(10),那么不论你存储的数据是否达到了10个字节......
  • 万年历matlab算法,万年历算法(万年历算法和分析)[通俗易懂]
    万年历matlab算法,万年历算法(万年历算法和分析)[通俗易懂]发布于 2022-07-2213:47:314460举报大家好,又见面了,我是你们的朋友全栈君。年历的计算方法:关键是求出当年1月1日是星期几。书上给出了当年份Y>。用蔡勒(Zeller)公式即w=y+[y/4]+[c/4]-2c+[26......
  • VMvare去虚拟化--cpu id
    安装好虚拟机之后,有机打开虚拟机目录找到(.vmx)文件,右键记事本打开,粘贴如下代码cpuid.1.edx=00010111100010111111101111111111cpuid.80000000.0.ebx="0111:0101:0110:1110:0110:0101:0100:0111"cpuid.80000000.0.ecx="0110:1100:0110:0101:0111:0100:0110:1110"cpuid.80000......