FRM模型十二:极值理论

article/2024/4/12 17:34:28

目录

  • 极值理论介绍
    • 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.ngui.cc/article/show-1927719.html

相关文章

SpringCloud搭建微服务之Consul服务配置

1. 概述 前面有介绍过Consul既可以用于服务注册和发现&#xff0c;也可以用于服务配置&#xff0c;本文主要介绍如何使用Consul实现微服务的配置中心&#xff0c;有需要了解如何安装Consul的小伙伴&#xff0c;请查阅SpringCloud搭建微服务之Consul服务注册与发现 &#xff0c…

vue3中实现elementPlus表格选中行的上移下移

先看效果&#xff1a; 实现步骤&#xff1a; 1、给el-table添加current-change事件、高亮属性及ref属性 2、给上移下移按钮添加事件 // 定义当前选中的行参数 const currentRow ref<any>(null); // 定义表格的ref const singleTableRef ref(); // 行选中事件 const ha…

【三维重建】【SLAM】SplaTAM:基于3D高斯的密集RGB-D SLAM

题目&#xff1a;SplaTAM: Splat, Track & Map 3D Gaussians for Dense RGB-D SLAM 地址&#xff1a;spla-tam.github.io 机构&#xff1a;CMU&#xff08;卡内基梅隆大学&#xff09;、MIT&#xff08;美国麻省理工&#xff09; 总结&#xff1a;SplaTAM&#xff0c;一个新…

three 层级模型

group.remove(mesh1,mesh2);Vector3与模型位置、缩放属性 Group层级模型(树结构) 创建了两个网格模型mesh1、mesh2&#xff0c;通过THREE.Group类创建一个组对象group,然后通过add方法把网格模型mesh1、mesh2作为设置为组对象group的子对象&#xff0c;然后在通过执行scene.a…

详解UDP/TCP套接字

详解UDP/TCP套接字 预备知识 理解源IP地址和目的IP地址 在IP数据包头部中, 有两个IP地址, 分别叫做源IP地址, 和目的IP地址 源IP地址&#xff1a;发送主机的IP地址。目的IP地址&#xff1a;接收主机的IP地址。 认识端口号 端口号(port)是传输层协议的内容. 端口号是一个…

Python 操作数据结构队列 queue和 双端队列 deque

“”" 队列&#xff08;Queue&#xff09;和双端队列&#xff08;Deque, Double-ended Queue&#xff09;都是线性数据结构&#xff0c;但它们在操作上有所不同&#xff1a; 队列&#xff08;Queue&#xff09;&#xff1a; 队列遵循先进先出&#xff08;FIFO, First-In…

地图可视化绘制 | R-cartography 艺术地图绘制

本期推文我们介绍一个可以绘制颇具“艺术”风格地图的可视化包-cartography&#xff0c;主要涉及的内容如下&#xff1a; R-cartography 简介 R-cartography 实例应用 所有完整代码都已整理之我们的线上课程&#xff0c;有需要的同学v yidianshuyulove 咨询 R-cartography …

qt 基于百度API的人脸识别

百度云官网&#xff1a;点击跳转 一、创建应用 跳转进去&#xff0c;可以看到以下界面&#xff1a; 点击红色圈内的“去创建”&#xff0c;创建自己的项目。可以看到以下界面&#xff1a; 输入“应用名称”&#xff0c;并勾选“人脸对比”&#xff0c;还要到页面的最后输入“应…

能源管理师的工作内容

能源管理师是从事能源利用(应用、消费)的计量、统计、评估、监督、监测、审计规划、设计以及能源利用设备的使用、运行、维护、应用管理等有关节能管理与应用的职业岗位的人员。 能源管理师包括能源管理者和能源管理员。能源管理师是各用能单位节能工作的贯彻者与执行者&#x…

代码随想录算法训练营第47天| 198.打家劫舍、213.打家劫舍II、337.打家劫舍III

198.打家劫舍 完成 思路&#xff1a; 本题中&#xff0c;偷与不偷一个房间&#xff0c;与前两个房间的状态是相关的&#xff0c;可以用动态规划解题。 dp[i]代表能从0-i房间偷取的最大金额。 对于每个房间而言&#xff0c;都有偷和不偷两种选择。如果偷这个房间&#xff0c;…