MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk)

news2024/11/21 20:48:57

MATLAB实现GARCH(广义自回归条件异方差)模型计算VaR(Value at Risk)

1.计算模型介绍

使用GARCH(广义自回归条件异方差)模型计算VaR(风险价值)时,方差法是一个常用的方法。GARCH模型能够捕捉到金融时间序列数据中的波动聚集性,即大的波动往往伴随着大的波动,小的波动往往伴随着小的波动。这种特性使得GARCH模型在风险管理中具有广泛的应用。

GARCH模型下的VaR计算通常涉及以下步骤:

(1)建立GARCH模型:

需要确定GARCH模型的阶数,这通常通过分析数据的自相关性和偏自相关性来完成。

然后,使用历史数据来估计GARCH模型的参数。

(2)预测波动率:

利用估计好的GARCH模型,可以预测未来一段时间的波动率。

波动率是衡量资产价格变动幅度的一个重要指标,它反映了资产价格的不确定性。

(3)计算VaR:

在得到了未来波动率的预测值后,可以使用VaR的计算公式来估计潜在的风险损失。

VaR的计算公式通常表示为:VaR = -P × Z × σ,其中P是资产的价值,Z是置信水平对应的分位数(例如,在95%的置信水平下,Z通常取1.645,这是基于正态分布的近似值),σ是预测的波动率。如果不乘以资产价格P, 得到的VaR是比例。

2. MATLAB代码
clc;close all;clear all;warning off;% clear all

rand('seed', 100);

randn('seed', 100);

format long g;

pricemat = [100, 101, 102, 99, 98, 100, 103, 105, 104, 102,105,106,106,108.5,103,110,112,135,100,111,112,113,95,96,96,98]';% 价格数据

returnmat = (pricemat(2:end)-pricemat(1:end-1)) ./ pricemat(1:end-1);% 计算收益率

% 设置garch模型

model1=garch('GARCHLags',1,'ARCHLags',1,'Distribution','Gaussian');% 设置garch(p,q)模型 正态分布

[model1,bb]=estimate(model1,returnmat);%估计该模型的参数 res是时间序列,为列向量

ht = infer(model1,returnmat);% 计算对应的条件方差

vF1 = forecast(model1,5,'Y0',returnmat);% 预测

[v,y_pre] = simulate(model1,length(returnmat));

confidence_level=0.90;% 置信水平

Zc=norminv(confidence_level,0,1);% 对应置信水平

VaR=Zc.*sqrt(ht);% 计算VaR VaR = -Zc × σ,其中Zc是置信水平对应的分位数,σ是预测的波动率

VaR

%

%% 绘图

figure;

plot(VaR,'b.-','linewidth',1);

legend({'VaR'},'fontname','宋体');

xlabel('日期','fontname','宋体');

ylabel('VaR(比例)','fontname','宋体');

title('VaR','fontname','宋体');

3.程序结果

    GARCH(1,1) Conditional Variance Model:

    ----------------------------------------

    Conditional Probability Distribution: Gaussian

                                  Standard          t    

     Parameter       Value          Error       Statistic

    -----------   -----------   ------------   -----------

     Constant    0.000685012   0.000598346        1.14484

     GARCH{1}       0.464416      0.211764        2.19308

      ARCH{1}       0.535584      0.462277        1.15858

VaR =

         0.107846021315506

        0.0813296872988432

        0.0654458648371772

        0.0622506064634835

        0.0549041830358687

        0.0537714791530977

        0.0570921236788682

        0.0545019945385363

        0.0508366217176573

        0.0514836920397382

         0.055829537347057

        0.0515013106538324

        0.0485474473133594

        0.0520470720278667

        0.0681424847286693

        0.0856987471245208

        0.0694739436633069

         0.201151576498066

         0.281142023268773

         0.220173500596007

         0.153979304489929

         0.110482088483556

         0.170626840986189

         0.121421937427502

        0.0892863901640001

>>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2244873.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Neo4j下载及其Cypher语法介绍

1.部署安装 Neo4j支持众多平台的部署安装,如:Windows、Mac、Linux等系统。Neo4j是基于Java平台的,所以部署安装前先保证已经安装了Java虚拟机。 在神领物流项目中,我们采用docker的方式进行安装。安装命令如下: dock…

【Redis】实现点赞功能

一、实现笔记点赞 使用redis实现点赞功能,对于一个笔记来说,不同用户只能是点赞和没点赞,点赞过的笔记再点击就应该取消点赞,所以实际上根据需求,我们只需要将点赞的数据存到对应的笔记里,查看对应的笔记相…

开源TTS语音克隆神器GPT-SoVITS_V2版本地整合包部署与远程使用生成音频

文章目录 前言1.GPT-SoVITS V2下载2.本地运行GPT-SoVITS V23.简单使用演示4.安装内网穿透工具4.1 创建远程连接公网地址 5. 固定远程访问公网地址 前言 本文主要介绍如何在Windows系统电脑使用整合包一键部署开源TTS语音克隆神器GPT-SoVITS,并结合cpolar内网穿透工…

【Pytorch】torch.utils.data模块

torch.utils.data模块主要用于进行数据集处理,是常用的一个包。在构建数据集的过程中经常会用到。要使用data函数必须先导入: from torch.utils import data 下面介绍几个经常使用到的类。 torch.utils.data.DataLoader DataLoader(dataset, batch_…

XGBOOST、LightGBM、CATBoost

本文介绍几种不同的 GBDT 优化算法: XGBoost XGBoost 对损失函数展开二阶导,使得提升树能逼近真是损失,增加正则项防止过拟合,XGBoost 公式: L( y i y_i yi​, y ^ i \hat{y}_i y^​i​): 损失函数 Ω ( f k ) \Ome…

论文阅读 SimpleNet: A Simple Network for Image Anomaly Detection and Localization

SimpleNet: A Simple Network for Image Anomaly Detection and Localization 摘要: 该论文提出了一个简单且应用友好的网络(称为 SimpleNet)来检测和定位异常。SimpleNet 由四个组件组成:(1)一个预先训练的…

多线程4:线程池、并发、并行、综合案例-抢红包游戏

欢迎来到“雪碧聊技术”CSDN博客! 在这里,您将踏入一个专注于Java开发技术的知识殿堂。无论您是Java编程的初学者,还是具有一定经验的开发者,相信我的博客都能为您提供宝贵的学习资源和实用技巧。作为您的技术向导,我将…

Java数据库连接(Java Database Connectivity,JDBC)

1.JDBC介绍 Java数据库连接(Java Database Connectivity,JDBC)是SUN公司为了简化、统一对数据库的操作,定义的一套Java操作数据库的规范(接口)。这套接口由数据库厂商去实现,这样,开…

高亮变色显示文本中的关键字

效果 第一步:按如下所示代码创建一个用来高亮显示文本的工具类: public class KeywordUtil {/*** 单个关键字高亮变色* param color 变化的色值* param text 文字* param keyword 文字中的关键字* return*/public static SpannableString highLigh…

2024强化学习的结构化剪枝模型RL-Pruner原理及实践

[2024] RL-Pruner: Structured Pruning Using Reinforcement Learning for CNN Compression and Acceleration 目录 [2024] RL-Pruner: Structured Pruning Using Reinforcement Learning for CNN Compression and Acceleration一、论文说明二、原理三、实验与分析1、环境配置在…

电脑超频是什么意思?超频的好处和坏处

嗨,亲爱的小伙伴!你是否曾经听说过电脑超频?在电脑爱好者的圈子里,这个词似乎非常熟悉,但对很多普通用户来说,它可能还是一个神秘而陌生的存在。 今天,我将带你揭开超频的神秘面纱,…

uniapp: vite配置rollup-plugin-visualizer进行小程序依赖可视化分析减少vender.js大小

一、前言 在之前文章《uniapp: 微信小程序包体积超过2M的优化方法(主包从2.7M优化到1.5M以内)》中,提到了6种优化小程序包体积的方法,但并没有涉及如何分析common/vender.js这个文件的优化,而这个文件的大小通常情况下…

SQL Server Management Studio 的JDBC驱动程序和IDEA 连接

一、数据库准备 (一)启用 TCP/IP 协议 操作入口 首先,我们要找到 SQL Server 配置管理器,操作路径为:通过 “此电脑” 右键选择 “管理”,在弹出的 “计算机管理” 窗口中,找到 “服务和应用程…

STM32F103系统时钟配置

时钟是单片机运行的基础,时钟信号推动单片机内各个部分执行相应的指令。时钟系统就是CPU的脉搏,决定CPU速率,像人的心跳一样 只有有了心跳,人才能做其他的事情,而单片机有了时钟,才能够运行执行指令&#x…

鸿蒙进阶篇-Math、Date

“在科技的浪潮中,鸿蒙操作系统宛如一颗璀璨的新星,引领着创新的方向。作为鸿蒙开天组,今天我们将一同踏上鸿蒙基础的探索之旅,为您揭开这一神奇系统的神秘面纱。” 各位小伙伴们我们又见面了,我就是鸿蒙开天组,下面让我们进入今…

RAID存储技术 详解

RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)是一种将多个物理硬盘组合为一个逻辑存储单元的技术。它通过分布数据、冗余校验和容错能力,提高存储系统的性能、可靠性和容量利用率。 以下从底层原理和源代码层面…

MTK主板定制_联发科主板_MTK8766/MTK8768/MTK8788安卓主板方案

主流市场上的MTK主板通常采用联发科的多种芯片平台,如MT8766、MT6765、MT6762、MT8768和MT8788等。这些芯片基于64位Cortex-A73/A53架构,提供四核或八核配置,主频可达2.1GHz,赋予设备卓越的计算与处理能力。芯片采用12纳米制程工艺…

免费微调自己的大模型(llama-factory微调llama3.1-8b)

目录 1. 名词/工具解释2. 微调过程3. 总结 本文主要介绍通过llama-factory框架,使用Lora微调方法,微调meta开源的llama3.1-8b模型,平台使用的是趋动云GPU算力资源。 微调已经经过预训练的大模型目的是,通过调整模型参数和不断优化…

MySQL 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?

MySQL中的InnoDB存储引擎支持四种事务隔离级别,这些级别定义了事务在并发环境中的行为和相互之间的可见性。以下是这四种隔离级别的名称以及它们之间的区别: 读未提交(Read Uncommitted) 特点:这是最低的隔离级别&…

【YOLOv10改进[注意力]】引入并行分块注意力PPA(2024.3.16) + 适于微小目标

本文将进行在YOLOv10中引入并行分块注意力PPA魔改v10 的实践,文中含全部代码、详细修改方式。助您轻松理解改进的方法。 一 HCF 论文题目:Hierarchica