Calculer les erreurs standard de Newey-West sans objet lm dans R

13

J'ai posé cette question hier sur StackOverflow, et j'ai obtenu une réponse, mais nous avons convenu que cela semble un peu hack et il pourrait y avoir une meilleure façon de voir les choses.

La question: je voudrais calculer les erreurs-types de Newey-West (HAC) pour un vecteur (dans ce cas un vecteur de rendements boursiers). La fonction NeweyWest()du sandwichpackage fait cela, mais prend un lmobjet en entrée. La solution proposée par Joris Meys est de projeter le vecteur sur 1, ce qui transforme mon vecteur en résidus pour alimenter NeweyWest(). C'est:

as.numeric(NeweyWest(lm(rnorm(100) ~ 1)))

pour la variance de la moyenne.

Dois-je le faire comme ça? Ou existe-t-il un moyen de faire plus directement ce que je veux? Merci!

Richard Herron
la source
1
La question n'est pas claire. Qu'entendez-vous par "erreur standard pour un vecteur"? Typiquement, nous voulons l'erreur standard d'une estimation de paramètre. Quel paramètre estimez-vous? Le code que vous avez fourni produit l'estimation de Newey West de l'erreur-type au carré de la moyenne. Est-ce que c'est ce que tu veux?
Cyrus S
@Cyrus - Par "vecteur", je veux dire pas un lmobjet. J'ai souvent un vecteur (disons une série de rendements boursiers) que je ne veux impliquer dans aucune régression (parce que je me fiche de sa projection, sauf sur 1), mais pour lequel je veux toujours le HAC erreur standard. Dans ce cas, l'estimation du paramètre est le rendement du stock. La réponse ci-dessus fait cela, mais nécessite de calculer l' lmobjet, dont je n'ai vraiment pas besoin. Je me demande donc s'il existe une routine dans R qui fait cela sans créer d' lmobjet.
Richard Herron
Désolé, toujours pas clair: "Dans ce cas, l'estimation du paramètre est le retour du stock." Par cela, voulez-vous dire la «moyenne des rendements boursiers de la série»? Si oui, alors ce que vous avez est parfaitement bien.
Cyrus S
@Cyrus - Je sais que ce que j'ai fonctionne, mais j'espérais qu'il existe un moyen de calculer les SE sans passer par l' lmobjet pour le cas d'un seul vecteur. Je suppose que non. Merci de m'avoir aidé à clarifier ma question!
Richard Herron

Réponses:

15

Supposons que nous ayons une régression

y=Xβ+u

Puis OLS estimer β est β - β = ( X ' X ) - 1 X ' u et en supposant que β est estimée non biaisée , nous avons V a r ( β ) = E [ ( X ' X ) - 1 X ' u u X ( X X ) - 1 ]β^

β^-β=(XX)-1Xu
β^
Vuner(β^)=E[(XX)-1XuuX(XX)-1]

E(u|X)=0E(uu|X)=σ2jen

Vuner(β^)=σ2E(XX)-1

ujeE(uu|X)σ2jen

jeuneg(E(XX)-1XuuX(XX)-1).
E(uu|X)

NeweyWest

rt=μ+ut
Vuner(μ)ut

Vuner(rt)

rt=σtεt
εtσtVuner(rt)=Vuner(σt) et vous avez une estimation "correcte" de votre variance, en vous gardant des idiosyncrasies habituelles des rendements boursiers tels que le regroupement de la volatilité, l'asymétrie, etc.
mpiktas
la source
Merci! Il n'y a peut-être pas de moyen plus efficace pour coder cela que de former l' lmobjet.
Richard Herron
Je suppose que l' lmobjet est le chemin à parcourir! Merci pour un excellent résumé ... parfois dans l'application je m'éloigne trop de la théorie.
Richard Herron