Autoregressive Moving Average Tutorial
Modelos de Análise de Série de Tempo - Parte 1 ARMA (p, q) Modelos de Análise de Série de Tempo - Parte 1 No último artigo analisámos passeios aleatórios e ruídos brancos como modelos básicos de séries temporais para certos instrumentos financeiros, como preços diários de acções e de índices de acções. Descobrimos que, em alguns casos, um modelo de caminhada aleatória foi insuficiente para captar o comportamento de autocorrelação total do instrumento, o que motiva modelos mais sofisticados. No próximo par de artigos vamos discutir três tipos de modelo, a saber, o modelo de ordem p autorregressivo (AR), o modelo de Ordem Mínima (MO) de ordem q eo modelo ARMA (Mixed Autogressive Moving Average) de ordem p , Q. Estes modelos nos ajudarão a tentar capturar ou explicar mais da correlação serial presente dentro de um instrumento. Em última análise, eles nos fornecerão um meio de prever os preços futuros. No entanto, é bem conhecido que as séries de tempo financeiro possuem uma propriedade conhecida como agrupamento de volatilidade. Ou seja, a volatilidade do instrumento não é constante no tempo. O termo técnico para esse comportamento é conhecido como heterocedasticidade condicional. Uma vez que os modelos AR, MA e ARMA não são condicionalmente heteroscedásticos, ou seja, eles não levam em conta o agrupamento de volatilidade, em última análise, precisamos de um modelo mais sofisticado para nossas previsões. Tais modelos incluem o modelo condutor condicional condicional (ARCH) e modelo Heteroskedastic condicional condicional generalizado (GARCH), e as muitas variantes dele. GARCH é particularmente bem conhecido em finanças de quant e é usado primeiramente para simulações financeiras da série de tempo como um meio de estimar o risco. No entanto, como todos os artigos do QuantStart, eu quero construir esses modelos a partir de versões mais simples para que possamos ver como cada nova variante muda nossa capacidade de previsão. Apesar de AR, MA e ARMA serem modelos de séries temporais relativamente simples, eles são a base de modelos mais complicados, como a Média Móvel Integrada Autorestrada (ARIMA) ea família GARCH. Por isso, é importante que os estudemos. Uma de nossas primeiras estratégias de negociação na série de artigos de séries temporais será combinar ARIMA e GARCH, a fim de prever preços n períodos de antecedência. No entanto, teremos que esperar até discutimos ambos ARIMA e GARCH separadamente antes de aplicá-los a uma estratégia real. Como vamos prosseguir Neste artigo vamos esboçar alguns novos conceitos de séries de tempo que bem precisam para os restantes métodos, Estacionário eo critério de informação Akaike (AIC). Após esses novos conceitos, seguiremos o padrão tradicional para estudar novos modelos de séries temporais: Racional - A primeira tarefa é fornecer uma razão por que estavam interessados em um determinado modelo, como quants. Por que estamos introduzindo o modelo de séries temporais Que efeitos podemos capturar O que ganhamos (ou perdemos) adicionando complexidade extra Definição - Precisamos fornecer a definição matemática completa (e notação associada) do modelo de séries temporais para minimizar Qualquer ambiguidade. Propriedades de Segunda Ordem - Vamos discutir (e em alguns casos derivar) as propriedades de segunda ordem do modelo de séries temporais, que inclui sua média, sua variância e sua função de autocorrelação. Correlograma - Usaremos as propriedades de segunda ordem para traçar um correlograma de uma realização do modelo de séries temporais para visualizar seu comportamento. Simulação - Vamos simular realizações do modelo de série de tempo e, em seguida, ajustar o modelo para estas simulações para garantir que temos implementações precisas e compreender o processo de montagem. Dados Financeiros Reais - Ajustaremos o modelo da série de tempo aos dados financeiros reais e consideraremos o correlograma dos resíduos para ver como o modelo explica a correlação serial na série original. Previsão - Vamos criar n-passo adiante previsões do modelo de série de tempo para realizações específicas, a fim de produzir sinais de negociação. Quase todos os artigos que escrevo sobre modelos de séries temporais cairão nesse padrão e nos permitirá comparar facilmente as diferenças entre cada modelo à medida que adicionamos mais complexidade. Vamos começar por olhar para estacionário rigoroso eo AIC. Estritamente estacionário Nós fornecemos a definição de estacionário no artigo sobre correlação serial. No entanto, como estaremos entrando no reino de muitas séries financeiras, com várias freqüências, precisamos ter certeza de que nossos (eventuais) modelos levem em conta a volatilidade variável no tempo dessas séries. Em particular, precisamos considerar sua heterocedasticidade. Encontraremos este problema quando tentarmos ajustar certos modelos a séries históricas. Geralmente, nem toda a correlação seriada nos resíduos dos modelos ajustados pode ser considerada sem levar em consideração a heterocedasticidade. Isso nos leva de volta à estacionária. Uma série não é estacionária na variância se tiver volatilidade variável no tempo, por definição. Isso motiva uma definição mais rigorosa de estacionariedade, ou seja, a estacionariedade estrita: estritamente estacionária série A série de tempo modelo, é estritamente estacionário se a distribuição estatística conjunta dos elementos x, ldots, x é o mesmo que xm, ldots, xm, Para todos ti, m. Pode-se pensar nesta definição como simplesmente que a distribuição da série temporal é inalterada para qualquer deslocamento abritário no tempo. Em particular, a média ea variância são constantes no tempo para uma série estritamente estacionária ea autocovariância entre xt e xs (digamos) depende apenas da diferença absoluta de t e s, t-s. Estaremos revisitando estritamente séries estacionárias em futuras postagens. Critério de Informação Akaike Eu mencionei em artigos anteriores que eventualmente precisaria considerar como escolher entre melhores modelos separados. Isto é verdade não só de análise de séries temporais, mas também de aprendizagem de máquinas e, em termos mais gerais, de estatísticas em geral. Os dois métodos principais que usaremos (por enquanto) são o Critério de Informação Akaike (AIC) e o Critério de Informação Bayesiano (à medida que avançamos com nossos artigos sobre Estatísticas Bayesianas). Bem, brevemente considerar a AIC, como ele será usado na Parte 2 do ARMA artigo. AIC é essencialmente uma ferramenta para auxiliar na seleção do modelo. Ou seja, se tivermos uma seleção de modelos estatísticos (incluindo séries temporais), então a AIC estima a qualidade de cada modelo, em relação aos outros que temos disponíveis. Baseia-se na teoria da informação. Que é um tópico altamente interessante, profundo que infelizmente não podemos entrar em muito detalhes sobre. Ele tenta equilibrar a complexidade do modelo, que neste caso significa o número de parâmetros, com o quão bem ele se encaixa os dados. Vamos fornecer uma definição: Critério de Informação Akaike Se tomarmos a função de verossimilhança para um modelo estatístico, que tem k parâmetros, e L maximiza a probabilidade. Então o Critério de Informação Akaike é dado por: O modelo preferido, a partir de uma seleção de modelos, tem o mínimo AIC do grupo. Você pode ver que o AIC cresce à medida que o número de parâmetros, k, aumenta, mas é reduzido se a probabilidade de log negativo aumentar. Essencialmente penaliza modelos que são overfit. Vamos criar modelos AR, MA e ARMA de várias ordens e uma maneira de escolher o melhor modelo para um conjunto de dados específico é usar o AIC. Isto é o que bem estar fazendo no próximo artigo, principalmente para os modelos ARMA. Modelos autoregressivos de ordem p O primeiro modelo que irão considerar, que forma a base da Parte 1, é o modelo Autoregressivo de ordem p, muitas vezes abreviado para AR (p). No artigo anterior consideramos a caminhada aleatória. Onde cada termo, xt é dependente unicamente do termo anterior, x e um termo estocástico de ruído branco, wt: O modelo autorregressivo é simplesmente uma extensão da caminhada aleatória que inclui termos mais atrás no tempo. A estrutura do modelo é linear. Que é o modelo depende linearmente sobre os termos anteriores, com coeficientes para cada termo. Isto é de onde o regressivo vem em autorregressivo. É essencialmente um modelo de regressão onde os termos anteriores são os preditores. Modelo auto-regressivo de ordem p Um modelo de série temporal,, é um modelo autorregressivo de ordem p. AR (p), se: begin xt alfa1 x ldots alfa x wt soma p alphai x wt fim Onde está o ruído branco e alphai em mathbb, com alfap neq 0 para um processo autorregressivo p-order. Se considerarmos o operador de mudança de marcha para trás. (Veja o artigo anterior), então podemos reescrever o acima como uma função theta de: begin thetap () xt (1 - alpha1 - alpha2 2 - ldots - alphap) xt wt end Talvez a primeira coisa a notar sobre o modelo AR (p) É que uma caminhada aleatória é simplesmente AR (1) com alfa igual a unidade. Como já dissemos acima, o modelo autogressivo é uma extensão da caminhada aleatória, então isso faz sentido. É fácil fazer previsões com o modelo AR (p), para qualquer tempo t, uma vez que temos os coeficientes alfa determinados, nossa estimativa Simplesmente torna-se: comece hat t alfa1 x ldots alfa x extremidade Portanto, podemos fazer n-passo adiante previsões produzindo chapéu t, chapéu, chapéu, etc até chapéu. De fato, quando considerarmos os modelos ARMA na Parte 2, usaremos a função R predict para criar previsões (juntamente com bandas de intervalo de confiança de erro padrão) que nos ajudarão a produzir sinais de negociação. Estacionaridade para Processos Autoregressivos Um dos aspectos mais importantes do modelo AR (p) é que nem sempre é estacionário. De fato, a estacionaridade de um modelo particular depende dos parâmetros. Ive tocou sobre isso antes em um artigo anterior. Para determinar se um processo AR (p) é parado ou não, precisamos resolver a equação característica. A equação característica é simplesmente o modelo autorregressivo, escrito em forma de mudança para trás, definido como zero: resolvemos esta equação para. Para que o processo autorregressivo particular seja estacionário, precisamos que todos os valores absolutos das raízes dessa equação excedam a unidade. Esta é uma propriedade extremamente útil e nos permite calcular rapidamente se um processo AR (p) está parado ou não. Vamos considerar alguns exemplos para tornar essa idéia concreta: Random Walk - O processo AR (1) com alfa1 1 tem a equação característica theta 1 -. Claramente isto tem a raiz 1 e como tal não é estacionária. AR (1) - Se escolhemos fração alfa, obtemos xt frac x wt. Isto nos dá uma equação característica de 1 - frac 0, que tem uma raiz 4 gt 1 e assim este processo particular de AR (1) é estacionário. AR (2) - Se definimos alpha1 alpha2 frac, então temos xt frac x frac x wt. Sua equação característica se torna - frac () () 0, que dá duas raízes de 1, -2. Uma vez que esta tem uma raiz unitária é uma série não-estacionária. No entanto, outras séries AR (2) podem ser estacionárias. Propriedades da segunda ordem A média de um processo AR (p) é zero. No entanto, as autocovariâncias e autocorrelações são dadas por funções recursivas, conhecidas como as equações de Yule-Walker. As propriedades completas são dadas abaixo: begin mux E (xt) 0 end começo gammak soma p alphai gama, enspace k 0 fim começo rhok soma p alphai rho, enspace k 0 end Note que é necessário conhecer os valores dos parâmetros alfai antes de Calculando as autocorrelações. Agora que weve declarou as propriedades de segunda ordem podemos simular várias ordens de AR (p) e traçar os correlogramms correspondentes. Simulações e Correlogramas Vamos começar com um processo AR (1). Isso é semelhante a uma caminhada aleatória, exceto que alfa1 não tem que igualar a unidade. Nosso modelo vai ter alpha1 0,6. O código R para criar esta simulação é dado como se segue: Note que o nosso loop for é executado de 2 a 100, não 1 a 100, como xt-1 quando t0 não é indexável. Similarmente para processos AR (p) de ordem mais alta, t deve variar de p a 100 neste loop. Podemos traçar a realização deste modelo e seu correlogram associado usando a função de layout: Vamos agora tentar montar um processo AR (p) para os dados simulados que acabamos de gerar, para ver se podemos recuperar os parâmetros subjacentes. Você pode se lembrar que nós realizamos um procedimento semelhante no artigo sobre ruído branco e passeios aleatórios. Como se vê, R fornece um comando útil ar para caber modelos autorregressivos. Podemos usar este método para nos dizer primeiramente a melhor ordem p do modelo (conforme determinado pela AIC acima) e fornecer-nos com estimativas de parâmetros para o alphai, que podemos então usar para formar intervalos de confiança. Para completar, vamos recriar a série x: Agora usamos o comando ar para ajustar um modelo autorregressivo ao nosso processo AR (1) simulado, usando estimativa de máxima verossimilhança (MLE) como procedimento de ajuste. Primeiramente, extrairemos a melhor ordem obtida: O comando ar determinou com sucesso que nosso modelo de série temporal subjacente é um processo AR (1). Podemos então obter as estimativas dos parâmetros alfai: O procedimento MLE produziu uma estimativa, somando 0,523, que é ligeiramente inferior ao valor verdadeiro de alfa1 0,6. Finalmente, podemos usar o erro padrão (com a variância assintótica) para construir 95 intervalos de confiança em torno do (s) parâmetro (s) subjacente (s). Para isso, simplesmente criamos um vetor c (-1.96, 1.96) e depois o multiplicamos pelo erro padrão: O parâmetro verdadeiro está dentro do intervalo de confiança de 95, como esperamos do fato de termos gerado a realização a partir do modelo especificamente . Como se mudarmos o alpha1 -0.6 Como antes podemos ajustar um modelo AR (p) usando ar: Mais uma vez recuperamos a ordem correta do modelo, com uma estimativa muito boa hat -0.597 de alfa1-0.6. Verificamos também que o verdadeiro parâmetro está dentro do intervalo de confiança de 95 vezes mais uma vez. Vamos adicionar um pouco mais de complexidade aos nossos processos autorregressivos, simulando um modelo de ordem 2. Em particular, vamos definir alpha10.666, mas também definir alpha2 -0.333. Heres o código completo para simular e traçar a realização, bem como o correlograma de uma série como: Como antes podemos ver que o correlogram difere significativamente do ruído branco, como wed esperar. Existem picos estatisticamente significativos em k1, k3 e k4. Mais uma vez, iríamos usar o comando ar para ajustar um modelo AR (p) à nossa realização subjacente AR (2). O procedimento é semelhante ao do ajuste AR (1): A ordem correta foi recuperada e as estimativas do parâmetro hat 0.696 e hat -0.395 não estão muito longe dos valores dos parâmetros verdadeiros de alfa10.666 e alfa2-0.333. Observe que recebemos uma mensagem de aviso de convergência. Observe também que R realmente usa a função arima0 para calcular o modelo AR. Como aprendemos em artigos subseqüentes, os modelos AR (p) são simplesmente modelos ARIMA (p, 0, 0) e, portanto, um modelo AR é um caso especial de ARIMA sem componente de Moving Average (MA). Bem, também estar usando o comando arima para criar intervalos de confiança em torno de vários parâmetros, razão pela qual weve negligenciado fazê-lo aqui. Agora que nós criamos alguns dados simulados, é hora de aplicar os modelos AR (p) às séries temporais de ativos financeiros. Dados financeiros Amazon Inc. Permite começar por obter o preço da ação para a Amazônia (AMZN) usando quantmod como no último artigo: A primeira tarefa é sempre traçar o preço para uma breve inspeção visual. Neste caso, bem usando os preços de fechamento diário: Você vai notar que o quantmod adiciona alguma formatação para nós, ou seja, a data, e um gráfico um pouco mais bonito do que os gráficos habituais R: Vamos agora tomar os retornos logarítmicos de AMZN e, em seguida, o primeiro - order da série, a fim de converter a série de preços originais de uma série não-estacionária para uma (potencialmente) estacionária. Isso nos permite comparar maçãs com maçãs entre ações, índices ou qualquer outro ativo, para uso em estatísticas multivariadas posteriores, como no cálculo de uma matriz de covariância. Se você quiser uma explicação detalhada sobre por que os retornos de log são preferíveis, dê uma olhada neste artigo mais em Quantivity. Permite criar uma nova série, amznrt. Para manter nossos logs diferenciados retorna: Mais uma vez, podemos plotar a série: Nesta fase, queremos traçar o correlograma. Estavam olhando para ver se a série diferenciada parece ruído branco. Se não houver, então há inexplicável correlação serial, o que pode ser explicado por um modelo autorregressivo. Observamos um pico estatisticamente significativo em k2. Daí há uma possibilidade razoável de correlação seriada inexplicada. Esteja ciente, porém, que isso pode ser devido a viés de amostragem. Como tal, podemos tentar montar um modelo AR (p) para a série e produzir intervalos de confiança para os parâmetros: Ajustar o modelo autorregressivo ar à série de ordem diferenciada de preços de log produz um modelo AR (2), com hat -0.0278 E chapéu -0,0687. Ive também saída a variância austóptica para que possamos calcular erros padrão para os parâmetros e produzir intervalos de confiança. Queremos ver se zero é parte do intervalo de confiança 95, como se fosse, ele reduz a nossa confiança de que temos um verdadeiro processo AR (2) subjacente para a série AMZN. Para calcular os intervalos de confiança no nível 95 para cada parâmetro, usamos os seguintes comandos. Tomamos a raiz quadrada do primeiro elemento da matriz de variância assintótica para produzir um erro padrão, então criamos intervalos de confiança multiplicando-o por -1,96 e 1,96, respectivamente, para o nível 95: Note que isso se torna mais direto quando se usa a função arima , Mas esperar bem até a parte 2 antes de introduzi-la corretamente. Assim, podemos ver que para alfa1 zero está contido dentro do intervalo de confiança, enquanto que para alfa2 zero não está contido no intervalo de confiança. Portanto, devemos ter muito cuidado ao pensar que realmente temos um modelo generative AR (2) subjacente para AMZN. Em particular, observamos que o modelo autorregressivo não leva em conta o agrupamento da volatilidade, o que leva ao agrupamento da correlação serial em séries temporais financeiras. Quando considerarmos os modelos ARCH e GARCH em artigos posteriores, vamos explicar isso. Quando chegarmos a usar a função arima completo no próximo artigo, faremos previsões da série diária de preços de registro para nos permitir criar sinais comerciais. SampP500 US Equity Index Junto com ações individuais, podemos também considerar o US Equity Index, o SampP500. Vamos aplicar todos os comandos anteriores a esta série e produzir as parcelas como antes: Podemos traçar os preços: Como antes, bem criar a diferença de primeira ordem do log preços de fechamento: Mais uma vez, podemos traçar a série: É claro Deste gráfico que a volatilidade não é estacionária no tempo. Isto também se reflete na trama do correlograma. Existem muitos picos, incluindo k1 e k2, que são estatisticamente significativos para além de um modelo de ruído branco. Além disso, vemos evidências de processos de memória longa, pois existem picos estatisticamente significativos em k16, k18 e k21: Em última análise, precisamos de um modelo mais sofisticado do que um modelo autorregressivo de ordem p. No entanto, nesta fase ainda podemos tentar ajustar esse modelo. Vamos ver o que temos se fizermos isso: Usando ar produz um modelo AR (22), ou seja, um modelo com 22 parâmetros não-zero O que isso nos diz É indicativo que há provavelmente muito mais complexidade na correlação serial do que Um modelo linear simples de preços passados pode realmente explicar. No entanto, já sabíamos disso porque podemos ver que há uma correlação serial significativa na volatilidade. Por exemplo, considere o período altamente volátil em torno de 2008. Isso motiva o próximo conjunto de modelos, ou seja, a Média Móvel Mínima (q) e a Média Móvel Autoregressiva ARMA (p, q). Bem, aprender sobre estes dois na parte 2 deste artigo. Como repetidamente mencionaremos, estes acabarão por nos levar à família de modelos ARIMA e GARCH, ambos proporcionando um ajuste muito melhor à complexidade de correlação serial do Samp500. Isso nos permitirá melhorar significativamente nossas previsões e, em última instância, produzir estratégias mais rentáveis. Clique abaixo para saber mais sobre. A informação contida neste site é a opinião dos autores individuais com base em sua observação pessoal, pesquisa e anos de experiência. O editor e seus autores não são conselheiros de investimentos, advogados, CPAs ou outros profissionais de serviços financeiros registrados e não prestam serviços jurídicos, fiscais, contábeis, de investimento ou outros serviços profissionais. As informações oferecidas por este site são apenas educação geral. Porque cada situação factual dos indivíduos é diferente o leitor deve procurar seu próprio conselheiro pessoal. Nem o autor nem o editor assumem qualquer responsabilidade por quaisquer erros ou omissões e não têm responsabilidade nem responsabilidade perante qualquer pessoa ou entidade em relação a danos causados ou alegadamente causados directa ou indirectamente pelas informações contidas neste site. Use por sua conta e risco. Além disso, este site pode receber compensação financeira das empresas mencionadas através de publicidade, programas afiliados ou de outra forma. As tarifas e ofertas dos anunciantes mostrados neste website mudam com freqüência, às vezes sem aviso prévio. Enquanto nos esforçamos para manter informações precisas e oportunas, os detalhes da oferta podem estar desatualizados. Os visitantes devem assim verificar os termos de tais ofertas antes de participar neles. O autor e seu editor não se responsabilizam por atualizar informações e renunciarem a responsabilidade por conteúdo, produtos e serviços de terceiros, inclusive quando acessados por meio de hiperlinks e / ou anúncios neste site. A documentação é o meio incondicional do processo e x03C8 (L) É um polinômio racional, de grau infinito, de operador de lag, (1 x03C8 1 L x0C2 2 L 2 x 2026). Nota: A propriedade Constant de um objeto modelo arima corresponde a c. E não a média incondicional 956. Por decomposição de Wolds 1. A equação 5-12 corresponde a um processo estocástico estacionário desde que os coeficientes x03C8 i sejam absolutamente somaveis. Este é o caso quando o polinômio AR, x03D5 (L). É estável. O que significa que todas as suas raízes estão fora do círculo unitário. Além disso, o processo é causal desde que o polinômio MA é invertido. O que significa que todas as suas raízes estão fora do círculo unitário. Econometrics Toolbox reforça a estabilidade e a invertibilidade dos processos ARMA. Quando você especifica um modelo ARMA usando arima. Você obtém um erro se você inserir coeficientes que não correspondem a um polinômio AR estável ou polinômio MA reversível. Similarmente, a estimativa impõe restrições de estacionaridade e de invertibilidade durante a estimativa. Referências 1 Wold, H. Um estudo na análise de séries estacionárias do tempo. Uppsala, Suécia: Almqvist amp Wiksell, 1938. Selecionar sua modelação de CountryARMA A funcionalidade de modelagem do ARMA automatiza os passos de construção do modelo ARMA: adivinhando parâmetros iniciais, validação de parâmetros, teste de bondade e diagnóstico de resíduos. Para usar essa funcionalidade, selecione o ícone correspondente na barra de ferramentas (ou o item de menu) Aponte para o exemplo de dados em sua planilha, selecione a ordem correspondente do modelo de componente autorregressivo (AR) e a ordem do modelo de componente de média móvel , Testes de bondade de ajuste, diagnóstico residual e, finalmente, designar um local em sua planilha para imprimir o modelo. Após a conclusão, a função de modelagem ARMA fornece os parâmetros dos modelos selecionados e os testes / cálculos selecionados no local designado de sua planilha.
Comments
Post a Comment