Введение в управление портфельными рисками на Python
Dakota Wixom
Quantitative Analyst | QuantCourse.com
Оригинальная статья, с которой всё началось:

Статья Клиффа Эснесса из AQR, опубликованная позднее:

В 2015 году Фама и Френч расширили свою трёхфакторную модель, добавив два новых фактора:
Фактор RMW отражает доходность компаний с высокой операционной рентабельностью по сравнению с компаниями с низкой рентабельностью.
Фактор CMA отражает доходность компаний с агрессивной инвестиционной политикой по сравнению с более консервативными.

Предположим, что избыточные доходности портфеля и рынка уже хранятся в объекте 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
Введение в управление портфельными рисками на Python