ПочатиПочніть безкоштовно

CVaR і вибір покриття збитків

У попередніх вправах ви бачили, що розподіли T і Gaussian KDE доволі добре описують збитки портфеля за кризовий період. Враховуючи це, який із них кращий для управління ризиками? Один зі способів обрати — вибрати розподіл, що дає найбільше покриття збитків, щоб перекрити «найгірший із найгірших» сценарій втрат.

Розподіли t і kde доступні та підігнані під портфельні losses за 2007–2008 роки (оцінені параметри t збережено в p). Ви виведете одноденну оцінку CVaR на рівні 99% для кожного розподілу; найбільша оцінка CVaR буде „найбезпечнішою" сумою резерву, що покриває очікувані збитки, які перевищують 99% VaR.

Екземпляр kde має спеціальний метод .expect() — лише для цієї вправи — щоб обчислити математичне сподівання, потрібне для CVaR.

Ця вправа є частиною курсу

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

Переглянути курс

Інструкції до вправи

  • Знайдіть 99% VaR за допомогою np.quantile(), застосованої до випадкових вибірок із розподілів t і kde.
  • Обчисліть інтеграл, потрібний для оцінок CVaR, використовуючи метод .expect() для кожного розподілу.
  • Знайдіть і виведіть оцінки 99% CVaR для обох розподілів.

Інтерактивна практична вправа

Спробуйте виконати цю вправу, доповнивши цей зразок коду.

# Find the VaR as a quantile of random samples from the distributions
VaR_99_T   = np.quantile(t.rvs(size=1000, *p), ____)
VaR_99_KDE = np.quantile(kde.resample(size=1000), ____)

# Find the expected tail losses, with lower bounds given by the VaR measures
integral_T   = t.____(lambda x: x, args = (p[0],), loc = p[1], scale = p[2], lb = ____)
integral_KDE = kde.____(lambda x: x, lb = ____)

# Create the 99% CVaR estimates
CVaR_99_T   = (1 / (1 - ____)) * integral_T
CVaR_99_KDE = (1 / (1 - ____)) * integral_KDE

# Display the results
print("99% CVaR for T: ", CVaR_99_T, "; 99% CVaR for KDE: ", CVaR_99_KDE)
Редагувати та запускати код