Структурні розриви

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

Jamsheed Shorish

Computational Economist

Ризик і розподіл

  • Набір інструментів керування ризиками
    • Зниження ризику: MPT
    • Вимірювання ризику: VaR, CVaR
  • Ризик: розсіювання, волатильність
    • Дисперсія (стандартне відхилення) як визначення ризику
  • Зв'язок між ризиком і розподілом факторів ризику як випадкових величин
Кількісне управління ризиками в Python

Стаціонарність

  • Припущення: розподіл сталий у часі
  • Незмінний розподіл = стаціонарний
  • Ефективна межа в період глобальної фінансової кризи
    • _Не_ стаціонарна
  • Оціночні методи потребують стаціонарності
    • Історичний: невідомий стаціонарний розподіл із минулих даних
    • Параметричний: заданий клас стаціонарного розподілу
    • Монте-Карло: заданий стаціонарний розподіл для випадкових вибірок
Кількісне управління ризиками в Python

Структурні розриви

  • Нестаціонарність => розподіл може змінюватися з часом
  • Припустімо певні моменти зміни
    • Розбийте дані на підперіоди
    • У кожному підперіоді припускаємо стаціонарність
  • Структурний розрив(и): точка(и) зміни
    • Зміна «тренду» середнього та/або волатильності даних
Кількісне управління ризиками в Python

Приклад: зростання населення Китаю

  • Розгляньте період 1950–2019
  • Тренд приблизно лінійний...

Графік чисельності населення Китаю в часі, 1950–2019

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

Приклад: зростання населення Китаю

  • Розгляньте період 1950–2019
  • Тренд приблизно лінійний...
  • ...але, схоже, уповільнюється з близько 1990 року
  • Можливий структурний розрив біля 1990-го.
  • Це означає, що розподіл чистого приросту населення (народжуваність − смертність) змінився
  • Можливі причини: державна політика, рівень життя тощо

Графік чисельності населення Китаю з трендовими стрілками, 1950–2019

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

Тест Чоу

  • Попередній приклад: візуальні свідчення структурного розриву
  • Кількісна оцінка: статистичний показник
  • Тест Чоу:
    • Перевірка наявності структурного розриву за лінійної моделі
    • Нульова гіпотеза: розриву немає
    • Потрібні три ОМНК-регресії
      • Регресія для усього періоду
      • Дві регресії, _до_ і після розриву
    • Зібрати суму квадратів залишків
    • Статистика тесту має розподіл F
Кількісне управління ризиками в Python

Тест Чоу в Python

  • Гіпотеза: структурний розрив у 1990 р. для населення Китаю
  • Припустімо лінійну «факторну модель»: $$\log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t$$
  • ОМНК-регресія за допомогою statsmodels's OLS на всьому періоді 1950–2019
    • Отримайте суму квадратів залишків res.ssr
import statsmodels.api as sm
res = sm.OLS(log_pop, year).fit()

print('SSR 1950-2019: ', res.ssr)
SSR 1950-2019: 0.29240576138055463
Кількісне управління ризиками в Python

Тест Чоу в Python

  • Розбийте 1950–2019 на підперіоди 1950–1989 і 1990–2019
  • Виконайте ОМНК-регресії для кожного підперіоду
    • Отримайте res_before.ssr та res_after.ssr
pop_before = log_pop.loc['1950':'1989']; year_before = year.loc['1950':'1989'];
pop_after  = log_pop.loc['1990':'2019']; year_after =  year.loc['1990':'2019'];

res_before = sm.OLS(pop_before, year_before).fit() res_after = sm.OLS(pop_after, year_after).fit()
print('SSR 1950-1989: ', res_before.ssr) print('SSR 1990-2019: ', res_after.ssr)
SSR 1950-1989: 0.011741113017411783
SSR 1990-2019: 0.0013717593339608077
Кількісне управління ризиками в Python

Тест Чоу в Python

  • Обчисліть статистику тесту Чоу з F-розподілом
    • Обчисліть чисельник
      • k = 2 ступені вільності = 2 коефіцієнти ОМНК $\alpha$, $\beta$
    • Обчисліть знаменник
      • 66 ступенів вільності = загальна кількість точок (70) − 2*k
numerator = (ssr_total - (ssr_before + ssr_after)) / 2

denominator = (ssr_before + ssr_after) / 66
chow_test = numerator / denominator print("Chow test statistic: ", chow_test, "; Critical value, 99.9%: ", 7.7)
Chow test statistic: 702.8715822890057; Critical value, 99.9%: 7.7
Кількісне управління ризиками в Python

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

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

Preparing Video For Download...