Кореляція та коваріація

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

Dakota Wixom

Quantitative Analyst | QuantCourse.com

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

Приклади різних кореляцій між двома випадковими змінними:

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

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

Теплова мапа кореляційної матриці:

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

Кореляційна матриця в Python

Припустімо, StockReturns — це датафрейм 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 — це датафрейм 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...