FRM模型十二:极值理论

news2024/11/18 23:44:14

目录

  • 极值理论介绍
    • GEV
    • POT
  • 代码实现

极值理论介绍

在风险管理中,将事件分为高频高损、高频低损、低频高损、低频低损。其中低频高损是一种非常棘手的损失事件,常出现在市场大跌、金融体系崩溃、金融危机以及自然灾害等事件中。

由于很难给极端事件一个准确的定义,所以可观测的历史数据非常少。这种问题不仅仅出现在风险管理领域,在其他行业也很普遍。

极值理论(Extreme-value theory )是统计学的一种专门用于研究随机变量分布的极端尾部行为。与一般的中心趋势型统计方法不同,中心趋势性统计方法核心是中心极限定理,但是极端值无法应用中心极限定理(中心极限定理假设样本数量足够大时服从正态分布)。

GEV

假设一个随机损失变量X是独立同分布的(iid)。从F(x)中抽取的一个样本大小为n,且该样本的最大值为M(如果n很大,我们可以把M看作一个极值)。根据Fisher-Tippett定理,当n变大时,极值(即Mn)的分布收敛到下面的广义极值(GEV)分布

其中
μ \mu μ:极端值的平均数

σ \sigma σ:极端值的标准差

ϵ \epsilon ϵ:形状参数,描述极值分布的尾部形状

ϵ > 0 \epsilon>0 ϵ>0,服从Frechet分布,呈现出肥尾的特点。比如t分布,帕累托分布。
ϵ = 0 \epsilon=0 ϵ=0,服从Gumbel分布,呈现出指数型尾部,尾部相对瘦(light)。比如正态分布,对数正态分布。
ϵ < 0 \epsilon<0 ϵ<0,服从Weibull分布,呈现出比正态分布尾部更瘦的形态。该分布尤其不适用在金融实证中,由于金融数据一般呈现肥尾的特点。
在这里插入图片描述

POT

GEV在实际应用中可能会漏掉极值点,POT在此基础上进行改良,先设定一个阈值(threshold),超过阈值的损失分布服从POT分布,这种方法比GEV方法需要更少的参数。
在这里插入图片描述
β \beta β:规模参数

ϵ \epsilon ϵ:形状参数,描述极值分布的尾部形状

由此可推导VaR和ES的计算方法:
V a R = μ + β ϵ { [ n N u ( 1 − α ) − ϵ ] − 1 } VaR=\mu+\frac{\beta}{\epsilon}\{[\frac{n}{N_{u}}(1-\alpha)^{-\epsilon}]-1\} VaR=μ+ϵβ{[Nun(1α)ϵ]1}
E S = V a R 1 − ϵ + β − ϵ μ 1 − ϵ ES = \frac{VaR}{1-\epsilon}+\frac{\beta-\epsilon\mu}{1-\epsilon} ES=1ϵVaR+1ϵβϵμ

代码实现

from prettytable import PrettyTable
import numpy as np
import akshare as ak
from scipy.stats import genextreme as gev
from scipy.stats import genpareto as pot


# 利用akshare读取股票收益序列
stock = ak.stock_zh_a_hist(symbol='000001', period="daily", start_date="20071012", end_date='20081012', adjust="")
price = stock['收盘']

# GEV
c, loc, scale = gev.fit(price[price < np.percentile(price, 5)])
confidence_level = 0.95
VaR_gev = gev.ppf(confidence_level, c, loc, scale)

# POT
threshold = 17
choose = price[price < threshold]
c, beta, epsilon = pot.fit(choose)
n = float(len(price))
nu = float(len(choose))
VaR_POT = choose.mean() + beta/epsilon * ((n / nu * (confidence_level ** (-float(epsilon)))) - 1)

# print
VaR = PrettyTable(['Tool', 'VaR'])
VaR.add_row(['GEV', round(VaR_gev, 4)])
VaR.add_row(['POT', round(VaR_POT, 4)])
print(VaR.get_string(title="GEV VaR"))

输出结果:
在这里插入图片描述

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

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

相关文章

如何解决局域网tcp延迟高来进行安全快速内外网传输呢?

在当今企业运营中&#xff0c;数据的快速流通变得至关重要&#xff0c;但局域网内的TCP延迟问题却成为了数据传输的障碍。本文旨在分析局域网TCP延迟的成因&#xff0c;并探讨几种企业数据传输的常见模式&#xff0c;以及如何为企业选择合适的传输策略&#xff0c;以确保数据在…

简单求和计算器

其实对于计算器的写法在C语言阶段就已经有了&#xff0c;但是&#xff0c;在目前阶段《前后端交互》&#xff0c;这算是一种全新的写法&#xff0c;毕竟将数据从前端返回给后端&#xff0c;然后再将数据返回给前端&#xff0c;都涉及到一些参数的交互&#xff0c;值得我们学习深…

[CISCN2019 华北赛区 Day2 Web1]Hack World 1 题目分析与详解

一、分析判断 进入靶机&#xff0c;主页面如图&#xff1a; 主页面提供给我们一条关键信息&#xff1a; flag值在 表flag 中的 flag列 中。 接着我们尝试输入不同的id&#xff0c;情况分别如图&#xff1a; 当id1时&#xff1a; 当id2时&#xff1a; 当id3时&#xff1a; 我…

博弈论---Nim游戏(公平组合游戏,概念,证明异或为0就是必败态,示例)

目录 概念&#xff1a; 公平组合游戏ICG 有向图游戏 Nim游戏 先手&#xff09;必胜状态 先手&#xff09;必败状态 如何确定先手是否必胜或者必败&#xff08;都采用最优策略&#xff09; 证明&#xff1a;全部异或为0则是必败状态 综上&#xff1a; 例子 概念&#…

OJ_二叉树已知先序遍历序列(有空叶子)求中序遍历序列

题干 C实现 #define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #include<vector> using namespace std;struct TreeNode {char data;TreeNode* left;TreeNode* right; };TreeNode* RecursiveBuildTree(int& i, char str[]) {char c str[i];i;if (c #) {re…

红队基础设施建设

文章目录 一、ATT&CK二、T1583 获取基础架构2.1 匿名网络2.2 专用设备2.3 渗透测试虚拟机 三、T1588.002 C23.1 开源/商用 C23.1.1 C2 调研SliverSliver 对比 CS 3.1.2 CS Beacon流量分析流量规避免杀上线 3.1.3 C2 魔改3.1.4 C2 隐匿3.1.5 C2 准入应用场景安装配置说明工具…

【开源】JAVA+Vue.js实现桃花峪滑雪场租赁系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 游客服务2.2 雪场管理 三、数据库设计3.1 教练表3.2 教练聘请表3.3 押金规则表3.4 器材表3.5 滑雪场表3.7 售票表3.8 器材损坏表 四、系统展示五、核心代码5.1 查询教练5.2 教练聘请5.3 查询滑雪场5.4 滑雪场预定5.5 新…

掌握Python操作Word:从基础到高级全覆盖

掌握Python操作Word&#xff1a;从基础到高级全覆盖 引言Python操作Word的基础文档的创建与打开文档的基本操作 创建和打开Word文档创建新的Word文档打开现有文档读取文档内容修改现有文档 编辑文档内容添加和编辑文本设置格式插入标题 处理文档结构操作段落列表的处理表格的操…

Linux Shell脚本练习(三)

1、测试用户名与密码是否正确。 2、输出1-1000内的素数。 3、对 100 以内的所有正整数相加求和(1234...100)。 4、输出9*9 乘法表。 5、编写脚本,显示进度条。 、 6、输入三个数并进行升序排序

Linux-nginx服务

一.Nginx概述 1.定义 一款高新能、轻量级Web服务软件 系统资源消耗低 对HTTP并发连接的处理能力高 单台物理服务器可支持30 000&#xff5e;50 000个并发请求。 2.Nginx模块作用 &#xff08;1&#xff09;main模块 全局配置模块&#xff0c;所有模块都要执行遵守&#xf…

Mac 制作可引导安装器

Mac 使用U盘或移动固态硬盘制作可引导安装器&#xff08;以 Monterey 为例&#xff09; 本教程参考 Apple 官网相关教程 创建可引导 Mac OS 安装器 重新安装 Mac OS 相关名词解释 磁盘分区会将其划分为多个单独的部分&#xff0c;称为分区。分区也称为容器&#xff0c;不同容器…

前端 JS 经典:Content-type 详解

1. 什么是 Content-Type Content-Type 是 HTTP 协议中的一个请求头或响应头字段&#xff0c;用于指示发送或接收的实体的媒体类型&#xff0c;告诉服务器或客户端如何解析和处理请求或响应的主体部分。 2. Content-Type 的构成 Content-Type 由两部分组成&#xff1a;媒体类型…

大数据可视化python01

import pandas as pd import matplotlib.pyplot as plt# 设置中文改写字体 plt.rcParams[font.sans-serif] [SimHei]# 读取数据 data pd.read_csv(C:/Users/wzf/Desktop/读取数据进行数据可视化练习/实训作业练习/瓜果类单位面积产量.csv ,encoding utf-8)#输出 print(data)…

高精度加法和动态规划综合运用

高精度加法的原理与手工相加类似&#xff0c;只是在计算时需要考虑到进位和处理较大的数字。下面是实现高精度加法的基本原理&#xff1a; 表示数字&#xff1a; 高精度加法通常通过字符串来表示数字&#xff0c;因为字符串没有固定长度限制&#xff0c;可以容纳任意大的数字。…

【tableau学习笔记】tableau无法连接数据源

【tableau学习笔记】tableau无法连接数据源 背景&#xff1a; 学校讲到Tableau&#xff0c;兴奋下载Kaggle Excel&#xff0c;一看后缀CSV&#xff0c;导入Tableau发现报错“tableau无法连接数据源”&#xff0c;自作聪明改为后缀XLSX&#xff0c;bug依旧。 省流&#xff1a…

Docker容器(3)单容器管理与

一、单容器 1.1概念简介 Docker三个重要概念: 仓库(Repository); 镜像(Image); 容器(Container). *Docker的三个重要概念是仓库(Repository)、镜像(Image)和容器(Container)**。具体如下&#xff1a; **镜像(Image)**&#xff1a;Docker镜像是创建容器的基础&#xff0c;它类似…

冒泡、插入、希尔、选择、堆排序、快速排序(附源码)

目录 插入排序&#xff1a; 核心思想&#xff1a; 时间复杂度&#xff1a; 冒泡排序&#xff1a; 核心思想&#xff1a; 时间复杂度&#xff1a; 希尔排序&#xff1a; 核心思想&#xff1a; 时间复杂度&#xff1a; 选择排序&#xff1a; 核心思想&#xff1a; 时间…

Ubuntu上Jenkins自动化部署Gitee上VUE项目

文章目录 1.安装NodeJS插件2.配置全局工具配置-NodeJS环境变量3.新建自由风格的软件项目任务4.配置General配置丢弃旧的构建配置参数化构建过程 5.配置源码管理6.构建触发器7.设置构建环境8.配置构建步骤9.配置构建后操作10测试构建 前文链接&#xff1a; Ubuntu上Jenkins自动…

AI、AIGC、AGI、ChatGPT它们的区别?

今天咱们聊点热门话题&#xff0c;来点科普时间——AI、AIGC、AGI和ChatGPT到底是啥&#xff1f;这几个词听起来好像挺神秘的&#xff0c;但其实它们就在我们生活中。让我们一起探索这些术语的奥秘&#xff01; AI&#xff08;人工智能&#xff09;&#xff1a;先说说AI&#…

spring security oauth2 之GitHub应用注册

前言&#xff1a; 要想使用spring security oauth2 来实现GitHub授权登录&#xff0c;就必须先要有一个GitHub的应用。如果使用gitee也是同理。本文介绍如果注册GitHub应用。 step1:进入到注册应用的页面 注册地址&#xff1a;Sign in to GitHub GitHub step2:填写信息 图中…