Introducere în gestionarea riscului de portofoliu în Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com


Presupunând că StockReturns este un DataFrame pandas de randamente, matricea de corelație se calculează astfel:
correlation_matrix = StockReturns.corr()
print(correlation_matrix)

Deviația standard a unui portofoliu cu două active:
$$ \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 }$$
Calculul matricei de covarianță ($ \Sigma $) a randamentelor X:

Presupunând că StockReturns este un DataFrame pandas de randamente, matricea de covarianță se calculează astfel:
cov_mat = StockReturns.cov()
cov_mat

Pentru anualizarea matricei de covarianță:
cov_mat_annual = cov_mat * 252
Formula volatilității portofoliului:
$$ \sigma_{Portfolio} = \sqrt{ w_T \cdot \Sigma \cdot w } $$
Exemple de operații de transpunere a matricei:

Operația de produs scalar a doi vectori a și b:

Pentru calculul volatilității portofoliului, se utilizează un vector de ponderi și o matrice de covarianță:
import numpy as np
port_vol = np.sqrt(np.dot(weights.T, np.dot(cov_mat, weights)))
port_vol
0.035
Introducere în gestionarea riscului de portofoliu în Python