Friday 24 November 2017

Autoregressive Moving Average Model In R


Média móvel média de dados de séries temporais (observações igualmente espaçadas no tempo) de vários períodos consecutivos. Chamado de movimento porque é continuamente recalculado à medida que novos dados se tornam disponíveis, ele progride soltando o valor mais antigo e adicionando o valor mais recente. Por exemplo, a média móvel das vendas de seis meses pode ser calculada tomando a média das vendas de janeiro a junho, depois a média das vendas de fevereiro a julho, de março a agosto, e assim por diante. As médias móveis (1) reduzem o efeito das variações temporárias nos dados, (2) melhoram o ajuste dos dados para uma linha (um processo chamado alisamento) para mostrar a tendência dos dados mais claramente e (3) realçar qualquer valor acima ou abaixo do tendência. Se você está calculando algo com variância muito alta, o melhor que você pode fazer é descobrir a média móvel. Eu queria saber qual era a média móvel dos dados, então eu teria uma melhor compreensão de como estávamos fazendo. Quando você está tentando descobrir alguns números que mudam frequentemente, o melhor que você pode fazer é calcular a média móvel. Média de mudança agressiva ARMA (p, q) Modelos para análise de séries temporais - Parte 1 No último artigo, analisamos caminhadas aleatórias e Ruído branco como modelos de séries temporais básicas para certos instrumentos financeiros, como os preços diários do patrimônio e do índice de ações. Descobrimos que, em alguns casos, um modelo de caminhada aleatória era insuficiente para capturar o comportamento de autocorrelação total do instrumento, o que motiva modelos mais sofisticados. Nos próximos dois artigos, vamos discutir três tipos de modelo, ou seja, o modelo Autoregressivo (AR) da ordem p, o modelo de ordem média móvel (MA) da ordem e o modelo de ordem média auto - gressiva mista (ARMA) da ordem p , Q. Esses modelos nos ajudarão a tentar capturar ou explicar mais a 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 sabido que as séries temporais financeiras possuem uma propriedade conhecida como aglomeração de volatilidade. Ou seja, a volatilidade do instrumento não é constante no tempo. O termo técnico para este comportamento é conhecido como heterocedasticidade condicional. Uma vez que os modelos AR, MA e ARMA não são condicionalmente heterossejidos, isto é, eles não levam em consideração a acumulação de volatilidade, finalmente precisaremos de um modelo mais sofisticado para nossas previsões. Tais modelos incluem o modelo Heteroskedastic condicional autogressivo (ARCH) e o modelo Heteroskedastic condicional autogressivo generalizado (GARCH), e suas muitas variantes. O GARCH é particularmente conhecido em financiamento quantitativo e é usado principalmente para simulações de séries temporais financeiras como meio de estimar o risco. No entanto, como acontece com todos os artigos QuantStart, quero construir esses modelos a partir de versões mais simples para que possamos ver como cada nova variante altera nossa capacidade preditiva. 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 Mover Integrada Autoregressiva (ARIMA) e a família GARCH. Por isso, é importante estudá-los. Uma das nossas primeiras estratégias de negociação na série de artigos da série temporal será combinar ARIMA e GARCH para prever antecipadamente os preços n. No entanto, teremos que esperar até discutirmos ARIMA e GARCH separadamente antes de aplicá-los a uma estratégia real. Como vamos prosseguir Neste artigo, vamos descrever alguns novos conceitos de séries temporais que bem precisam dos métodos restantes, a saber, rigorosos Estacionária e o critério de informação Akaike (AIC). Subsequentemente a esses novos conceitos, seguiremos o padrão tradicional para o estudo de novos modelos de séries temporais: Justificação - A primeira tarefa é fornecer uma razão pela qual estavam interessados ​​em um modelo particular, como quants. Por que estamos apresentando o modelo da série temporal? Que efeitos ele pode capturar? O que ganhamos (ou perdemos) adicionando em complexidade extra Definição - Precisamos fornecer a definição matemática completa (e notação associada) do modelo da série temporal para minimizar Qualquer ambiguidade. Propriedades de segunda ordem - Vamos discutir (e, em alguns casos, derivar) as propriedades de segunda ordem do modelo da série temporal, que inclui sua média, sua variação e sua função de autocorrelação. Correlograma - Usaremos as propriedades de segunda ordem para plotar um correlograma de uma realização do modelo de séries temporais para visualizar seu comportamento. Simulação - Vamos simular as realizações do modelo da série temporal e, em seguida, ajustar o modelo a essas simulações para garantir que possamos implementações precisas e entender o processo de montagem. Dados financeiros reais - Ajudaremos o modelo da série temporal a 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 previsões n-passo a frente do modelo da série temporal para realizações específicas, a fim de produzir sinais de negociação. Quase todos os artigos que escrevo em 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. Começamos por analisar a estacionária rigorosa e a AIC. Estritamente estacionário Nós fornecemos a definição de estacionaria no artigo sobre a correlação em série. No entanto, como vamos entrar no reino de muitas séries financeiras, com várias freqüências, precisamos garantir que nossos (eventuais) modelos levem em consideração a volatilidade variável no tempo dessas séries. Em particular, precisamos considerar sua heterossextibilidade. Encontraremos esse problema quando tentarmos ajustar certos modelos a séries históricas. Geralmente, nem toda a correlação em série nos resíduos de modelos ajustados pode ser contabilizada sem levar em consideração a heterocedasticidade. Isso nos leva de volta à estacionança. 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 estacionaria, a saber, a estacionalização rigorosa: Estritamente estacionário Série A modelo de série temporal, é estritamente estacionário se a distribuição estatística conjunta dos elementos x, ldots, x é a mesma que a de xm, ldots, xm, Forall ti, m. Pode-se pensar nessa definição como simplesmente que a distribuição da série temporal é inalterada para qualquer mudança abrupta no tempo. Em particular, a média e a variância são constantes no tempo para uma série estritamente estacionária e a autocovariância entre xt e xs (digamos) depende apenas da diferença absoluta de t e s, t-s. Nós estaremos revendo estritamente séries estacionárias em postagens futuras. O Critério de Informação Akaike mencionado em artigos anteriores que eventualmente precisamos considerar como escolher entre os melhores modelos separados. Isto é verdade não só da análise das séries temporais, mas também da aprendizagem por máquinas e, mais amplamente, das estatísticas em geral. Os dois principais métodos 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, considere brevemente o AIC, pois será usado na Parte 2 do artigo ARMA. AIC é essencialmente uma ferramenta para auxiliar na seleção do modelo. Ou seja, se temos uma seleção de modelos estatísticos (incluindo séries temporais), a AIC estima a qualidade de cada modelo em relação aos outros que temos disponível. Baseia-se na teoria da informação. Que é um tópico muito interessante e profundo que, infelizmente, não podemos entrar em detalhes demais. Ele tenta equilibrar a complexidade do modelo, o que significa, neste caso, o número de parâmetros, com o quão bem se ajusta aos dados. Permite fornecer uma definição: Critério de informação de Akaike Se tomarmos a função de verossimilhança para um modelo estatístico, que possui parâmetros k e L maximiza a probabilidade. Então o Critério de Informação de 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 negativa aumentar. Essencialmente, penaliza modelos que são superados. Vamos criar modelos AR, MA e ARMA de diferentes ordens e uma maneira de escolher o melhor modelo que se encaixa em um determinado conjunto de dados é usar o AIC. Isto é o que bem estar fazendo no próximo artigo, principalmente para modelos ARMA. Autoregressivo (AR) Modelos de ordem p O primeiro modelo que consideramos, que constitui a base da Parte 1, é o modelo Autoregressivo de ordem p, muitas vezes reduzido a 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 atrasados ​​no tempo. A estrutura do modelo é linear. Esse é o modelo depende linearmente dos termos anteriores, com coeficientes para cada termo. É aí que o regressivo vem de autoregressivo. É essencialmente um modelo de regressão onde os termos anteriores são os preditores. Modelo Autoregressivo de ordem p Um modelo de série temporal,, é um modelo de ordem autoregressivo p. AR (p), se: begin xt alpha1 x ldots alphap x wt sum p alphai x wt end Onde está o ruído branco e alphai em mathbb, com alphap neq 0 para um processo autorregressivo de ordem p. Se considerarmos o operador de deslocamento 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 1 igual à unidade. Como afirmamos acima, o modelo autogressivo é uma extensão da caminhada aleatória, então isso faz sentido. É direto fazer previsões com o modelo AR (p), para qualquer momento t, uma vez que temos os coeficientes de alphai determinados, nossa estimativa Simplesmente se torna: começo chapéu t alpha1 x ldots alphap x end Assim, podemos fazer previsões n-passo a frente produzindo chapéu, chapéu, chapéu, etc. até o chapéu. Na verdade, uma vez que consideremos os modelos ARMA na Parte 2, usaremos a função de predição R para criar previsões (juntamente com bandas de intervalo de confiança de erro padrão) que nos ajudarão a produzir sinais comerciais. Stationarity para Processos Autoregressivos Um dos aspectos mais importantes do modelo AR (p) é que nem sempre é estacionário. Na verdade, a estacionariedade de um modelo específico depende dos parâmetros. Eu já toquei isso antes em um artigo anterior. Para determinar se um processo AR (p) está parado ou não, precisamos resolver a equação característica. A equação característica é simplesmente o modelo autorregressivo, escrito em forma de deslocamento para trás, definido como zero: resolvemos esta equação. Para que o processo autoregressivo particular seja estacionário, precisamos de todos os valores absolutos das raízes dessa equação para exceder 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 esta idéia concreta: Random Walk - O processo AR (1) com alpha1 1 tem a equação característica theta 1 -. Claramente, isso tem a raiz 1 e, como tal, não é estacionário. AR (1) - Se escolhermos alpha1 frac, obtemos xt frac x wt. Isso nos dá uma equação característica de 1 - frac 0, que tem uma raiz de 4 gt 1 e, portanto, esse processo particular de AR (1) é estacionário. AR (2) - Se formamos alpha1 alpha2 frac, obtemos xt frac x frac x wt. Sua equação característica torna-se - frac () () 0, que dá duas raízes de 1, -2. Uma vez que esta tem uma unidade de raiz é uma série não estacionária. No entanto, outras séries AR (2) podem ser estacionárias. Propriedades de 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 equações de Yule-Walker. As propriedades completas são dadas abaixo: begin mux E (xt) 0 end begin gammak soma p alphai gamma, enspace k 0 end begin rhok soma p alphai rho, enspace k 0 end Observe que é necessário conhecer os valores dos parâmetros alphai antes de Calculando as autocorrelações. Agora que declaramos as propriedades de segunda ordem, podemos simular várias ordens de AR (p) e traçar os correlogramas correspondentes. Simulações e Correlogramas Comece com um processo AR (1). Isso é semelhante a uma caminhada aleatória, exceto que o alfa1 não tem igual a unidade. Nosso modelo terá alfa1 0,6. O código R para criar esta simulação é o seguinte: Observe que nosso loop for é realizado de 2 a 100, não de 1 a 100, como xt-1 quando t0 não é indexável. Da mesma forma, para processos AR (p) de ordem superior, t deve variar de p para 100 neste loop. Podemos traçar a realização deste modelo e seu correlograma associado usando a função de layout: agora tentamos ajustar um processo AR (p) aos dados simulados que acabamos de gerar, para ver se podemos recuperar os parâmetros subjacentes. Você pode lembrar que realizamos um procedimento semelhante no artigo sobre ruídos brancos e passeios aleatórios. Na medida em que R fornece um comando útil ar para caber modelos autorregressivos. Podemos usar esse método para primeiro nos dizer a melhor ordem p do modelo (conforme determinado pela AIC acima) e nos fornecer estimativas de parâmetros para o alfai, que podemos usar para formar intervalos de confiança. Para completar, vamos recriar a série x: agora usamos o comando ar para ajustar um modelo autoregressivo ao nosso processo de AR (1) simulado, usando a estimativa de máxima verossimilhança (MLE) como procedimento de montagem. Em primeiro lugar, 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, o chapéu 0.523, que é ligeiramente inferior ao valor verdadeiro de alpha1 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 conseguir isso, simplesmente criamos um vetor c (-1,96, 1,96) e, em seguida, multiplicamos pelo erro padrão: o parâmetro verdadeiro se enquadra no intervalo de confiança 95, como esperamos do fato de que geramos a realização do modelo especificamente . Que tal se mudarmos o alpha1 -0.6. Como antes, podemos ajustar um modelo de AR (p) usando ar: Mais uma vez, recuperamos a ordem correta do modelo, com uma boa estimativa de chapéu -0.597 de alfa1-0.6. Também vemos que o parâmetro verdadeiro cai novamente no intervalo de confiança 95. Permite adicionar mais complexidade aos nossos processos autorregressivos, simulando um modelo de ordem 2. Em particular, estabelecemos alfa10.666, mas também definimos alpha2 -0.333. Heres o código completo para simular e traçar a realização, bem como o correlograma para tal série: como antes, podemos ver que o correlograma difere significativamente do ruído branco, como esperam. Existem picos estatisticamente significativos em k1, k3 e k4. Mais uma vez, iriam usar o comando ar para ajustar um modelo AR (p) à nossa realização AR (2) subjacente. O procedimento é semelhante ao 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 alpha10.666 e alpha2-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. Além disso, aprender 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 média móvel (MA). Bem, também estar usando o comando arima para criar intervalos de confiança em torno de múltiplos parâmetros, e é por isso que negligenciamos 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. Comece pela obtenção do preço das ações da Amazon (AMZN) usando o quantmod como no último artigo: A primeira tarefa é sempre traçar o preço para uma breve inspeção visual. Neste caso, bem, use os preços de fechamento diários: você 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 R habituais: agora vamos tomar os retornos logarítmicos da AMZN e depois o primeiro Diferença de ordem da série para converter a série de preços original 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 recurso, para uso em estatísticas multivariadas posteriores, como no cálculo de uma matriz de covariância. Se você gostaria de uma explicação detalhada sobre o motivo pelo qual os retornos de registro são preferíveis, dê uma olhada neste artigo na Quantividade. Vamos criar uma nova série, amznrt. Para manter nossos retornos de log diferentes: Mais uma vez, podemos traçar a série: nesta etapa, queremos traçar o correlograma. Olhamos para ver se a série diferenciada se parece com ruído branco. Se não existir, então, há uma correlação serial inexplicada, que pode ser explicada por um modelo autorregressivo. Observamos um pico estatisticamente significativo em k2. Portanto, existe uma possibilidade razoável de correlação serial inexplicada. Esteja ciente de que isso pode ser devido ao viés de amostragem. Como tal, podemos tentar ajustar um modelo AR (p) à série e produzir intervalos de confiança para os parâmetros: Ajustar o modelo ar autoregressivo à série de preços de registro diferenciada de primeira ordem produz um modelo AR (2), com chapéu -0.0278 E chapéu -0.0687. Eu também emitido a variância aestotica para que possamos calcular erros padrão para os parâmetros e produzir intervalos de confiança. Queremos ver se zero faz parte do intervalo de confiança 95, como se fosse, reduz a nossa confiança de que temos um verdadeiro processo subjacente AR (2) 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 crie intervalos de confiança, multiplicando-o por -1,96 e 1,96, respectivamente, pelo nível 95: Observe que isso se torna mais direto ao usar a função arima , Mas espere até a Parte 2 antes de apresentá-lo corretamente. Assim, podemos ver que por alfa1 zero está contido dentro do intervalo de confiança, enquanto que para alfa2 zero não está contido no intervalo de confiança. Por isso, devemos ter muito cuidado ao pensar que realmente temos um modelo AR (2) generativo subjacente para AMZN. Em particular, observamos que o modelo autorregressivo não leva em consideração o agrupamento de volatilidade, o que leva ao agrupamento de correlação serial em séries temporais financeiras. Quando consideramos os modelos ARCH e GARCH em artigos posteriores, iremos explicar isso. Quando chegarmos a usar a função arima completa no próximo artigo, faremos previsões da série diária de preços de registro para nos permitir criar sinais de negociação. SampP500 US Equity Index Junto com ações individuais, também podemos considerar o índice US Equity, o SampP500. Permite a aplicação de todos os comandos anteriores a esta série e produzimos as parcelas como antes: podemos traçar os preços: como antes, bem, crie a diferença de primeira ordem dos preços de fechamento de registro: mais uma vez, podemos traçar a série: é claro A partir deste gráfico que a volatilidade não é estacionária no tempo. Isso também se reflete na trama do correlograma. Existem muitos picos, incluindo k1 e k2, que são estatisticamente significativos além de um modelo de ruído branco. Além disso, vemos evidências de processos de memória longa, pois existem alguns picos estatisticamente significativos em k16, k18 e k21: Em última análise, precisaremos de um modelo mais sofisticado do que um modelo de ordem autoregressivo p. No entanto, nesta fase, ainda podemos tentar ajustar esse modelo. Vamos ver o que obtemos se o fizermos: Usando ar produz um modelo AR (22), ou seja, um modelo com 22 parâmetros não-zero O que isso nos diz É indicativo de que há uma complexidade muito maior 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 existe uma correlação séria em série 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, o MA em movimento (q) e a média móvel auto-agressiva ARMA (p, q). Bem, saiba mais sobre estes na Parte 2 deste artigo. Como mencionamos repetidamente, estes nos levarão finalmente à família de modelos ARIMA e GARCH, que proporcionará um ajuste muito melhor à complexidade de correlação em série do Samp500. Isso nos permitirá melhorar significativamente nossas previsões e, em última análise, produzir estratégias mais lucrativas. Clique abaixo para aprender 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. A editora e seus autores não são conselheiros de investimento registrados, advogados, CPAs ou outros profissionais de serviços financeiros e não prestam assessoria jurídica, fiscal, contábil, de investimento ou outros serviços profissionais. A informação oferecida por este site é apenas de educação geral. Como cada situação factual de indivíduos é diferente, o leitor deve procurar seu próprio conselheiro pessoal. Nem o autor nem o editor assumem qualquer responsabilidade ou responsabilidade por quaisquer erros ou omissões e não devem ter responsabilidade nem responsabilidade para qualquer pessoa ou entidade em relação a danos causados ​​ou alegadamente causados ​​direta ou indiretamente pelas informações contidas neste site. Use por sua conta e risco. Além disso, este site pode receber compensações financeiras das empresas mencionadas através de publicidade, programas afiliados ou de outra forma. Taxas e ofertas de anunciantes exibidos neste site 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 desactualizados. Os visitantes devem assim verificar os termos de tais ofertas antes de participar delas. O autor e a editora não se responsabilizam por atualizar informações e negar a responsabilidade pelo conteúdo, produtos e serviços de terceiros, inclusive quando acessados ​​através de hiperlinks ou propagandas neste site.

No comments:

Post a Comment