Calcular erros padrão de Newey-West sem um objeto lm em R

13

Ontem fiz essa pergunta no StackOverflow e obtive uma resposta, mas concordamos que parece um pouco imprudente e pode haver uma maneira melhor de analisar isso.

A pergunta: eu gostaria de calcular os erros padrão de Newey-West (HAC) para um vetor (neste caso, um vetor de retorno de estoque). A função NeweyWest()no sandwichpacote faz isso, mas aceita um lmobjeto como entrada. A solução que Joris Meys ofereceu é projetar o vetor em 1, o que transforma meu vetor em resíduos para alimentar NeweyWest(). Isso é:

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

para a variação da média.

Eu deveria estar fazendo assim? Ou existe uma maneira de fazer mais diretamente o que eu quero? Obrigado!

Richard Herron
fonte
1
A pergunta não está clara. O que você quer dizer com "erro padrão para um vetor"? Normalmente, queremos o erro padrão de uma estimativa de parâmetro. Qual parâmetro você está estimando? O código que você forneceu produz a estimativa Newey West do erro padrão quadrado da média. É isso que você quer?
Cyrus S
@ Cyrus - Por "vetor" não quero dizer um lmobjeto. Frequentemente, tenho um vetor (digamos, uma série de retornos de ações) que não quero envolver em nenhuma regressão (porque não me importo com a projeção, exceto a 1), mas para a qual ainda quero o HAC erro padrão. Nesse caso, a estimativa de parâmetro é o retorno do estoque. A resposta acima faz isso, mas requer o cálculo do lmobjeto, do qual realmente não preciso. Então, eu estou querendo saber se há uma rotina em R que faz isso sem criar um lmobjeto.
Richard Herron
Desculpe, mas ainda não está claro: "Nesse caso, a estimativa de parâmetro é o retorno do estoque". Com isso, você quer dizer "a média dos retornos das ações da série"? Se sim, então o que você tem está perfeitamente bem.
Cyrus S
@Cyrus - Eu sei que o que tenho funciona, mas eu esperava que houvesse uma maneira de calcular os SEs sem passar pelo lmobjeto para o caso de um único vetor. Eu acho que não. Obrigado por me ajudar a esclarecer minha pergunta!
Richard Herron

Respostas:

15

Suponha que tenhamos uma regressão

y=Xβ+você

Em seguida, OLS estimar β é β - β = ( X ' x ) - 1 X ' u e assumindo que β é estimativa imparcial temos V um r ( β ) = E [ ( X ' X ) - 1 X ' u u X ( X X ) - 1 ]β^

β^-β=(XX)-1Xvocê
β^
Vumar(β^)=E[(XX)-1XvocêvocêX(XX)-1]

Os MQO habituais são pressupostos que e E ( u u ' | X ) = σ 2 I n que dá-nos V um r ( β ) = σ 2 E ( X ' X ) - 1 Este matriz de covariância é geralmente relatada em pacotes estatísticos.E(você|X)=0 0E(vocêvocê|X)=σ2Eun

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

Se são heteroscedástico e (ou) autocorellated, então E ( u u ' | X ) σ 2 I n e a saída habitual dá resultados enganadores. Para obter os resultados corretos, os erros padrão do HAC são calculados. Todos os métodos para erros HAC calculam d i a g ( E ( X X ) - 1 X u u X ( X X ) - 1 ) .vocêEuE(vocêvocê|X)σ2Eun

dEuumag(E(XX)-1XvocêvocêX(XX)-1).
Eles diferem em suas suposições de como parece.E(vocêvocê|X)

Portanto, é natural que essa função NeweyWestsolicite modelo linear. O método Newey-West calcula os erros padrão corretos do estimador de modelo linear. Então a solução é perfeitamente correto se você assumir que os seus retornos das ações seguem o modelo e que pretende estimar V a r ( μ ) proteção contra irregularidades na u t .

rt=μ+vocêt
Vumar(μ)vocêt

Vumar(rt)

rt=σtεt
εtσtVumar(rt)=Vumar(σt) e você tem uma estimativa "correta" de sua variação, protegendo-se das idiossincrasias usuais dos retornos das ações, como cluster de volatilidade, assimetria e etc.
mpiktas
fonte
Obrigado! Pode não haver uma maneira mais eficiente para eu codificar isso do que formar o lmobjeto.
Richard Herron
Eu acho que o lmobjeto é o caminho a seguir! Obrigado por um ótimo resumo ... às vezes no aplicativo eu fico muito longe da teoria.
Richard Herron