Factor Models API Reference¶
financelib.quant.factors.factor_exposure(asset_returns: pd.Series, factor_returns: pd.DataFrame) -> Dict[str, float]
¶
Compute factor loadings (betas) via OLS regression.
Regresses asset returns on factor returns to determine sensitivity to each factor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
asset_returns
|
Series
|
Asset returns series. |
required |
factor_returns
|
DataFrame
|
DataFrame of factor returns (columns = factors). |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, float]
|
Dictionary mapping factor names to their loadings (betas), |
Dict[str, float]
|
plus 'alpha' (intercept) and 'r_squared'. |
Example
exposures = factor_exposure(stock_returns, factor_df) print(f"Market beta: {exposures['MKT']:.2f}")
Source code in financelib/quant/factors.py
financelib.quant.factors.fama_french_three(asset_returns: pd.Series, market_returns: pd.Series, smb: pd.Series, hml: pd.Series) -> Dict[str, float]
¶
Run Fama-French 3-factor model regression.
R_i - R_f = alpha + beta_MKT(R_m - R_f) + beta_SMBSMB + beta_HML*HML + epsilon
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
asset_returns
|
Series
|
Asset excess returns. |
required |
market_returns
|
Series
|
Market excess returns (R_m - R_f). |
required |
smb
|
Series
|
Small Minus Big factor returns. |
required |
hml
|
Series
|
High Minus Low factor returns. |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, float]
|
Dictionary with alpha, MKT, SMB, HML betas, and r_squared. |
Source code in financelib/quant/factors.py
financelib.quant.factors.fama_french_five(asset_returns: pd.Series, market_returns: pd.Series, smb: pd.Series, hml: pd.Series, rmw: pd.Series, cma: pd.Series) -> Dict[str, float]
¶
Run Fama-French 5-factor model regression.
Extends 3-factor model with profitability (RMW) and investment (CMA).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
asset_returns
|
Series
|
Asset excess returns. |
required |
market_returns
|
Series
|
Market excess returns. |
required |
smb
|
Series
|
Small Minus Big. |
required |
hml
|
Series
|
High Minus Low. |
required |
rmw
|
Series
|
Robust Minus Weak (profitability). |
required |
cma
|
Series
|
Conservative Minus Aggressive (investment). |
required |
Returns:
| Type | Description |
|---|---|
Dict[str, float]
|
Dictionary with alpha, factor betas, and r_squared. |