7. Leer la salida: coeficientes y t-stats
Nivel 6: Regresión y Modelos de Pricing
Estimar el modelo es la parte fácil. Lo difícil es leer la tabla que sale.
De cada modelo ajustado se extraen dos objetos que hay que mirar siempre juntos: los coeficientes (.params) y los estadísticos t (.tvalues). El profesor los recoge en un único DataFrame y además usa summary_col para presentar los tres modelos en columnas comparables:
CAPMcoeff, CAPMtstat = CAPM.params, CAPM.tvalues
FF3coeff, FF3tstat = FF3.params, FF3.tvalues
FF5coeff, FF5tstat = FF5.params, FF5.tvalues
results_df = pd.DataFrame({'CAPMcoeff': CAPMcoeff, 'CAPMtstat': CAPMtstat,
'FF3coeff': FF3coeff, 'FF3tstat': FF3tstat,
'FF5coeff': FF5coeff, 'FF5tstat': FF5tstat},
index=['Intercept', 'MKT', 'SMB', 'HML', 'RMW', 'CMA'])
dfoutput = summary_col([CAPM, FF3, FF5], stars=True, float_format='%0.4f',
model_names=['CAPM', 'FF3', 'FF5'],
info_dict={'N': lambda x: '{0:d}'.format(int(x.nobs)),
'Adjusted R2': lambda x: '{:.4f}'.format(x.rsquared_adj)},
regressor_order=['Intercept', 'MKT', 'SMB', 'HML', 'RMW', 'CMA'])
print(dfoutput)
FF5.summary()Poner los tres modelos uno al lado del otro es justo lo que permite responder a la pregunta que importa: cómo se mueve el intercepto conforme añadimos factores. Si el alfa del CAPM era grande y al llegar a FF5 se ha quedado en nada, la conclusión es que lo que parecía habilidad era exposición a factores.
El argumento cov_type='HAC' con maxlags=1 merece una nota: cambia la forma de calcular los errores estándar y, por tanto, los estadísticos t y los p-valores. No cambia los coeficientes. Si dos compañeros obtienen betas idénticos pero t-stats distintos, ahí está casi siempre la explicación.
Terminología de parámetros. Aquí hay una distinción que suena pedante y no lo es. En general no conocemos los valores verdaderos subyacentes de los coeficientes beta. Denotamos con beta-sombrero la estimación del parámetro desconocido beta. Y podemos hablar de beta-sombrero de dos maneras distintas:
- Como un valor estimado concreto, o más en general, como un resultado. Entonces decimos que beta-sombrero es una estimación de beta basada en una muestra de datos observada.
- Como una variable aleatoria, o más en general, como una regla para calcular una estimación a partir de datos observados. Entonces decimos que beta-sombrero es un estimador de beta.
Cuando hablamos de beta-sombrero como estimador, podemos hablar también de su media, su varianza y su distribución, que son muy importantes a la hora de determinar si un método de estimación concreto es mejor que otro alternativo.
Traducido a lo que haces cada día: el 1,42 que te sale en la columna MKT es una estimación, un número que salió de esa muestra. El procedimiento OLS que lo produjo es el estimador. Si repitieras el ejercicio con otro periodo saldría otro número, y la dispersión de esos números hipotéticos es exactamente lo que mide el error estándar. Por eso un beta sin su error estándar al lado es información incompleta: sin la segunda columna no sabes si el 1,42 es sólido o es ruido con decimales.