Корреляция и ковариация

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

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Корреляция Пирсона

Примеры различных корреляций между двумя случайными величинами:

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

Корреляция Пирсона

Тепловая карта матрицы корреляции:

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

Матрица корреляции в Python

Если StockReturns — это DataFrame pandas с доходностями акций, матрицу корреляции можно вычислить следующим образом:

correlation_matrix = StockReturns.corr()
print(correlation_matrix)

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

Стандартное отклонение портфеля

Стандартное отклонение портфеля из двух активов:

$$ \sigma_p = \sqrt{ w_1^2 \sigma_1^2 + w_2^2 \sigma_2^2 + 2 w_1 w_2 \rho_{1, 2} \sigma_1 \sigma_2 }$$

  • $\sigma_p$: Стандартное отклонение портфеля
  • w: Вес актива
  • $\sigma$: Волатильность актива
  • $\rho_{1, 2}$: Корреляция между активами 1 и 2
Введение в управление портфельными рисками на Python

Матрица ковариации

Вычисление матрицы ковариации ($ \Sigma $) доходностей X:

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

Матрица ковариации в Python

Если StockReturns — это DataFrame pandas с доходностями акций, матрицу ковариации можно вычислить следующим образом:

cov_mat = StockReturns.cov()
cov_mat

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

Приведение матрицы ковариации к годовому выражению

Для приведения матрицы ковариации к годовому выражению:

cov_mat_annual = cov_mat * 252
Введение в управление портфельными рисками на Python

Стандартное отклонение портфеля через матрицу ковариации

Формула волатильности портфеля:

$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$

  • $ \sigma_{Portfolio} $: Волатильность портфеля
  • $ \Sigma $: Матрица ковариации доходностей
  • w: Веса портфеля ($ w_T $ — транспонированные веса)
  • $ \cdot $ Оператор скалярного произведения
Введение в управление портфельными рисками на Python

Транспонирование матрицы

Примеры операций транспонирования матрицы:

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

Скалярное произведение

Операция скалярного произведения двух векторов a и b:

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

Стандартное отклонение портфеля в Python

Для вычисления волатильности портфеля используйте массив весов и матрицу ковариации:

import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Введение в управление портфельными рисками на Python

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

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

Preparing Video For Download...