Среднее, дисперсия и нормальное распределение

Введение в управление портфельными рисками на 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...