首页 > 其他分享 >MATLAB用GARCH-EVT-Copula模型VaR预测分析股票投资组合

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

时间:2024-03-14 23:44:37浏览次数:29  
标签:残差 Copula MATLAB GARCH 242 VaR EVT

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

原文出处:拓端数据部落公众号

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

GARCH-EVT-Copula 模型

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

Copula 函数参数估计

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

image.png

GARCH-EVT-Copula 模型计算 VaR

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

读取数据

image.png

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

image.png

根据 FHS 提取标准化残差

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

subplot(2,1,2)

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

image.png

GDAXI

   
%残差自相关性检验

figure, subplot(2,1,1)

plot(residuals(:,2))

image.png

image.png

GSPC

image.png

FCHI

   
%残差自相关性检验

figure, subplot(2,1,1)

plot(residuals(:,4))

image.png

根据 FHS 提取标准化残差

image.png

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

image.png

   

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

image.png

   

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

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

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

xlabel('时间日期')

ylabel('差额');

image.png

image.png

image.png

image.png

QQ截图202211071216503.png

QQ截图202211071216502.png

QQ截图20221107121650.png

image.png

收益率t分布%QQ图

image.png

image.png

image.png

image.png

image.png

image.png

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

image.png


QQ截图20220630000223.png

最受欢迎的见解

1.R语言对S&P500股票指数进行ARIMA + GARCH交易策略

2.R语言改进的股票配对交易策略分析SPY—TLT组合和中国股市投资组合

3.R语言时间序列:ARIMA GARCH模型的交易策略在外汇市场预测应用

4.TMA三均线期指高频交易策略的R语言实现

5.r语言多均线量化策略回测比较

6.用R语言实现神经网络预测股票实例

7.r语言预测波动率的实现:ARCH模型与HAR-RV模型

8.R语言如何做马尔科夫转换模型markov switching model

9.matlab使用Copula仿真优化市场风险

标签:残差,Copula,MATLAB,GARCH,242,VaR,EVT
From: https://www.cnblogs.com/tecdat/p/18074301

相关文章

  • 回归预测 | Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据
    回归预测|Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据回归预测目录回归预测|Matlab实现GSWOA-KELM混合策略改进的鲸鱼优化算法优化核极限学习机的数据回归预测效果一览基本介绍程序设计参考资料效果一览基本介绍GSWOA-KELM多变......
  • MATLAB神经网络——如何自定义属于自己的训练流程
    网络上大部分matlab神经网络训练流程都应用matlab内置的相关训练函数进行训练,如何让matlab神经网络训练过程拥有像pytorch一样的训练过程呢?本文将通过一个案例介绍如何利用matlab自定义自己的训练流程,希望对你有所启迪,让我们开始吧!clear,clc加载并处理原始数据  我们使用......
  • Matlab的录音与播放
    目的:使用matlab生成特定信号,Speaker循环播放这组信号的同时,Microphone启动录音。一、生成一个单频正弦信号clc;clear;closeall;Fs=48000;%采样率为4800Hzf=18000;%正弦波频率为18000Hzt=0:1/Fs:10;%从0到10秒的时间向量y=sin(2*pi*f*t);%生成正弦波信......
  • 基于遗传优化的协同过滤推荐算法matlab仿真
    1.算法运行效果图预览  最后得到推荐的商品ID号:推荐商品的ID号:ans=98381758221911149021490212352247322307123499117901547165501655016550......
  • 反演问题求解:基于MATLAB的反演问题求解算法实现和应用,包括反演问题数值模拟、反演问题
    鱼弦:公众号【红尘灯塔】,CSDN内容合伙人、CSDN新星导师、全栈领域优质创作者 、51CTO(Top红人+专家博主) 、github开源爱好者(go-zero源码二次开发、游戏后端架构https://github.com/Peakchen)基于MATLAB的反演问题求解:原理、应用、实现与分析反演问题是指由间接观测数......
  • R语言风险价值:ARIMA,GARCH模型,Delta-normal法滚动估计,预测VaR(Value at Risk)和回测分析
    原文链接:http://tecdat.cn/?p=24492原文出处:拓端数据部落公众号介绍此分析的目的是帮助客户构建一个过程,以在给定时变波动性的情况下正确估计风险价值。风险价值被广泛用于衡量金融机构的市场风险。我们的时间序列数据包括1258天的股票收益。为了解释每日收益率方差的一小部......
  • 考虑功率均分与电压频率的事件触发分布式二次控制MATLAB模型
    微❤关注“电气仔推送”获得资料(专享优惠)模型简介此模型是在《基于事件触发机制的孤岛微电网二次电压与频率协同控制MATLAB仿真模型》上进一步创作的,之前的模型只考虑了二次电压与频率控制,并没有考虑均分这一项点。因此此模型在事件触发机制的基础上,继续创作了基于事件触发......
  • 【MATLAB源码-第140期】基于matlab的深度学习的两用户NOMA-OFDM系统信道估计仿真,对比L
    操作环境:MATLAB2022a1、算法描述深度学习技术在无线通信领域的应用越来越广泛,特别是在非正交多址接入(NOMA)和正交频分复用(OFDM)系统中,深度学习技术被用来提高信道估计的性能和效率。信道估计是无线通信系统中的关键技术之一,它直接影响着系统的通信质量和可靠性。本文将详细介......
  • 【MATLAB源码-第146期】基于matlab的信源编码仿真GUI,对比霍夫曼编码,算术编码和LZ编码
    操作环境:MATLAB2022a1、算法描述霍夫曼编码、算术编码和LZ编码是三种广泛应用于数据压缩领域的编码技术。它们各自拥有独特的设计哲学、实现方式和适用场景,因此在压缩效率、编解码速度和内存使用等方面表现出不同的特点。接下来详细描述这三种编码技术,并对它们进行比较。......
  • Matlab启动时实现自动切换到自定义的工作目录
    前言因为最近在学习数学建模,正好还需要用到Matlab这个软件来辅助学习。而我每次上课的时候启动我的Matlab都会从我的安装位置打开工作区(在我电脑上是:Z:\Matlab\bin),但是我自己为了整洁,从而新建了一个专门的文件夹来存放我的文件(在我电脑上是:D:\MatlabProject)。这就不得......