Tuesday 21 November 2017

Autoregressive Moving Average C ++


Média de Mudança Integrada Autoregressiva Modelos de ARIMA (p, d, q) para Análise da Série de Tempo No conjunto anterior de artigos (Partes 1. 2 e 3), nós entramos em detalhes significativos sobre AR (p), MA (q) e ARMA ( P, q) modelos de séries temporais lineares. Utilizamos esses modelos para gerar conjuntos de dados simulados, modelos ajustados para recuperar parâmetros e, em seguida, aplicamos esses modelos em dados de ações financeiras. Neste artigo, vamos discutir uma extensão do modelo ARMA, ou seja, o modelo de Mínima Integrada Autoregressiva ou o modelo ARIMA (p, d, q). Veremos que é necessário considerar o modelo ARIMA quando temos séries não estacionárias. Tais séries ocorrem na presença de tendências estocásticas. Recapitulação rápida e Próximas etapas Até o momento, consideramos os seguintes modelos (os links o levarão aos artigos apropriados): Constantemente construímos nossa compreensão de séries temporais com conceitos como correlação serial, estacionária, linearidade, resíduos, correlogramas, Simulando, montagem, sazonalidade, heterocedasticidade condicional e teste de hipóteses. Até o momento, não realizamos nenhuma previsão ou previsão de nossos modelos e, portanto, não tivemos nenhum mecanismo para produzir um sistema de negociação ou uma curva de equivalência patrimonial. Uma vez que estudamos ARIMA (neste artigo), ARCH e GARCH (nos próximos artigos), estaremos em condições de construir uma estratégia básica de negociação de longo prazo com base na previsão de retorno do índice de mercado de ações. Apesar do fato de ter feito muitos detalhes sobre os modelos que sabemos que, em última análise, não terão ótimos resultados (AR, MA, ARMA), estamos agora bem versados ​​no processo de modelagem de séries temporais. Isso significa que, quando chegarmos a estudar modelos mais recentes (e mesmo aqueles atualmente na literatura de pesquisa), teremos uma base de conhecimento significativa para desenhar, para avaliar efetivamente esses modelos, em vez de tratá-los como uma chave de turno Prescrição ou caixa preta. Mais importante ainda, isso nos proporcionará a confiança para estendê-los e modificá-los por conta própria e entender o que estamos fazendo quando o fazemos. Gostaria de agradecer por ser paciente até agora, pois pode parecer que esses artigos estão longe de A ação real da negociação real. No entanto, a pesquisa comercial quantitativa verdadeira é cuidadosa, medido e leva tempo significativo para obter direito. Não há solução rápida ou esquema rico em negociação de quant. Estávamos quase prontos a considerar o nosso primeiro modelo comercial, que será uma mistura de ARIMA e GARCH, por isso é imperativo que passemos algum tempo a entender o modelo ARIMA bem. Uma vez que construímos o nosso primeiro modelo comercial, vamos considerar mais Modelos avançados, como modelos de memória longa, modelos de espaço de estado (ou seja, o modelo Kalman Filter) e Vector Autoregressive (VAR), o que nos levará a outras estratégias comerciais mais sofisticadas. Média de Mudança Integrada Autoregressiva (ARIMA) Modelos de ordem p, d, q Os modelos ARIMA são usados ​​porque podem reduzir uma série não estacionária a uma série estacionária usando uma seqüência de etapas de diferenciação. Podemos lembrar do artigo sobre o ruído branco e as caminhadas aleatórias que, se aplicarmos o operador da diferença a uma série de caminhada aleatória (uma série não estacionária), ficamos com ruído branco (uma série estacionária): comece nabla xt xt - x wt O ARIMA executa essencialmente esta função, mas faz isso repetidamente, d vezes, para reduzir uma série não estacionária para uma estacionária. Para lidar com outras formas de não-estacionaridade além das tendências estocásticas, modelos adicionais podem ser usados. Os efeitos sazonais (como os que ocorrem nos preços das commodities) podem ser abordados com o modelo ARIMA sazonal (SARIMA), no entanto, não discutiremos SARIMA muito nesta série. Os efeitos condicionais heteroscedásticos (como com a aglomeração de volatilidade em índices de ações) podem ser abordados com ARCHGARCH. Neste artigo, iremos considerar séries não estacionárias com tendências estocásticas e ajustar modelos ARIMA a essas séries. Nós também produziremos previsões para a nossa série financeira. Definições Antes de definir os processos do ARIMA precisamos discutir o conceito de uma série integrada: Série de ordem integrada d Uma série de tempo está integrada na ordem d. I (d), se: começar nablad xt wt end Isso é, se diferenciamos a série d vezes, recebemos uma série discreta de ruído branco. Alternativamente, o uso da condição equivalente do Backward Shift Operatoran é: Agora que definimos uma série integrada, podemos definir o próprio processo ARIMA: Modelo Médio Integrado Autoregressivo de ordem p, d, q Uma série de tempo é um modelo de ordem móvel integrado autoregressivo P, d, q. ARIMA (p, d, q). Se nablad xt é uma média móvel autorregressiva da ordem p, q, ARMA (p, q). Ou seja, se a série diferisse d vezes, e então segue um processo ARMA (p, q), então é uma série ARIMA (p, d, q). Se usarmos a notação polinomial da Parte 1 e Parte 2 da série ARMA, então um processo ARIMA (p, d, q) pode ser escrito em termos do Operador de Mudança de Retorno. : Onde wt é uma série discreta de ruído branco. Há alguns pontos a serem observados sobre essas definições. Uma vez que a caminhada aleatória é dada por xt x wt, pode-se ver que I (1) é outra representação, desde nabla1 xt wt. Se suspeitarmos de uma tendência não linear, então poderemos usar diferenças repetidas (ou seja, d gt 1) para reduzir uma série para o ruído branco estacionário. Em R podemos usar o comando diff com parâmetros adicionais, e. Diff (x, d3) para realizar diferenças repetidas. Simulação, Correlograma e Ajuste do Modelo Como já utilizamos o comando arima. sim para simular um processo ARMA (p, q), o procedimento a seguir será semelhante ao realizado na Parte 3 da série ARMA. A principal diferença é que agora vamos definir d1, ou seja, produziremos uma série temporal não estacionária com um componente estocástico de tendências. Como antes, vamos ajustar um modelo ARIMA aos nossos dados simulados, tentar recuperar os parâmetros, criar intervalos de confiança para esses parâmetros, produzir um correlograma dos resíduos do modelo ajustado e, finalmente, realizar um teste de Ljung-Box para determinar se nós temos um bom ajuste. Vamos simular um modelo ARIMA (1,1,1), com o coeficiente autorregressivo alfa0,6 e o ​​coeficiente médio móvel beta-0,5. Aqui está o código R para simular e traçar uma série dessas: agora, temos nossa série simulada, vamos tentar combinar um modelo ARIMA (1,1,1). Uma vez que conhecemos a ordem, simplesmente a especificamos no ajuste: os intervalos de confiança são calculados de acordo com: Ambas as estimativas dos parâmetros estão dentro dos intervalos de confiança e estão próximas dos valores dos parâmetros verdadeiros da série ARIMA simulada. Portanto, não devemos nos surpreender ao ver os resíduos como uma realização de ruído branco discreto. Finalmente, podemos executar um teste de Ljung-Box para fornecer evidências estatísticas de um bom ajuste: podemos ver que o valor p é significativamente maior do que 0,05 e, como tal, podemos afirmar que existem fortes evidências de que o ruído branco discreto seja um bom ajuste para os resíduos. Assim, o modelo ARIMA (1,1,1) é um bom ajuste, como esperado. Dados Financeiros e Previsão Nesta seção, vamos encaixar os modelos da ARIMA para a Amazon, Inc. (AMZN) e o Índice de Patrimônio dos EUA SampP500 (GPSC, no Yahoo Finance). Usaremos a biblioteca de previsão, escrita por Rob J Hyndman. Vamos prosseguir e instalar a biblioteca em R: Agora, podemos usar quantmod para baixar a série diária de preços da Amazon no início de 2013. Como já teremos tomado as primeiras diferenças de série, o ajuste ARIMA realizado em breve irá Não requer d gt 0 para o componente integrado: como na Parte 3 da série ARMA, agora vamos percorrer as combinações de p, d e q, para encontrar o melhor modelo ARIMA (p, d, q). Pelo ideal, queremos dizer a combinação de pedidos que minimiza o Critério de Informação Akaike (AIC): podemos ver que uma ordem de p4, d0, q4 foi selecionada. Notavelmente d0, como já tomamos as diferenças de primeira ordem acima: se traçamos o correlograma dos resíduos, podemos ver se temos evidências de uma série discreta de ruído branco: há dois picos significativos, a saber, em k15 e k21, embora devêssemos Espera ver picos estatisticamente significativos simplesmente devido à variação de amostragem 5 do tempo. Realize um teste Ljung-Box (veja o artigo anterior) e veja se temos provas para um bom ajuste: como podemos ver, o valor p é maior do que 0,05 e, portanto, temos evidências de um bom ajuste no nível 95. Agora podemos usar o comando de previsão da biblioteca de previsão para prever 25 dias para a série de retornos da Amazônia: podemos ver as previsões de pontos para os próximos 25 dias com 95 (azul escuro) e 99 (azul claro) bandas de erro . Usaremos essas previsões em nossa primeira estratégia de negociação de séries temporais quando combinarmos ARIMA e GARCH. Vamos realizar o mesmo procedimento para o SampP500. Em primeiro lugar, obtemos os dados do quantmod e o convertem para um fluxo diário de retorno de logs: encaixamos um modelo ARIMA ao fazer um loop sobre os valores de p, d e q: A AIC nos diz que o melhor modelo é o ARIMA (2,0, 1) modelo. Observe mais uma vez que d0, como já tomamos as diferenças de primeira ordem da série: podemos traçar os resíduos do modelo ajustado para ver se temos evidência de ruído branco discreto: o correlograma parece promissor, então o próximo passo é correr O teste de Ljung-Box e confirmar que temos um bom ajuste de modelo: uma vez que o valor de p é maior do que 0,05, temos evidência de um bom ajuste de modelo. Por que, no artigo anterior, o nosso teste Ljung-Box para o SampP500 mostrou que o ARMA (3,3) era um ajuste ruim para os retornos diários do registro. Observe que eu deliberadamente trituei os dados SampP500 para começar a partir de 2013 nesse artigo , O que exclui convenientemente os períodos voláteis em torno de 2007-2008. Por isso, excluímos uma grande parcela do SampP500 onde tínhamos aglomeração de volatilidade excessiva. Isso afeta a correlação em série da série e, portanto, tem o efeito de tornar a série mais estacionária do que no passado. Este é um ponto muito importante. Ao analisar as séries temporais, precisamos ser extremamente cuidadosos das séries condicionalmente heterossecedas, como os índices do mercado de ações. Em finanças quantitativas, a tentativa de determinar períodos de volatilidade diferente é freqüentemente conhecida como detecção de regime. É uma das tarefas mais difíceis de alcançar. Bem, discuta este ponto no próximo artigo quando considerarmos os modelos ARCH e GARCH. Vamos agora traçar uma previsão para os próximos 25 dias dos retornos diários do SampP500. Agora, temos a capacidade de ajustar e prever modelos como o ARIMA, muito perto de ser capazes de criar indicadores de estratégia para negociação. Próximas etapas No próximo artigo, vamos examinar o modelo de Heteroscedilidade condicional autorregressiva generalizada (GARCH) e usá-lo para explicar mais a correlação serial em certas séries de ações e índice de ações. Uma vez que discutimos o GARCH, estaremos em condições de combiná-lo com o modelo ARIMA e criar indicadores de sinal e, portanto, uma estratégia básica de negociação quantitativa. 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 consultores de investimentos 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 têm responsabilidade nem responsabilidade para com qualquer pessoa ou entidade em relação aos 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 de 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 oportunas e precisas, 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 estão isentos de responsabilidade pela atualização de informações e declinam a responsabilidade por conteúdo, produtos e serviços de terceiros, inclusive quando acessados ​​através de hiperlinks ou propagandas neste site. Um RIMA significa modelos de Módulos Mínimos Integrados Autoregressivos. Univariado (vetor único) ARIMA é uma técnica de previsão que projeta os valores futuros de uma série inteiramente baseada em sua própria inércia. Sua principal aplicação é a previsão de curto prazo que requer pelo menos 40 pontos de dados históricos. Isso funciona melhor quando seus dados exibem um padrão estável ou consistente ao longo do tempo com uma quantidade mínima de valores atípicos. Às vezes, chamado Box-Jenkins (após os autores originais), o ARIMA geralmente é superior às técnicas de suavização exponencial quando os dados são razoavelmente longos e a correlação entre observações passadas é estável. Se o dado for curto ou altamente volátil, algum método de suavização poderá ser melhor. Se você não tem pelo menos 38 pontos de dados, você deve considerar algum outro método que o ARIMA. O primeiro passo na aplicação da metodologia ARIMA é verificar a estacionaria. A estacionarização implica que a série permanece em um nível bastante constante ao longo do tempo. Se existe uma tendência, como na maioria das aplicações econômicas ou empresariais, seus dados NÃO são estacionários. Os dados também devem mostrar uma variância constante em suas flutuações ao longo do tempo. Isso é facilmente visto com uma série que é fortemente sazonal e cresce a um ritmo mais rápido. Nesse caso, os altos e baixos da sazonalidade se tornarão mais dramáticos ao longo do tempo. Sem essas condições de estacionaridade, muitos dos cálculos associados ao processo não podem ser computados. Se um gráfico gráfico dos dados indica não-estacionária, então você deve diferenciar a série. A diferenciação é uma excelente maneira de transformar uma série não estacionária em uma estacionária. Isso é feito subtraindo a observação no período atual do anterior. Se essa transformação for feita apenas uma vez para uma série, você diz que os dados foram diferenciados pela primeira vez. Este processo elimina essencialmente a tendência se sua série estiver crescendo a uma taxa bastante constante. Se estiver crescendo a uma taxa crescente, você pode aplicar o mesmo procedimento e diferenciar os dados novamente. Os seus dados seriam então diferenciados em segundo lugar. Autocorrelações são valores numéricos que indicam como uma série de dados está relacionada a si mesma ao longo do tempo. Mais precisamente, ele mede quão fortemente os valores de dados em um número especificado de períodos separados estão correlacionados entre si ao longo do tempo. O número de períodos separados costuma ser chamado de atraso. Por exemplo, uma autocorrelação no intervalo 1 mede como os valores de 1 período separado estão correlacionados entre si ao longo da série. Uma autocorrelação no intervalo 2 mede como os dados separados por dois períodos estão correlacionados ao longo da série. As autocorrelações podem variar de 1 a -1. Um valor próximo a 1 indica uma alta correlação positiva, enquanto um valor próximo de -1 implica uma alta correlação negativa. Essas medidas são mais frequentemente avaliadas através de gráficos gráficos chamados correlagramas. Um correlagram traça os valores de auto-correlação para uma determinada série em diferentes atrasos. Isso é referido como a função de autocorrelação e é muito importante no método ARIMA. A metodologia ARIMA tenta descrever os movimentos em uma série de tempo estacionária como uma função do que são chamados de parâmetros verticais autorregressivos e móveis. Estes são referidos como parâmetros AR (autoregessivos) e MA (médias móveis). Um modelo AR com apenas 1 parâmetro pode ser escrito como. X (t) A (1) X (t-1) E (t) onde X (t) séries temporais sob investigação A (1) o parâmetro autorregressivo da ordem 1 X (t-1) a série temporal atrasou 1 período E (T) o termo de erro do modelo Isso significa simplesmente que qualquer valor X (t) pode ser explicado por alguma função de seu valor anterior, X (t-1), além de algum erro aleatório inexplicável, E (t). Se o valor estimado de A (1) fosse de .30, então o valor atual da série ficaria relacionado a 30 de seu valor 1 há. Claro, a série poderia estar relacionada a mais do que apenas um valor passado. Por exemplo, X (t) A (1) X (t-1) A (2) X (t-2) E (t) Isso indica que o valor atual da série é uma combinação dos dois valores imediatamente precedentes, X (t-1) e X (t-2), além de algum erro aleatório E (t). Nosso modelo é agora um modelo de ordem autorregressivo 2. Modelos médios em movimento: um segundo tipo de modelo Box-Jenkins é chamado de modelo de média móvel. Embora esses modelos pareçam muito parecidos com o modelo AR, o conceito por trás deles é bastante diferente. Os parâmetros médios em movimento relacionam o que acontece no período t apenas com os erros aleatórios ocorridos em períodos passados, ou seja, E (t-1), E (t-2), etc., em vez de X (t-1), X ( T-2), (Xt-3) como nas abordagens autorregressivas. Um modelo de média móvel com um termo de MA pode ser escrito da seguinte forma. X (t) - B (1) E (t-1) E (t) O termo B (1) é chamado de MA da ordem 1. O sinal negativo na frente do parâmetro é usado somente para convenção e geralmente é impresso Automaticamente pela maioria dos programas de computador. O modelo acima simplesmente diz que qualquer valor dado de X (t) está diretamente relacionado apenas ao erro aleatório no período anterior, E (t-1) e ao termo de erro atual, E (t). Como no caso de modelos autorregressivos, os modelos de média móvel podem ser estendidos a estruturas de ordem superior cobrindo combinações diferentes e comprimentos médios móveis. A metodologia ARIMA também permite a criação de modelos que incorporam parâmetros de média autorregressiva e móvel em conjunto. Estes modelos são frequentemente referidos como modelos mistos. Embora isso faça para uma ferramenta de previsão mais complicada, a estrutura pode simular a série melhor e produzir uma previsão mais precisa. Os modelos puros implicam que a estrutura consiste apenas em parâmetros AR ou MA - e não ambos. Os modelos desenvolvidos por esta abordagem geralmente são chamados de modelos ARIMA porque eles usam uma combinação de autoregressivo (AR), integração (I) - referente ao processo reverso de diferenciação para produzir as operações de previsão e média móvel (MA). Um modelo ARIMA geralmente é declarado como ARIMA (p, d, q). Isso representa a ordem dos componentes autorregressivos (p), o número de operadores de diferenciação (d) e a ordem mais alta do termo médio móvel. Por exemplo, ARIMA (2,1,1) significa que você tem um modelo autoregressivo de segunda ordem com um componente de média móvel de primeira ordem, cuja série foi diferenciada uma vez para induzir a estacionararia. Escolhendo a especificação correta: o principal problema no clássico Box-Jenkins está tentando decidir qual a especificação ARIMA para usar - i. e. Quantos parâmetros AR e ou MA devem incluir. Isto é o que muito de Box-Jenkings 1976 foi dedicado ao processo de identificação. Dependia da avaliação gráfica e numérica da autocorrelação da amostra e das funções de autocorrelação parcial. Bem, para os seus modelos básicos, a tarefa não é muito difícil. Cada um tem funções de autocorrelação que se parecem de uma certa maneira. No entanto, quando você aumenta a complexidade, os padrões não são facilmente detectados. Para tornar as questões mais difíceis, seus dados representam apenas uma amostra do processo subjacente. Isso significa que erros de amostragem (outliers, erro de medição, etc.) podem distorcer o processo de identificação teórica. É por isso que a modelagem ARIMA tradicional é uma arte e não uma ciência. Simulação de média móvel móvel (Primeira Ordem) A Demonstração está configurada de tal forma que a mesma série aleatória de pontos é usada independentemente das constantes e variáveis. No entanto, quando o botão quotrandomizequot é pressionado, uma nova série aleatória será gerada e usada. Manter a série aleatória idêntica permite ao usuário ver exatamente os efeitos na série ARMA de mudanças nas duas constantes. A constante é limitada a (-1,1) porque a divergência da série ARMA resulta quando. A Demonstração é apenas para um processo de primeiro orden. Os termos AR adicionais permitiriam gerar séries mais complexas, enquanto os termos MA adicionais aumentariam o alisamento. Para uma descrição detalhada dos processos ARMA, veja, por exemplo, G. Box, G. M. Jenkins e G. Reinsel, Time Series Analysis: Forecasting and Control. 3ª ed. Englewood Cliffs, NJ: Prentice-Hall, 1994. LINKS RELACIONADOS

No comments:

Post a Comment