Monday, 29 May 2017

Exemplo De Autoregressão Vetorial No Stata Forex


11.2: Modelos Autoregressivos vetoriais Os modelos VAR dos modelos VAR (p) modelos VAR (modelos vetoriais vetoriais) são usados ​​para séries temporais multivariadas. A estrutura é que cada variável é uma função linear de atrasos passados ​​de si mesma e atrasos passados ​​das outras variáveis. Como exemplo, suponha que medimos três variáveis ​​de séries temporais diferentes, denotadas por (x), (x) e (x). O modelo autoregressivo vectorial da ordem 1, denotado como VAR (1), é o seguinte: Cada variável é uma função linear dos valores de lag 1 para todas as variáveis ​​no conjunto. Em um modelo VAR (2), os valores de lag 2 para todas as variáveis ​​são adicionados aos lados direitos das equações. No caso de três variáveis ​​x (ou séries temporais), haveria seis preditores no lado direito de cada equação , Três termos de lag 1 e três termos de lag 2. Em geral, para um modelo VAR (p), os primeiros desfasamentos de cada variável no sistema seriam usados ​​como preditores de regressão para cada variável. Os modelos VAR são um caso específico de modelos VARMA mais gerais. Os modelos VARMA para séries temporais multivariadas incluem a estrutura VAR acima, juntamente com os termos médios móveis para cada variável. Mais geralmente ainda, estes são casos especiais de modelos ARMAX que permitem a adição de outros preditores que estão fora do conjunto multivariante de interesse principal. Aqui, como na Seção 5.8 do texto, fique bem em modelos VAR. Na página 304, os autores se encaixam no modelo do formulário mathbf t Gamma mathbf t phi mathbf mathbf t onde (mathbf t (1, t)) inclui termos para ajustar simultaneamente a constante e a tendência. Ele surgiu a partir de dados macroeconômicos onde grandes mudanças nos dados afetam permanentemente o nível da série. Não há uma diferença tão sutil aqui nas lições anteriores, pois agora estamos adaptando um modelo aos dados que não precisam ser estacionários. Nas versões anteriores do texto, os autores desconsideraram separadamente cada série usando uma regressão linear com t, o índice de tempo, como a variável preditor. Os valores de tendência para cada uma das três séries são os resíduos dessa regressão linear em t. A destruição é útil conceitualmente porque tira a força de direção comum que o tempo pode ter em cada série e criou a estacionaridade como vimos nas lições passadas. Esta abordagem resulta em coeficientes semelhantes, embora ligeiramente diferentes, pois agora estamos combinando simultaneamente a intercepção e a tendência em conjunto em um modelo OLS multivariante. A biblioteca de Rars criada por Bernhard Pfaff tem a capacidade de adaptar este modelo com tendência. Vamos ver 2 exemplos: um modelo estacionário de diferença e um modelo estacionário de tendência. Exemplo do Exemplo 5.10 do texto estacionário é um modelo estacionário de diferença, na medida em que as primeiras diferenças são estacionárias. Examine o código e o exemplo do texto ajustando o modelo acima: install. packages (vars) Se ainda não está instalado install. packages (astsa) Se biblioteca já não instalada (vars) (astsa) x cbind (cmort, tempr, Parte) plot. ts (x. Main, xlab) sumário (VAR (x, p1, typeboth)) Os dois primeiros comandos carregam os comandos necessários da biblioteca vars e os dados necessários da nossa biblioteca de textos. O comando cbind cria um vetor de variáveis ​​de resposta (um passo necessário para respostas multivariadas). O comando VAR faz estimativa de modelos de AR usando mínimos quadrados comuns, ao mesmo tempo que ajusta a tendência, a interceptação e o modelo ARIMA. O argumento p 1 solicita uma estrutura AR (1) e ambos se encaixam na constante e na tendência. Com o vetor de respostas, é realmente um VAR (1). A seguir está a saída do comando VAR para a variável tempr (o texto fornece a saída para cmort): Os coeficientes para uma variável estão listados na coluna Estimar. O .11 anexado a cada nome da variável indica que são variáveis ​​de lag 1. Usando a notação T temperatura, ttime (coletado semanalmente), M taxa de mortalidade e p poluição, a equação para a temperatura é t 67.586 - .007 t - 0.244 M 0.487 T - 0.128 P A equação para a taxa de mortalidade é t 73.227 0.014 t 0,465 M - 0,361 T 0,099 P A equação para poluição é t 67,464 - 0,005 t - 0,125 M - 0,477 T 0,581 P. A matriz de covariância dos resíduos do VAR (1) para as três variáveis ​​é impressa abaixo dos resultados da estimativa. As variâncias estão abaixo da diagonal e podem ser usadas para comparar este modelo com VARs de ordem superior. O determinante dessa matriz é usado no cálculo da estatística BIC que pode ser usado para comparar o ajuste do modelo com o ajuste de outros modelos (ver fórmulas 5.89 e 5.90 do texto). Para mais referências sobre esta técnica, veja Análise de séries temporais integradas e co-integradas com R por Pfaff e também Campbell e Perron 1991. No Exemplo 5.11 na página 307, os autores dão resultados para um modelo VAR (2) para os dados da taxa de mortalidade . Em R, você pode ajustar o modelo VAR (2) com o resumo do comando (VAR (x, p2, typeboth)). A saída, conforme exibido pelo comando VAR, é a seguinte: Novamente, os coeficientes para uma variável particular estão listados em A coluna Estimado. Por exemplo, a equação estimada para a temperatura é t 49,88 - 0,005 t - 0,109 M 0,261 T 0,051 P - 0,041 M 0,356 T 0,095 P Vamos discutir estatísticas de critérios de informação para comparar modelos VAR de diferentes ordens no trabalho de casa. Os resíduos também estão disponíveis para análise. Por exemplo, se atribuímos o comando VAR a um objeto intitulado fitvar2 em nosso programa, fitvar2 VAR (x, p2, typeboth), então temos acesso aos resíduos da matriz (fitvar2). Esta matriz terá três colunas, uma coluna de resíduos para cada variável. Por exemplo, podemos usar para ver o ACF dos resíduos para a taxa de mortalidade após o ajuste do modelo VAR (2). A seguir é o ACF que resultou do comando que acabamos de descrever. Parece bom para um ACF residual. (A grande espiga no início é a correlação sem importância de lag 0). Os dois comandos a seguir criará ACFs para os resíduos para as outras duas variáveis. Eles também se assemelham ao ruído branco. Podemos também examinar essas parcelas na matriz de correlação cruzada fornecida por acf (residuals (fitvar2)): as tramas ao longo da diagonal são as ACFs individuais para cada modelo de resíduos que acabamos de discutir acima. Além disso, agora vemos os gráficos de correlação cruzada de cada conjunto de resíduos. Idealmente, isso também se assemelharia ao ruído branco, no entanto, veremos as correlações cruzadas remanescentes, especialmente entre a temperatura e a poluição. Como nossos autores observam, este modelo não capta adequadamente a associação completa entre essas variáveis ​​no tempo. Modelo Trend-Stationary Explore um exemplo onde os dados originais estão estacionários e examine o código VAR, ajustando o modelo acima com uma constante e uma tendência. Usando R, simulamos n 500 valores de amostra usando o modelo VAR (2) Usando o comando VAR explicado acima: y1scan (var2daty1.dat) sumário y2scan (var2daty2.dat) (VAR (cbind (y1, y2), p2, typeboth) ) Obtemos o seguinte resultado: as estimativas são muito próximas dos coeficientes simulados e a tendência não é significativa, conforme esperado. Para dados estacionários, quando despender é desnecessário, você também pode usar o comando ar. ols para se ajustar a um modelo VAR: fitvar2 ar. ols (cbind (y1, y2), order2) Na primeira matriz dada, lê em uma linha para obter Os coeficientes para uma variável. As comas precedentes seguidas de 1 ou 2 indicam se os coeficientes são variáveis ​​de lag 1 ou lag 2, respectivamente. As interceptações das equações são dadas sob x. intercept uma interceptação por variável. A matriz em var. pred fornece a matriz de variação-covariância dos resíduos do VAR (2) para as duas variáveis. As variâncias estão abaixo da diagonal e podem ser usadas para comparar este modelo com VARs de ordem superior como observado acima. Os erros padrão dos coeficientes AR são dados pelo comando fitvar2asy. se. coef. A saída é As com os coeficientes, ler através de linhas. A primeira linha dá os erros padrão dos coeficientes para as variáveis ​​de lag 1 que predizem y1. A segunda linha dá os erros padrão para os coeficientes que predizem y2. Você pode notar que os coeficientes estão próximos do comando VAR exceto a interceptação. Isso ocorre porque ar. ols estima o modelo para x-mean (x). Para combinar a interceptação fornecida pelo comando resumo (VAR (cbind (y1, y2), p2, typeconst)), você deve calcular a intercepção da seguinte maneira: Em nosso exemplo, a interceptação para o modelo simulado para yt, 1 é igual a -0.043637 -2.733607 (1-0.29300.4523) 15.45479 (-0.1913-0.6365) 9.580768, e a equação estimada para yt, 1 Estimativa com Minitab Para usuários de Minitab, o fluxo geral do que fazer. Leia os dados em colunas. Use o Time Gt Lag para criar as colunas atrasadas necessárias dos valores estacionários. Use Stat gt ANOVA gt Geral MANOVA. Digite a lista de variáveis ​​de tempo presente como variáveis ​​de resposta. Digite as variáveis ​​x atrasadas como covariáveis ​​(e como o modelo). Clique em Resultados e selecione Análise Univariada (para ver os coeficientes de regressão estimados para cada equação). Se desejar, clique em Armazenamento e selecione Residuals andor Fits. Automatismos vetoriais do vetor (VAR) em R Nesta postagem, quero mostrar como executar uma autoregressão vetorial (VAR) em R. Primeiro, I39m vai explicar com a ajuda de um exemplo de finanças quando este método é útil e então I39m vai correr Um com a ajuda do pacote vars. Alguma teoria Então, o que exatamente é um VAR Sem entrar em muitos detalhes aqui, é basicamente apenas uma generalização de um modelo de autorregressão univariada (AR). Um modelo de AR explica uma variável linearmente com seus próprios valores anteriores, enquanto uma VAR explica um vetor de variáveis ​​com os valores anteriores do vetor39. O modelo VAR é uma ferramenta estatística no sentido de que ele apenas se encaixa nos coeficientes que melhor descrevem os dados em questão. Você ainda deve ter alguma intuição econômica sobre por que você coloca as variáveis ​​em seu vetor. Por exemplo, você poderia facilmente estimar um VAR com uma série de tempo do número de vendas de carros na Alemanha e a temperatura na Austrália. No entanto, é difícil vender para alguém por que você está fazendo isso, mesmo que você ache que uma variável ajuda a explicar a outra. Let39s fazem um exemplo de um VAR frequentemente aplicado em finanças (começando com CampbellAmmer, 1993). Concretamente, implemento uma abordagem para decompor os retornos inesperados em duas partes: notícias de fluxo de caixa (CF) e notícias de desconto (DR). Esta é uma questão importante, como afirmou, por exemplo, ChenZhao (2009): Retornar a decomposição. Qual a notação que eu vou usar aqui também: naturalmente, os economistas financeiros colocam grande interesse na importância relativa das notícias da FC e do DR novos componentes fundamentais da avaliação de ativos na determinação das séries temporais e variações transversais dos retornos de ações. Relativamente falando, as notícias da FC estão mais relacionadas aos fundamentos do rm devido ao seu link para a produção, as notícias do DR podem reter a aversão ao risco ou o sentimento dos investidores. Sua importância relativa ajuda assim a entender o funcionamento do mercado financeiro e fornece base empírica para a modelagem teórica. Começamos com a seguinte decomposição de retorno de equidade inesperado e, com base no trabalho seminal de CampbellShiller (1988): er - Et r (E - Et) sum rhoj Delta d - (E - Et) sum rhoj re - e Não estou indo Em detalhes aqui sobre a notação, porque isso é explicado, por exemplo, em ChenZhao (2009) e toneladas de outros papéis. No entanto, apenas uma pequena motivação sobre o que é feito aqui. Basicamente, os investidores esperam um retorno para o próximo período (Et r). No entanto, há incerteza neste mundo e, portanto, você normalmente não consegue o que espera, mas o que realmente acontece, ou seja, r. Por exemplo, o investidor no início de 2008 definitivamente esperava um retorno positivo em seus estoques, caso contrário eles não teriam investido neles. Mas, no final, eles acabaram com um alto retorno negativo porque surgiram notícias negativas. Portanto, o retorno inesperado e é apenas a diferença entre a realização real r e o retorno esperado Et R. No entanto, os economistas financeiros também estão interessados ​​em por que os retornos não se revelaram iguais aos esperados. Bem, obviamente, algumas notícias devem ter chegado no período t1, o que levou a uma revisão e ajuste do preço das ações, o que, por sua vez, leva a um retorno diferente. A decomposição de CampbellShiller mostra que existem apenas dois parâmetros relevantes: notícias sobre futuros fluxos de caixa esperados e notícias sobre retornos futuros esperados. Como a citação acima mostra, a separação entre estes dois é uma questão importante na pesquisa financeira. Agora, vamos apresentar um processo VAR. Concretamente, assumiremos que existe um vetor de variáveis ​​de estado zt que segue um VAR de primeira ordem. Isso significa que cada variável de estado no período t1 pode ser explicada por uma combinação linear das variáveis ​​de estado em t e uma constante. Sobrecarregando a constante, podemos escrever z Gamma zt u Suponhamos, além disso, que o primeiro elemento do vetor variável de estado z é o retorno de equidade r. Podemos então redigir as notícias da taxa de desconto da seguinte forma: - e - (E-Et) soma rhoj r - E soma rhoj r Et sum rhoj r - e1 soma rhoj Gammaj z sum rhoj Gamma z - e1 soma rhoj Gammaj (Gamma zu) Soma rhoj Gamma z - e1 soma rhoj Gammaj u - e1 rho Gamma (I - rho Gamma) u - e1 lambda u onde lambda rho Gamma (I - rho Gamma) e e1 é um vetor cujo primeiro elemento é igual a um e zero, caso contrário . Esta derivação parece mais complicada do que é. Basicamente, é apenas a aplicação de uma perpetuidade ou série geométrica infinita. Por que temos que aplicar uma perpetuidade aqui Bem, o VAR nos diz que os retornos hoje são explicados pelos retornos do último período multiplicados por um fator de persistência e um choque aleatório. No entanto, o último período de retorno foi explicado por retornos há dois períodos e assim por diante. Então isso significa que cada choque não é transitório (o que significa que ele só tem relevância para um período), mas é persistente. Além disso, talvez alguns de vocês sejam como eu e tenham dor de cabeça ao lidar com a multiplicação da matriz. Para aqueles, quero explicar o cálculo da lambda um pouco mais. Esta é uma generalização de uma série geométrica que é chamada de série Neumann em matemática. Ele afirma que esta fórmula só funciona se a soma de cada linha for menor do que 1. Há duas sublinhadas a serem observadas: Aj não significa uma operação em elemento, mas uma multiplicação j-times da matriz com ela mesma. Em R., porém, se você apenas escreve Aj, você obtém o primeiro, e não o último. Se você quer o último, você deve usar um operador especial do pacote expm (veja a discussão sobre SO). (Eu não quero confundir você, para ser claro: você não precisa desse pacote aqui porque a fórmula acima é muito mais fácil do que aplicar a fórmula de soma. Mas se você quiser verificar se a fórmula está correta, você pode simplesmente ligar Aj em R.) A em R não é idêntico ao que se entende aqui. Em R., ele simplesmente retorna o recíproco de cada elemento. Em matemática, significa que o inverso de uma matriz é necessário (A A I). O grande takeaway é que você tem que ter muito cuidado ao implementar fórmulas de matrizes em R. Não tenho um fundo matemático, então eu sempre começo a maneira mais óbvia, ou seja, apenas digite Aj e A e obtenha resultados completamente não sensitivos. Então, confira que a fórmula da série Neumann realmente funciona. Aqui, eu começo com j1 em vez de j0, então a fórmula tem que ser A (I - A). Como você pode ver, aplicar a fórmula da série Neumann ou fazê-lo da maneira mais difícil leva aos mesmos resultados. Continuando com o nosso exemplo, a notícia do CF agora pode ser recuada facilmente como a diferença entre o retorno total inesperado, que é apenas o choque aleatório você e as notícias do DR: e (e1 e1 lambda) u (isso, por sinal, é A grande objeção ChenZhao (2009) tem contra a abordagem de descomposição de retorno. A maioria dos estudos modela a parte de notícias do DR diretamente e a parte de notícias da FC está recuada. Então, cada erro de modelagem acaba no residual, o que não é mais do que a notícia do CF Por outro lado, eles não conseguem distinguir mais entre o barulho de modelagem e as verdadeiras notícias do CF. Eles apoiam seu argumento por dois bons exemplos. Primeiro, eles mostram que a abordagem de decomposição de retorno resulta em altas notícias da CF para títulos do governo, embora esses títulos não tenham CF Parte de notícias, por definição. Em segundo lugar, eles mostram que esta abordagem produz resultados muito diferentes para os estoques, sujeito à variável de estado que é usada. Isso apóia a hipótese de que as notícias da FC são em grande parte o barulho de modelagem. Na literatura, certifique-se de ler também EngstedPedersenTanggaard (2012): Armadilhas em decomposições de retorno baseadas em VAR: Um esclarecimento. Eles respondem à crítica apresentada por ChenZhao e defendem a abordagem de decomposição de retorno baseada em VAR.) Como alternativa, se incluímos o crescimento de dividendos de registro no vetor de estado como o segundo elemento, podemos calcular a parte de notícias da FC diretamente como onde e2 é um vetor Onde o segundo elemento é 1 e o resto 0. Implementação Let39s tentam replicar os resultados na tabela 4 de ChenDaZhao (2013): o que impulsiona os movimentos do preço da ação porque eles usam variáveis ​​de estado que estão todas disponíveis no conjunto de dados de Amit Goyal. Eles usam o seguinte vetor de variáveis ​​de estado: z rt Delta dt dpt eqist onde rt é retorno anual longo, Delta dt é crescimento de dividendos de registro, dpt é o rendimento do dividendo em log e o eqist é a proporção da atividade de emissão de ações como uma fração da emissão total atividade. Ok, let39s ler nos dados. (Você encontra mais informações sobre o conjunto de dados na minha postagem de replicação do GoyalWelch (2008)). Portanto, agora que temos o vetor de variáveis ​​de estado, podemos estimar o VAR. Para fazer isso, usamos o pacote vars em R. A chamada de função é bastante auto-explonatória. Estimamos um VAR com apenas um atraso. No entanto, let39s explicam um pouco os resultados de resultados da função de resumo. Existem basicamente quatro saídas sumárias de regressões empilhadas. Isso faz sentido se você verificar a definição de um VAR acima, novamente, um VAR basicamente quer explicar todo valor atual de uma variável com seu valor anterior (no caso de p1. Caso contrário, com seu valor anterior s) e os valores anteriores do Outras variáveis ​​no vetor. Como só queremos permitir relações lineares entre essas variáveis, basicamente estamos estimando um OLS para cada variável no vetor. Então, podemos replicar facilmente os resultados executando os OLS nós mesmos. Let39s faz isso para a variável eqis no conjunto de dados. (Eu usarei o pacote dyn para isso porque devemos atrasar as variáveis ​​independentes. Para usar o pacote, eu tenho que transformar o vetor de variáveis ​​de estado em um objeto de séries temporais.) Como você pode ver, estamos recebendo exatamente o Mesmos coeficientes desta forma. Em seguida, let39s calculem lambda. Para fazer isso, rho está definido para 0.96. Uma breve explicação sobre como o Gamma é computado. Primeiro, lembre-se de que Gamma é a matriz de coeficientes que descreve basicamente o VAR. Então, por exemplo, para explicar os retornos de equidade de logs que é o primeiro elemento do vetor de estado, usamos a primeira linha de Gamma. O primeiro elemento desta linha é o coeficiente de regressão OLS do retorno do patrimônio de log anterior regredido no retorno de capital atual, o segundo elemento é o coeficiente do crescimento do dividendo de registro anterior no retorno do patrimônio líquido atual, e assim por diante. No entanto, a função coef aplicada em um objeto Vars não retorna essa matriz, mas uma lista de resultados, em que cada elemento da lista é basicamente o resultado de um OLS. Então, queremos percorrer esses elementos de lista e obter os coeficientes, que são as quatro primeiras linhas na primeira coluna de cada objeto de lista. Isso é exatamente o que é feito na chamada de sapply. Agora temos todos os ingredientes para calcular as notícias DR e CF. Além disso, a notícia de retorno é apenas o residual: esses resultados são muito parecidos com ChenDaZhao (2013). Então, para o período de 1927-2010, as notícias de DR e CF parecem ser igualmente importantes. Se você configurou o item lt-1946, no entanto, o coeficiente de regressão das notícias da taxa de desconto no retorno inesperado é superior a 1, enquanto a notícia CF tem um coeficiente negativo. Isso significa que notícias positivas sobre os fluxos de caixa têm um impacto negativo nos retornos, o que é contra-intuitivo. Como você pode ver, essa abordagem é bastante sensível ao período de tempo.

No comments:

Post a Comment