Python 投资组合风险管理入门
Dakota Wixom
Quantitative Analyst | QuantCourse.com
资本资产定价模型是众多资产定价与因子模型的基础。
计算超额收益:用总收益减去无风险收益率:
$$ \text{Excess Return} = \text{Return} - \text{Risk Free Return} $$
示例:
投资巴西:
10% 组合收益 − 15% 无风险利率 = −5% 超额收益
投资美国:
10% 组合收益 − 3% 无风险利率 = 7% 超额收益
$$ E(R_{P}) - RF = \beta_{{P}}(E(R_{M})-RF)\ $$
用协方差计算历史 Beta:
$$ \beta_P = \frac{Cov(R_P, R_B)}{Var(R_B)} $$
假设已将超额组合与市场收益存于对象 Data:
covariance_matrix = Data[["Port_Excess","Mkt_Excess"]].cov()
covariance_coefficient = covariance_matrix.iloc[0, 1]
benchmark_variance = Data["Mkt_Excess"].var()
portfolio_beta = covariance_coefficient / benchmark_variance
portfolio_beta
0.93
线性回归示例:

矩阵表示的回归公式:

假设已将超额组合与市场收益存于对象 Data:
import statsmodels.formula.api as smf
model = smf.ols(formula='Port_Excess ~ Mkt_Excess', data=Data)
fit = model.fit()
beta = fit.params["Mkt_Excess"]
beta
0.93
提取调整后 R² 与 R²:
import statsmodels.formula.api as smf
model = smf.ols(formula='Port_Excess ~ Mkt_Excess', data=Data)
fit = model.fit()
r_squared = fit.rsquared
r_squared
0.70
adjusted_r_squared = fit.rsquared_adj
0.65
Python 投资组合风险管理入门