Compute residual vol for square regressions
This commit is contained in:
@@ -308,6 +308,8 @@ def run_factor_regression(
|
||||
|
||||
fitted = x @ coefficients
|
||||
residuals = y.to_numpy() - fitted
|
||||
residual_series = pd.Series(residuals, index=regression_frame.index)
|
||||
residual_vol_ann = float(residual_series.std(ddof=1) * np.sqrt(TRADING_DAYS_PER_YEAR))
|
||||
|
||||
dof = n_obs - param_count
|
||||
if dof > 0:
|
||||
@@ -323,12 +325,10 @@ def run_factor_regression(
|
||||
where=standard_errors > 0,
|
||||
)
|
||||
p_values = 2.0 * stats.t.sf(np.abs(t_stats), df=dof)
|
||||
residual_vol_ann = float(pd.Series(residuals, index=regression_frame.index).std(ddof=1) * np.sqrt(TRADING_DAYS_PER_YEAR))
|
||||
adj_r_squared_is_defined = True
|
||||
else:
|
||||
t_stats = np.full_like(coefficients, np.nan, dtype=float)
|
||||
p_values = np.full_like(coefficients, np.nan, dtype=float)
|
||||
residual_vol_ann = float("nan")
|
||||
adj_r_squared_is_defined = False
|
||||
|
||||
ss_total = float(((y - y.mean()) ** 2).sum())
|
||||
|
||||
Reference in New Issue
Block a user