极值理论

Python 中的定量风险管理

Jamsheed Shorish

Computational Economist

极端值

  • 组合损失:极端值
  • 超出 VaR 阈值的极端事件示意图
  • 极端值:来自分布尾部
    • 尾部损失:超过某一阈值的损失
    • 建模尾部损失 => 更好的风险管理
  • 尾部风险与 VaR 示意图
Python 中的定量风险管理

极值理论

  • 极值理论:极端值的统计分布
  • 分块极大值

从 0 到 T 的线段区间

Python 中的定量风险管理

极值理论

  • 极值理论:极端值的统计分布
  • 分块极大值
    • 将周期拆分为子周期

从 0 到 T 被分成子区间的线段

Python 中的定量风险管理

极值理论

  • 极值理论:极端值的统计分布
  • 分块极大值
    • 将周期拆分为子周期
    • 每个子周期形成一个"块"

显示分块的线段区间

Python 中的定量风险管理

极值理论

  • 极值理论:极端值的统计分布
  • 分块极大值
    • 将周期拆分为子周期
    • 每个子周期形成一个"块"
    • 块极大值的集合 = 数据集
  • 超阈值法(POT):
    • 找到超过给定阈值的所有损失
    • 这些损失的集合 = 数据集

带有分块及每块最大损失的区间

Python 中的定量风险管理

广义极值分布

  • 示例:2007—2009 的分块极大值

    • 以所需周期重采样损失(如每周)
      maxima = losses.resample("W").max()
      
  • 广义极值分布(GEV)

    • 描述数据的"极大值"分布
    • 例:用 scipy.stats.genextreme 做参数估计
      from scipy.stats import genextreme
      params = genextreme.fit(maxima)
      
Python 中的定量风险管理

从 GEV 计算 VaR 与 CVaR

  • 基于 GEV 的99% VaR
    • .ppf()(分位点函数)求 99% VaR
    • 需使用拟合 GEV 的 params
    • 得到一周期内 99% 置信的最大损失
  • 基于 GEV 的99% CVaR
    • CVaR 是在 VaR 为最小损失条件下的损失期望
    • .expect() 求期望值
VaR_99 = genextreme.ppf(0.99, *params)
CVar_99 = ( 1 / (1 - 0.99) ) * genextreme.expect(lambda x: x, *params, lb = VaR_99)
Python 中的定量风险管理

覆盖损失

  • 风险管理:覆盖损失
    • 监管要求(银行、保险)
    • 需备足准备金以覆盖损失
      • 指定周期(如一周)
      • 指定置信水平(如 99%)
  • 基于 GEV 的 VaR
    • 估计最大损失
      • 给定周期
      • 给定置信水平
Python 中的定量风险管理

覆盖损失

  • 示例:初始组合价值 = $1,000,000
  • 一周准备金要求,置信度 99%
    • 由 GEV 得到 $\text{VaR}_{99}$:一周内 99% 置信的最大损失
  • 准备金:组合价值 × $\text{VaR}_{99}$
    • 若 $\text{VaR}_{99}$ = 0.10,即最大损失 10%
    • 准备金 = $100,000
  • 组合价值会变 => 准备金随之变
  • 监管 规定更新准备金的频率
Python 中的定量风险管理

Vamos praticar!

Python 中的定量风险管理

Preparing Video For Download...