Introduzione alla gestione del rischio di portafoglio in Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com
L'articolo originale da cui è partito tutto:

Un articolo successivo di Cliff Asness di AQR:

Nel 2015, Fama e French hanno esteso il precedente modello a 3 fattori aggiungendo due fattori:
Il fattore RMW rappresenta i rendimenti di aziende con alta redditività operativa rispetto a quelle con bassa redditività operativa.
Il fattore CMA rappresenta i rendimenti di aziende con investimenti aggressivi rispetto a quelle più conservative.

Supponendo di avere già i rendimenti in eccesso del portafoglio e del mercato nell'oggetto Data:
import statsmodels.formula.api as smf
model = smf.ols(formula='Port_Excess ~ Mkt_Excess + SMB + HML + RMW + CMA',
data=Data)
fit = model.fit()
adjusted_r_squared = fit.rsquared_adj
adjusted_r_squared
0.92
Introduzione alla gestione del rischio di portafoglio in Python