Korelacja i kowariancja

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Korelacja Pearsona

Przykłady różnych korelacji między dwiema zmiennymi losowymi:

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Korelacja Pearsona

Mapa ciepła macierzy korelacji:

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Macierz korelacji w Pythonie

Zakładając, że StockReturns to pandas DataFrame zwrotów akcji, macierz korelacji można obliczyć następująco:

correlation_matrix = StockReturns.corr()
print(correlation_matrix)

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Odchylenie standardowe portfela

Odchylenie standardowe portfela dwuskładnikowego:

$$ \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$: Odchylenie standardowe portfela
  • w: Waga aktywa
  • $\sigma$: Zmienność aktywa
  • $\rho_{1, 2}$: Korelacja między aktywami 1 i 2
Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Macierz kowariancji

Wzór na macierz kowariancji ($ \Sigma $) zwrotów X:

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Macierz kowariancji w Pythonie

Zakładając, że StockReturns to pandas DataFrame zwrotów akcji, macierz kowariancji można obliczyć następująco:

cov_mat = StockReturns.cov()
cov_mat

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Annualizacja macierzy kowariancji

Aby zannualizować macierz kowariancji:

cov_mat_annual = cov_mat * 252
Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Odchylenie standardowe portfela z użyciem kowariancji

Wzór na zmienność portfela:

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

  • $ \sigma_{Portfolio} $: Zmienność portfela
  • $ \Sigma $: Macierz kowariancji zwrotów
  • w: Wagi portfela ($ w_T $ to transponowane wagi portfela)
  • $ \cdot $ Operator iloczynu skalarnego
Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Transpozycja macierzy

Przykłady operacji transpozycji macierzy:

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Iloczyn skalarny

Operacja iloczynu skalarnego dwóch wektorów a i b:

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Odchylenie standardowe portfela w Pythonie

Aby obliczyć zmienność portfela, należy przyjąć tablicę wag i macierz kowariancji:

import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Czas na ćwiczenia!

Wprowadzenie do zarządzania ryzykiem portfela w Pythonie

Preparing Video For Download...