Теорія екстремальних значень

Кількісне управління ризиками в 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

VaR і CVaR з розподілу GEV

  • 99% VaR з розподілу GEV
    • Використайте .ppf() (percent point function), щоб знайти 99% VaR
    • Потрібні params з апроксимованого розподілу GEV
    • Знаходить максимальний збиток за тиждень на рівні довіри 99%
  • 99% CVaR з розподілу GEV
    • 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%)
  • VaR з розподілу GEV:
    • оцінює максимальний збиток
      • за заданий період
      • на заданому рівні довіри
Кількісне управління ризиками в Python

Покриття збитків

  • Приклад: Початкова вартість портфеля = $1,000,000
  • Тижневий резерв на рівні довіри 99%
    • $\text{VaR}_{99}$ з розподілу GEV: максимальний збиток за тиждень при 99% довіри
  • Резерв: Вартість портфеля × $\text{VaR}_{99}$
    • Припустимо, $\text{VaR}_{99}$ = 0.10, тобто 10% максимального збитку
    • Резерв = $100,000
  • Вартість портфеля змінюється => резерв змінюється
  • Регулювання визначає частоту оновлення резерву
Кількісне управління ризиками в Python

Давайте потренуємось!

Кількісне управління ризиками в Python

Preparing Video For Download...