Hice esta pregunta ayer en StackOverflow, y obtuve una respuesta, pero acordamos que parece un poco hack y que puede haber una mejor manera de verlo.
La pregunta: me gustaría calcular los errores estándar de Newey-West (HAC) para un vector (en este caso, un vector de devoluciones de acciones). La función NeweyWest()
en el sandwich
paquete hace esto, pero toma un lm
objeto como entrada. La solución ofrecida por Joris Meys es proyectar el vector en 1, lo que convierte mi vector en residuos para alimentar NeweyWest()
. Es decir:
as.numeric(NeweyWest(lm(rnorm(100) ~ 1)))
para la varianza de la media.
¿Debería hacerlo así? ¿O hay una manera de hacer más directamente lo que quiero? ¡Gracias!
r
standard-error
autocorrelation
heteroscedasticity
Richard Herron
fuente
fuente
lm
objeto. Con frecuencia tengo un vector (digamos una serie de devoluciones de acciones) que no quiero involucrar en ninguna regresión (porque no me importa su proyección, excepto en 1), pero para el que todavía quiero el HAC Error estándar. En este caso, la estimación del parámetro es el rendimiento del stock. La respuesta anterior hace eso, pero requiere calcular ellm
objeto, que realmente no necesito. Así que me pregunto si hay una rutina en R que haga esto sin crear unlm
objeto.lm
objeto para el caso de un solo vector. Supongo que no. ¡Gracias por ayudarme a aclarar mi pregunta!Respuestas:
Supongamos que tenemos una regresión
Entonces OLS estiman β es β - β = ( X ' X ) - 1 X ' u y suponiendo que β es estimación no sesgada tenemos V un r ( β ) = E [ ( X ' X ) - 1 X ' u u ′ X ( X ′ X ) - 1 ]β^
NeweyWest
fuente
lm
objeto.lm
objeto es el camino a seguir! Gracias por un gran resumen ... a veces en la aplicación me alejo demasiado de la teoría.