Ich habe diese Frage gestern auf StackOverflow gestellt und eine Antwort bekommen, aber wir waren uns einig, dass sie etwas hackisch wirkt und es eine bessere Möglichkeit gibt, sie zu betrachten.
Die Frage: Ich möchte die Newey-West (HAC) -Standardfehler für einen Vektor (in diesem Fall einen Vektor für Aktienrenditen) berechnen. Die Funktion NeweyWest()
im sandwich
Paket führt dies aus, nimmt jedoch ein lm
Objekt als Eingabe. Die von Joris Meys angebotene Lösung besteht darin, den Vektor auf 1 zu projizieren, wodurch mein Vektor in Residuen umgewandelt wird, in die er eingespeist werden kann NeweyWest()
. Das ist:
as.numeric(NeweyWest(lm(rnorm(100) ~ 1)))
für die Varianz des Mittelwerts.
Soll ich das so machen? Oder gibt es eine Möglichkeit, direkter zu tun, was ich will? Vielen Dank!
lm
Objekt. Ich habe häufig einen Vektor (sagen wir eine Reihe von Aktienrenditen), den ich nicht in irgendwelche Regressionen einbeziehen möchte (weil mir die Projektion außer auf 1 egal ist), für den ich aber immer noch den HAC möchte Standart Fehler. In diesem Fall ist die Parameterschätzung die Bestandsrendite. Die obige Antwort tut dies, erfordert jedoch die Berechnung des lm
Objekts, das ich wirklich nicht brauche. Ich frage mich also, ob es in R eine Routine gibt, die dies tut, ohne ein lm
Objekt zu erstellen .
lm
für den Fall eines einzelnen Vektors eine Möglichkeit gibt, die SEs zu berechnen, ohne das Objekt zu durchlaufen . Ich denke nicht. Vielen Dank, dass Sie mir bei der Klärung meiner Frage geholfen haben!