Середнє, дисперсія та нормальний розподіл

Вступ до керування ризиком портфеля в Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Моменти розподілів

Розподіли ймовірностей мають такі моменти:

  • 1) Середнє ($ \mu $)
  • 2) Дисперсія ( $ \sigma ^ 2 $ )
  • 3) Асиметрія
  • 4) Ексцес
Вступ до керування ризиком портфеля в Python

Є багато типів розподілів. Деякі — нормальні, інші — ні. Випадкова змінна з гаусовим розподілом є нормально розподіленою.

Нормальні розподіли мають властивості:

  • Середнє = $ \mu $
  • Дисперсія = $ \sigma ^ 2 $
  • Асиметрія = 0
  • Ексцес = 3

Вступ до керування ризиком портфеля в Python

Стандартний нормальний розподіл

Стандартний нормальний — це окремий випадок нормального розподілу, коли:

  • $ \sigma $ = 1
  • $ \mu $ = 0
Вступ до керування ризиком портфеля в Python

Порівняння з нормальним розподілом

  • Нормальні розподіли мають асиметрію близько 0 та ексцес близько 3.
  • Фінансові доходності зазвичай не є нормально розподіленими
  • Фінансові доходності можуть мати високий ексцес
Вступ до керування ризиком портфеля в Python

Порівняння з нормальним розподілом

Вступ до керування ризиком портфеля в Python

Обчислення середньої доходності в Python

Щоб обчислити середню денну доходність, використайте функцію np.mean():

import numpy as np
np.mean(StockPrices["Returns"])
0.0003

Щоб обчислити середню річну доходність, припускаючи 252 торгові дні на рік:

import numpy as np
((1+np.mean(StockPrices["Returns"]))**252)-1
0.0785
Вступ до керування ризиком портфеля в Python

Стандартне відхилення та дисперсія

Стандартне відхилення (волатильність)

  • Дисперсія = $ \sigma ^ 2 $
  • У формулах часто позначається як $ \sigma $, або називається волатильністю
  • Інвестицію з вищим $ \sigma $ вважають більш ризиковою
  • Вимірює розсіювання доходностей

Вступ до керування ризиком портфеля в Python

Стандартне відхилення та дисперсія в Python

Припустімо, дані доходностей акцій попередньо завантажено в об'єкт StockData. Щоб обчислити періодичне стандартне відхилення доходностей:

import numpy as np
np.std(StockPrices["Returns"])
0.0256

Щоб обчислити дисперсію, піднесіть стандартне відхилення до квадрата:

np.std(StockPrices["Returns"])**2
0.000655
Вступ до керування ризиком портфеля в Python

Масштабування волатильності

  • Волатильність масштабується пропорційно квадратному кореню з часу
  • Зазвичай припускають 252 торгові дні в році та 21 торговий день у місяці

Вступ до керування ризиком портфеля в Python

Масштабування волатильності в Python

Припустімо, дані доходностей акцій попередньо завантажено в об'єкт StockData. Щоб обчислити річну волатильність доходностей:

import numpy as np
np.std(StockPrices["Returns"]) * np.sqrt(252)
0.3071
Вступ до керування ризиком портфеля в Python

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

Вступ до керування ризиком портфеля в Python

Preparing Video For Download...