Подверженность риску и убытки

Количественное управление рисками на Python

Jamsheed Shorish

Computational Economist

Аналогия с отпуском

  • Бронирование отеля для отпуска

  • Оплата заранее, до заезда

    • Низкая стоимость номера
    • Невозвратная: штраф за отмену = 100% стоимости номера
  • Оплата после заезда

    • Высокая стоимость номера
    • Частично возвратная: штраф за отмену — 20% стоимости номера

Изображение лодки у карибского пляжа

Количественное управление рисками на Python

Выбор между вариантами

  • Что влияет на ваше решение?
    1. Вероятность негативного события: болезнь, сбой поездки, погода
      • Вероятность убытка
    2. Убыток от события: абсолютный или условный
      • напр. VaR, CVaR
    3. Желание избежать события: личное ощущение
      • Риск-толерантность

Мультипликационное изображение трёх детей, больных в постели с термометрами во рту

 

Изображение шкалы риска и денег для управления рисками

Количественное управление рисками на Python

Подверженность риску и VaR

  • Подверженность риску: вероятность убытка x мера убытка
    • Мера убытка: напр. VaR
  • 10% вероятность отмены отпуска: P(болезнь) = 0.10
  • Невозвратная:
    • Полная невозвратная стоимость отеля: € 500
    • VaR при доверительном уровне 90%: € 500
  • Частично возвратная:
    • Стоимость отеля: € 550
    • VaR при доверительном уровне 90%: штраф 20% x € 550 = € 110
Количественное управление рисками на Python

Расчёт подверженности риску

  • Невозвратная подверженность ("$\text{nr}$"):
    • P(болезнь) x $\text{VaR}_{0.90}^{\text{nr}}$ = 0.10 x € 500 = € 50.
  • Частично возвратная подверженность ("$\text{pr}$"):
    • P(болезнь) x $\text{VaR}_{0.90}^{\text{pr}}$ = 0.10 x € 110 = € 11.
  • Разница в подверженности риску: € 50 - € 11 = € 39.
  • Разница в полной стоимости предложений: € 550 - € 500 = € 50.
  • Риск-толерантность: стоит ли платить на € 50 больше, чтобы избежать дополнительной подверженности в € 39?
Количественное управление рисками на Python

Риск-толерантность и риск-аппетит

  • Нейтральный к риску: важны только ожидаемые значения
    • € 39 < € 50 $\Rightarrow$ предпочтительнее невозвратный вариант
  • Несклонный к риску: неопределённость сама по себе несёт издержки
    • € 39 < € 50 $\Rightarrow$ предпочтительнее частично возвратный вариант
  • Корпоративное управление рисками: предпочтения как риск-аппетит
  • Индивидуальные инвесторы: предпочтения как риск-толерантность
Количественное управление рисками на Python

Распределение убытков — дискретное

  • Подверженность риску зависит от распределения убытков (вероятности убытка)
  • Пример с отпуском: 2 исхода случайного фактора риска

Столбчатая диаграмма бинарных убытков на примере отпуска

Количественное управление рисками на Python

Распределение убытков — непрерывное

  • Подверженность риску зависит от распределения убытков (вероятности убытка)
  • Пример с отпуском: 2 исхода случайного фактора риска
  • В общем случае: непрерывное распределение убытков
    • Нормальное распределение: подходит для больших выборок

Изображение непрерывного нормального распределения

Количественное управление рисками на Python

Распределение убытков — непрерывное

  • Подверженность риску зависит от распределения убытков (вероятности убытка)
  • Пример с отпуском: 2 исхода случайного фактора риска
  • В общем случае: непрерывное распределение убытков
    • Нормальное распределение: подходит для больших выборок
    • Распределение Стьюдента: подходит для малых выборок

Изображение непрерывного распределения убытков — T-распределение

Количественное управление рисками на Python

Основы: распределение Стьюдента

  • Также известно как T-распределение
  • «Тяжелее» хвосты, чем у нормального, при малых выборках
    • Аналогично доходности/убыткам портфеля
  • С ростом выборки T-распределение сходится к нормальному

Изображение непрерывного распределения убытков

Количественное управление рисками на Python

T-распределение в Python

  • Пример: вычисление VaR 95% по T-распределению
    • Импортируйте распределение t из scipy.stats
    • Подберите параметры по данным portfolio_loss с помощью t.fit()

 

from scipy.stats import t

params = t.fit(portfolio_losses)

Изображение непрерывного распределения убытков

Количественное управление рисками на Python

T-распределение в Python

  • Пример: вычисление VaR 95% по T-распределению
    • Импортируйте распределение t из scipy.stats
    • Подберите параметры по данным portfolio_loss с помощью t.fit()
    • Вычислите функцию процентных точек с помощью .ppf() для нахождения VaR
from scipy.stats import t

params = t.fit(portfolio_losses)
VaR_95 = t.ppf(0.95, *params)

Изображение непрерывного T-распределения убытков с VaR

Количественное управление рисками на Python

Степени свободы

  • Степени свободы (df): число независимых наблюдений
  • Малые df: T-распределение с «тяжёлыми» хвостами
  • Большие df: нормальное распределение
x = np.linspace(-3, 3, 100)

plt.plot(x, t.pdf(x, df = 2))
plt.plot(x, t.pdf(x, df = 5))
plt.plot(x, t.pdf(x, df = 30))

Изображение T-распределения при 30 степенях свободы

Количественное управление рисками на Python

Давайте потренируемся!

Количественное управление рисками на Python

Preparing Video For Download...