Saturday, 12 August 2017

Adf test in stata forex


Base R navios com um monte de funcionalidade útil para séries de tempo, em especial no pacote stats. Isto é complementado por muitos pacotes no CRAN, que são brevemente resumidos abaixo. Há também uma considerável sobreposição entre as ferramentas para séries temporais e aquelas nas vistas de tarefas de Econometria e Finanças. Os pacotes nesta visualização podem ser estruturados grosso modo nos seguintes tópicos. Se você acha que algum pacote está faltando na lista, entre em contato conosco. A infraestrutura . Base R contém infra-estrutura substancial para representar e analisar dados de séries temporais. A classe fundamental é quottsquot que pode representar séries temporais regularmente espaçadas (usando carimbos de tempo numéricos). Assim, é particularmente adequado para dados anuais, mensais, trimestrais, etc. As médias móveis são computadas por ma da previsão. E rollmean do zoológico. Este último também proporciona uma função geral rollapply. Juntamente com outras funções de estatísticas de rolamento específicas. Roll fornece funções paralelas para computar estatísticas de rolagem. Gráficos . As parcelas de séries temporais são obtidas com plot () aplicado aos objetos ts. (Parciais) funções de autocorrelação são implementadas em acf () e pacf (). Versões alternativas são fornecidas por Acf () e Pacf () na previsão. Juntamente com uma exibição de combinação usando tsdisplay (). SDD fornece diagramas mais gerais de dependência serial, enquanto dCovTS calcula e traça as funções de covariância e correlação de distância de séries temporais. Exibições sazonais são obtidas usando monthplot () nas estatísticas e seasonplot na previsão. Wats implementa wrap-around gráficos de série de tempo. Ggseas fornece gráficos ggplot2 para séries ajustadas sazonalmente e estatísticas de rolamento. Dygraphs fornece uma interface para o Dygraphs interativo série de tempo gráfico de biblioteca. ZRA traça objetos de previsão do pacote de previsão usando dígrafos. As parcelas dos ventiladores básicos das distribuições de previsão são fornecidas por previsão e vars. As parcelas de ventiladores mais flexíveis de quaisquer distribuições seqüenciais são implementadas em fanplot. Class quottsquot só pode lidar com carimbos de tempo numéricos, mas muitas mais classes estão disponíveis para armazenar informações de data / hora e computação com ele. Para uma visão geral, consulte R Help Desk: Classes de data e hora em R de Gabor Grothendieck e Thomas Petzoldt em R News 4 (1). 29-32. Classes quotyearmonquot e quotyearqtrquot do zoológico permitem computação mais conveniente com observações mensais e trimestrais, respectivamente. Classe quotDatequot do pacote base é a classe básica para lidar com datas em dados diários. As datas são internamente armazenadas como o número de dias desde 1970-01-01. O pacote cron fornece classes para datas (). Horas () e data / hora (intra-dia) em cron (). Não há suporte para fusos horários e horário de verão. Internamente, os objetos quotchronquot são dias (fracionários) desde 1970-01-01. Classes quotPOSIXctquot e quotPOSIXltquot implementam o padrão POSIX para informações de data / hora (intra-dia) e também suportam fusos horários e horário de verão. No entanto, os cálculos de fuso horário exigem algum cuidado e podem depender do sistema. Internamente, quotPOSIXctquot objetos são o número de segundos desde 1970-01-01 00:00:00 GMT. O pacote lubridate fornece funções que facilitam determinados cálculos baseados em POSIX. A classe quottimeDatequot é fornecida no pacote timeDate (anteriormente: fCalendar). Destina-se a informações de data / hora financeira e trata de fusos horários e horários de verão através de um novo conceito de centros financeiros. Internamente, ele armazena todas as informações em quotPOSIXctquot e faz todos os cálculos em GMT apenas. Funcionalidade do calendário, p. Incluindo informações sobre fins de semana e feriados para várias bolsas de valores, também está incluído. O pacote tis fornece a classe quottiquot para informações de hora / data. A classe quotmondatequot do pacote mondate facilita a computação com datas em termos de meses. O pacote tempdisagg inclui métodos para desagregação temporal e interpolação de uma série temporal de baixa freqüência para uma série de freqüências mais altas. TimeProjection extrai componentes de tempo útil de um objeto de data, como dia da semana, fim de semana, feriado, dia do mês, etc, e colocá-lo em um quadro de dados. Como mencionado acima, quotts ​​é a classe básica para séries temporais regularmente espaçadas usando carimbos de tempo numéricos. O pacote do zoológico fornece infra-estrutura para séries temporais regular e irregularmente espaçadas usando classes arbitrárias para os carimbos de tempo (ou seja, permitindo que todas as classes da seção anterior). Ele é projetado para ser o mais consistente possível com quottsquot. Coerção de e para quotzooquot está disponível para todas as outras classes mencionadas nesta seção. O pacote xts baseia-se no zoológico e fornece tratamento uniforme de Rs diferentes classes de dados baseadas no tempo. Vários pacotes implementam séries temporais irregulares baseadas em quotPOSIXctquot selos de tempo, destinados especialmente para aplicações financeiras. Estes incluem quotits de sua. Citações de tseries. E quotftsquot de fts. A classe quottimeSeriesquot em timeSeries (anteriormente: fSeries) implementa séries de tempo com selos de tempo quottimeDatequot. A classe quottisquot in tis implementa séries temporais com selos de tempo quottiquot. O pacote tframe contém infra-estrutura para definir intervalos de tempo em diferentes formatos. Previsão e Modelagem Univariada O pacote de previsão fornece uma classe e métodos para previsões de séries de tempo univariadas e fornece muitas funções implementando diferentes modelos de previsão incluindo todos aqueles no pacote de estatísticas. Suavização exponencial. HoltWinters () em estatísticas fornece alguns modelos básicos com otimização parcial, ets () do pacote de previsão fornece um conjunto maior de modelos e instalações com otimização completa. O pacote MAPA combina modelos exponenciais de suavização em diferentes níveis de agregação temporal para melhorar a precisão das previsões. Smooth implementa algumas generalizações de suavização exponencial. O método theta é implementado na função thetaf do pacote de previsão. Uma implementação alternativa e estendida é fornecida no forectheta. Modelos auto-regressivos. Ar () em estatísticas (com seleção de modelo) e FitAR para modelos de subconjunto AR. Modelos ARIMA. Arima () em stats é a função básica dos modelos ARIMA, SARIMA, ARIMAX e subconjunto ARIMA. Ele é aprimorado no pacote de previsão através da função Arima () juntamente com auto. arima () para a seleção de ordem automática. Arma () no pacote tseries fornece algoritmos diferentes para modelos ARMA e subconjunto ARMA. O FitARMA implementa um algoritmo MLE rápido para modelos ARMA. O pacote gsarima contém funcionalidade para a simulação da série de tempo SARIMA generalizada. O pacote mar1s processa AR multiplicativo (1) com processos sazonais. TSTutorial fornece um tutorial interativo para Box-Jenkins modelagem. Os intervalos de previsão melhorados para ARIMA e modelos de séries temporais estruturais são fornecidos pelo tsPI. Modelos ARMA periódicos. Pear e partsm para modelos periódicos de séries temporais autorregressivas e perARMA para modelagem periódica ARMA e outros procedimentos para análise periódica de séries temporais. ARFIMA. Algumas instalações para modelos ARFIMA fraccionados diferenciados são fornecidas no pacote fracdiff. O pacote arfima possui recursos mais avançados e gerais para modelos ARFIMA e ARIMA, incluindo modelos de regressão dinâmica (função de transferência). ArmaFit () do pacote fArma é uma interface para modelos ARIMA e ARFIMA. Ruído gaussiano fracionário e modelos simples para séries de tempo de decaimento hiperbólico são tratados no pacote FGN. Os modelos de função de transferência são fornecidos pela função arimax no pacote TSA ea função arfima no pacote arfima. Outlier detecção após a Chen-Liu abordagem é fornecida por tsoutliers. Modelos estruturais são implementados em StructTS () em stats, e em stsm e stsm. class. KFKSDS fornece uma implementação ingênua do filtro de Kalman e alisadores para modelos de espaço de estados univariados. Os modelos de séries temporais estruturais bayesianas são implementados em séries temporais não gaussianas que podem ser manipuladas com modelos de espaço de estado GLARMA via glarma. E usando modelos Generalized Autoregressive Score no pacote GAS. Modelos condicionais de Auto-Regressão utilizando métodos Monte Carlo Likelihood são implementados em mclcar. Modelos GARCH. Garch () do tseries se encaixa modelos GARCH básicos. Muitas variações em modelos de GARCH são fornecidas pelo rugarch. Outros pacotes GARCH univariados incluem fGarch que implementa modelos ARIMA com uma ampla classe de inovações GARCH. Existem muitos outros pacotes GARCH descritos na vista de tarefas Financeiro. Modelos de volatilidade estocástica são manipulados por stochvol em uma estrutura bayesiana. Modelos de série de tempo de contagem são manipulados nos pacotes tscount e acp. O ZIM fornece modelos Zero-Inflated para séries de tempo de contagem. Tsintermittent implementa vários modelos para analisar e prever séries de tempo de demanda intermitente. As séries temporais censuradas podem ser modeladas usando centavos e carx. Testes Portmanteau são fornecidos através de Box. test () no pacote stats. Testes adicionais são dados por portes e WeightedPortTest. A detecção de ponto de mudança é fornecida no strucchange (usando modelos de regressão linear), na tendência (usando testes não paramétricos) e em wbsts (usando segmentação binária selvagem). O pacote de ponto de mudança fornece muitos métodos de ponto de troca populares, e ecp faz detecção de ponto de mudança não paramétrico para séries univariadas e multivariadas. A detecção de ponto de mudança online para séries temporais univariadas e multivariadas é fornecida pelo onlineCPD. O InspectChangepoint usa projeção esparsa para estimar pontos de mudança em séries temporais de alta dimensão. A imputação de séries temporais é fornecida pelo pacote imputeTS. Alguns recursos mais limitados estão disponíveis usando na. interp () do pacote de previsão. As previsões podem ser combinadas usando ForecastCombinations que suporta os métodos mais usados ​​para combinar previsões. ForecastHybrid fornece funções para previsões de conjuntos, combinando abordagens do pacote de previsão. Opera tem facilidades para previsões on-line baseadas em combinações de previsões fornecidas pelo usuário. A avaliação da previsão é fornecida na função accuracy () da previsão. A avaliação de previsão distribucional usando regras de pontuação está disponível no scoringRules Miscellaneous. Ltsa contém métodos para análise de séries temporais lineares, timsac para análise e controle de séries temporais e tsbugs para modelos BUGS de séries temporais. A estimativa da densidade espectral é fornecida pelo espectro () no pacote stats, incluindo o periodograma, o periodograma suavizado e as estimativas de AR. A inferência espectral bayesiana é fornecida por bspec. O quantspec inclui métodos para calcular e traçar periodogramas de Laplace para séries temporais univariadas. O periodograma Lomb-Scargle para séries temporais amostradas de forma desigual é calculado por lomb. O espectro utiliza transformadas de Fourier e Hilbert para filtragem espectral. Psd produz estimativas de densidade espectral adaptativas, seno-multitaper. Kza fornece Kolmogorov-Zurbenko Adaptive Filters incluindo detecção de quebra, análise espectral, wavelets e KZ Fourier transformações. Multitaper também fornece algumas ferramentas de análise espectral multitaper. Métodos Wavelet. O pacote de wavelets inclui computar filtros wavelet, transformadas wavelet e análises multiresolução. Os métodos wavelet para a análise de séries temporais baseados em Percival e Walden (2000) são dados em wmtsa. WaveletComp fornece algumas ferramentas para a análise baseada em wavelet de séries temporais univariadas e bivariadas incluindo cross-wavelets, diferença de fase e testes significativos. Biwavelet pode ser usado para plotar e calcular os espectros wavelet, espectros de wavelet cruzado e coerência wavelet de séries temporais não-estacionárias. Ele também inclui funções para agrupar séries temporais baseadas nas (des) similaridades em seu espectro. Testes de ruído branco usando wavelets são fornecidos por hwwntest. Métodos Wavelet adicionais podem ser encontrados no brainwaver pacotes. Rwt. Waveslim Wavethresh e mvcwt. A regressão harmônica usando termos de Fourier é implementada em HarmonicRegression. O pacote de previsão também fornece algumas facilidades simples de regressão harmônica através da função fourier. Decomposição e filtragem Filtros e suavização. O filtro () em stats fornece filtragem linear média auto-regressiva e móvel de séries temporais univariadas múltiplas. O pacote robfilter fornece vários filtros robustos de séries temporais, enquanto o mFilter inclui diversos filtros de séries temporais úteis para suavizar e extrair componentes tendenciais e cíclicos. Smooth () do pacote de estatísticas computa Tukeys executando mediana smoothers, 3RS3R, 3RSS, 3R, etc sleekts calcula o 4253H duas vezes método de suavização. Decomposição. A decomposição sazonal é discutida abaixo. A decomposição baseada em auto-regressão é fornecida pelo ArDec. O rmaf usa um filtro refinado de média móvel para decomposição. Análise de Espectro Singular é implementada em Rssa e métodos espectrais. A decomposição do modo empírico (EMD) ea análise espectral de Hilbert são fornecidas por EMD. Ferramentas adicionais, incluindo EMD conjunto, estão disponíveis em hht. Uma implementação alternativa do conjunto EMD e sua variante completa estão disponíveis em Rlibeemd. Decomposição sazonal. O pacote stats fornece decomposição clássica em decompose (). E decomposição STL em stl (). A decomposição STL melhorada está disponível em stlplus. StR fornece a decomposição Seasonal-Trend baseada na regressão. X12 fornece um wrapper para os binários X12 que devem ser instalados primeiro. X12GUI fornece uma interface gráfica do usuário para x12. Os binários X-13-ARIMA-SEATS são fornecidos no pacote x13binary, com o fornecimento sazonal de uma interface R. Análise da sazonalidade. O pacote bfast fornece métodos para detectar e caracterizar mudanças abruptas dentro da tendência e componentes sazonais obtidos a partir de uma decomposição. Npst fornece uma generalização do teste de sazonalidade Hewitts. estação. Análise sazonal de dados de saúde, incluindo modelos de regressão, crossover caso-estratificado tempo, funções de traçado e verificações residuais. Mares Análise sazonal e gráficos, especialmente para climatologia. Dessazonalizar Otimização da dessazonalização para séries geofísicas usando o encaixe AR. Estacionaridade, Unidade de Raízes e Cointegração Estacionaridade e raízes unitárias. Tseries fornece vários testes de estacionaridade e raiz unitária, incluindo Dickey-Fuller aumentado, Phillips-Perron e KPSS. Implementações alternativas dos testes ADF e KPSS estão no pacote urca, que também inclui métodos adicionais como os testes Elliott-Rothenberg-Stock, Schmidt-Phillips e Zivot-Andrews. O pacote fUnitRoots também fornece o teste MacKinnon, enquanto o uroot fornece testes de raiz unitária sazonais. O CADFtest fornece implementações tanto do ADF padrão como de um teste de ADF (CADF) com covariável. Estacionaridade local. Localiza um teste de estacionaridade local e calcula a autocovariância localizada. A determinação da determinação da costeração de séries temporais é fornecida por costat. LSTS tem funções para análise de séries temporais localmente estacionárias. Modelos de wavelet estacionariamente estacionários para séries temporais não-estacionárias são implementados em wavethresh (incluindo estimativa, plotagem e simulação para espectros que variam no tempo). Cointegração. O método Engle-Granger de dois passos com o teste de cointegração Phillips-Ouliaris é implementado em tseries e urca. Este último contém adicionalmente funcionalidade para os testes Johansen trace e lambda-max. TsDyn fornece Johansens teste e AIC / BIC seleção simultânea rank-lag. O CommonTrend fornece ferramentas para extrair e traçar tendências comuns de um sistema de cointegração. A estimação e inferência de parâmetros em uma regressão de cointegração são implementadas em cointReg. Análise não linear de séries temporais Auto-regressão não-linear. Várias formas de auto-regressão não linear estão disponíveis em tsDyn, incluindo AR aditivo, redes neurais, modelos SETAR e LSTAR, limiar VAR e VECM. A auto-regressão da rede neural também é fornecida no GMDH. O bentcableAR implementa a autorregressão Bent-Cable. BAYSTAR fornece a análise bayesiana de modelos autorregressivos de limiar. TseriesChaos fornece uma implementação R dos algoritmos do projeto TISEAN. Autoregression Os modelos de comutação de Markov são fornecidos em MSwM. Enquanto que as misturas dependentes de modelos de Markov latentes são dadas em depmix e depmixS4 para séries temporais categóricas e contínuas. Testes. Vários testes de não-linearidade são fornecidos em fNonlinear. TseriesEntropy testes de dependência em série não linear com base em métricas de entropia. Funções adicionais para séries temporais não-lineares estão disponíveis em nlts e nonlinearTseries. A modelagem da série de tempo do Fractal e a análise são fornecidas pelo fractal. Fractalrock gera séries de tempo de fractal com distribuições de retornos não-normais. Modelos dinâmicos de regressão Modelos dinâmicos lineares. Uma interface conveniente para ajustar modelos de regressão dinâmica via OLS está disponível no dynlm uma abordagem avançada que também funciona com outras funções de regressão e mais séries de séries temporais é implementada em dyn. Equações mais avançadas do sistema dinâmico podem ser montadas usando dse. Os modelos de espaço de estados lineares gaussianos podem ser montados usando dlm (via máxima verossimilhança, filtragem / alisamento de Kalman e métodos bayesianos), ou usando bsts que usa MCMC. As funções para a modelação não-linear de atraso distribuído são fornecidas em dlnm. Modelos de parâmetros variáveis ​​no tempo podem ser ajustados usando o pacote tpr. OrderedLasso ajusta um modelo linear esparso com uma restrição de ordem sobre os coeficientes, a fim de lidar com regressores defasados ​​onde os coeficientes decadência como o lag aumenta. Modelos dinâmicos de vários tipos estão disponíveis em dynr incluindo tempo discreto e contínuo, modelos lineares e não-lineares e diferentes tipos de variáveis ​​latentes. Modelos de séries temporais multivariadas Modelos VAR (Vector Autoregressive) são fornecidos via ar () no pacote stats básico incluindo a seleção de pedidos via AIC. Estes modelos são restritos para ser estacionário. O MTS é um conjunto de ferramentas para análise de séries temporais multivariadas, incluindo VAR, VARMA, VARMA sazonal, modelos VAR com variáveis ​​exógenas, regressão multivariada com erros de séries temporais e muito mais. Possivelmente modelos VAR não estacionários são montados no pacote mAr, o que também permite modelos VAR no espaço do componente principal. Sparsevar permite a estimação de modelos VAR e VECM esparsos, ecm fornece funções para a construção de modelos VECM, enquanto BigVAR estima modelos VAR e VARX com penalidades laço estruturado. Os modelos e redes VAR automatizados estão disponíveis no autovarCore. Modelos mais elaborados são fornecidos em pacotes vars. TsDyn. EstVARXls () em dse. E uma abordagem bayesiana está disponível em MSBVAR. Outra implementação com intervalos de previsão bootstrap é dada em VAR. etp. MlVAR fornece auto-regressão vectorial multi-nível. VARsignR fornece rotinas para identificar choques estruturais em modelos VAR usando restrições de sinal. Os modelos VARIMA e modelos de espaço de estado são fornecidos no pacote dse. EvalEst facilita experiências de Monte Carlo para avaliar os métodos de estimação associados. Modelos de correção de erros vetoriais estão disponíveis através da urca. Vars e pacotes tsDyn, incluindo versões com restrições estruturais e thresholding. Análise de componentes de séries temporais. A análise fatorial de séries temporais é fornecida em tsfa. O ForeCA implementa uma análise de componentes que pode ser pesquisada procurando as melhores transformações lineares que tornam uma série de tempo multivariada o mais previsível possível. PCA4TS encontra uma transformação linear de uma série de tempo multivariada dando subseries de menor dimensão que não estão correlacionadas entre si. Modelos de espaço de estados multivariados são implementados no pacote FKF (Fast Kalman Filter). Isso fornece modelos de espaço de estados relativamente flexíveis através da função fkf (): os parâmetros de espaço de estado podem variar em função do tempo e as interceptações são incluídas em ambas as equações. Uma implementação alternativa é fornecida pelo pacote KFAS que fornece um filtro de Kalman multivariado rápido, mais suave, simulação mais suave e previsão. Ainda outra implementação é dada no pacote dlm que também contém ferramentas para converter outros modelos multivariados em forma de espaço de estado. Dlmodeler fornece uma interface unificada para dlm. KFAS e FKF. O MARSS se ajusta a modelos de estados-espaço autoregressivos multivariados restritos e não restringidos usando um algoritmo EM. Todos esses pacotes assumem que os termos de erro observacional e de estado não estão correlacionados. Os processos de Markov parcialmente observados são uma generalização dos modelos de espaço de estados multivariados lineares usuais, permitindo modelos não-Gaussianos e não-lineares. Estes são implementados no pacote pompa. Modelos de volatilidade estocástica multivariada (usando fatores latentes) são fornecidos por fatores tochvol. Análise de grandes grupos de séries temporais O agrupamento em séries temporais é implementado em TSclust. Dtwclust. BNPTSclust e pdc. TSdist fornece medidas de distância para dados de séries temporais. O jmotif implementa ferramentas baseadas na discretização simbólica de séries temporais para encontrar motivos em séries temporais e facilita a classificação de séries temporais interpretáveis. Métodos para traçar e prever coleções de séries temporais hierárquicas e agrupadas são fornecidos por hts. Ladrão usa métodos hierárquicos para conciliar previsões de séries temporais agregadas. Uma abordagem alternativa para conciliar previsões de séries temporais hierárquicas é fornecida por gtop. Ladrão Modelos de tempo contínuo Modelagem autorregressiva de tempo contínuo é fornecida em cts. Sim. DiffProc simula e modela equações diferenciais estocásticas. Simulação e inferência para equações diferenciais estocásticas são fornecidas por sde e yuima. Bootstrapping. O pacote de inicialização fornece a função tsboot () para bootstrapping de série de tempo, incluindo bootstrap de bloco com várias variantes. O tsbootstrap () do tseries fornece bootstrapping rápido e estacionário. O bootstrap entropy máximo para a série de tempo está disponível no meboot. Timesboot calcula o CI de bootstrap para o ACF e o periodograma da amostra. O BootPR calcula os intervalos de previsão corrigidos por bias e boostrap para séries temporais autorregressivas. Dados de Makridakis, Wheelwright e Hyndman (1998) Previsão: métodos e aplicações são fornecidos no pacote fma. Dados de Hyndman, Koehler, Ord e Snyder (2008) As previsões com suavização exponencial estão no pacote expsmooth. Dados de Hyndman e Athanasopoulos (2013) Previsão: princípios e práticas estão no pacote fpp. Os dados da competição M e competição M3 são fornecidos no pacote Mcomp. Os dados da competição M4 são dados em M4comp. Enquanto a Tcomp fornece dados da Competição de Previsão de Turismo IJF 2010. Pdfetch fornece facilidades para baixar séries econômicas e financeiras de fontes públicas. Dados do portal on-line do Quandl para conjuntos de dados financeiros, econômicos e sociais podem ser consultados interativamente usando o pacote Quandl. Os dados do portal on-line do Datamarket podem ser obtidos usando o pacote rdatamarket. Os dados de Cryer e Chan (2010) estão no pacote TSA. Os dados de Shumway e Stoffer (2011) estão no pacote astsa. Dados de Tsay (2005) A análise de séries de tempo financeiras está no pacote FinTS, juntamente com algumas funções e arquivos de script necessários para trabalhar alguns dos exemplos. TSdbi fornece uma interface comum para bancos de dados de séries temporais. Fama fornece uma interface para bases de dados de séries de tempo FAME AER e Ecdat ambos contêm muitos conjuntos de dados (incluindo dados de séries temporais) de muitos livros de econometria dtw. Algoritmos dinâmicos do warping do tempo para computar e traçar alinhamentos pairwise entre séries de tempo. EnsembleBMA. Modelo Bayesiano Averaging para criar previsões probabilísticas a partir de previsões de conjunto e observações meteorológicas. Earlywarnings. Avisos iniciais sinalizam caixa de ferramentas para detectar transições críticas em eventos de séries temporais. Transforma dados de eventos extraídos por máquina em séries de tempo multivariadas agregadas regulares. FeedbackTS. Análise da direcionalidade temporal fragmentada para investigar feedback em séries temporais. LPStimeSeries pretende encontrar similaridade de padrão quotlearned para séries de tempo. MAR1 fornece ferramentas para preparar dados de séries temporais de comunidades ecológicas para modelagem de AR multivariada. Redes. Rotinas para a estimativa de redes de correlação parciais esparsas de longo prazo para dados de séries temporais. PaleoTS. Modelagem da evolução em séries temporais paleontológicas. Pastecs. Regulação, decomposição e análise de séries espaço-temporais. Ptw. Comprimento de tempo paramétrico. RGENERATE fornece ferramentas para gerar séries de vetores. RMAWGEN é um conjunto de funções S3 e S4 para a geração estocástica espacial multi-site de séries de tempo diárias de temperatura e precipitação, fazendo uso de modelos VAR. O pacote pode ser utilizado em climatologia e hidrologia estatística. RSEIS. Ferramentas sísmicas de análise de séries temporais. Rts. Análise de séries temporais de rasterização (por exemplo, séries temporais de imagens de satélite). Sae2. Modelos de séries temporais para estimativa de área pequena. SpTimer. Modelagem bayesiana espacial-temporal. vigilância. Modelação temporal e espaço-temporal e monitoramento de fenômenos epidêmicos. TED. Turbulência de séries temporais Detecção e classificação de eventos. Marés Funções para calcular características de séries temporais quase periódicas, e. Níveis de água nos estuários. tigre. Grupos temporariamente resolvidos de diferenças típicas (erros) entre duas séries temporais são determinados e visualizados. TSMining. Motivos Univariados e Multivariados em Dados de Série de Tempo. TsModel. Modelagem de séries temporais para poluição do ar e saúde. Este artigo examina os efeitos dos diferenciais de taxa de juros como ingressando informação no mercado forex sobre a taxa de câmbio yen / dólar e volume de negociação inesperado por um sistema estrutural Modelo VAR. As respostas de impulso mostram que o diferencial da taxa de juros de curto prazo afeta a taxa de câmbio através de (a) UIP com pouca mudança no volume de negociação inesperado, e (b) revisões de expectativas diferentes em diferentes momentos com alto volume de transações. Os efeitos do diferencial de taxa de juro de longo prazo sobre a taxa de câmbio parecem instantâneos com o elevado volume de transacções, reflectindo a reestruturação instantânea nas carteiras internacionais de activos a longo prazo. Classificação JEL F31 câmbio C22 modelos de séries temporais Palavras-chave Informação Diferenciais de taxas de juros Taxa de câmbio Yen / dólar Autor correspondente. Tel. 81 3 5286 1767 fax: 81 3 5286 1767. Cópia de direitos autorais 2004 Elsevier B. V. Todos os direitos reservados. Os cookies são usados ​​por este site. Para obter mais informações, visite a página de cookies. Copyright 2016 Elsevier B. V. ou seus licenciadores ou contribuintes. ScienceDirect é uma marca registrada de Elsevier B. V.Perguntas freqüentes sobre estratégias de negociação algorítmicas - Parte I Este artigo continua a série sobre negociação quantitativa, que começou com o Guia de Iniciantes e Identificação de Estratégia. Ambos estes artigos mais longos, mais envolvidos foram muito populares assim que o mal continuará nesta veia e fornecerá detalhes no tópico do backtesting da estratégia. O backtesting algorítmico requer conhecimento de muitas áreas, incluindo psicologia, matemática, estatística, desenvolvimento de software e microestrutura de mercado / troca. Eu não poderia esperar para cobrir todos esses temas em um artigo, então eu vou dividi-los em duas ou três peças menores. O que vamos discutir nesta seção mal começam por definir backtesting e, em seguida, vou descrever o básico de como ele é realizado. Então eu vou elucidar sobre os preconceitos que tocou no guia para iniciantes Quantitative Trading. Em seguida, apresentarei uma comparação das várias opções de software de backtesting disponíveis. Em artigos subseqüentes, veremos os detalhes das implementações de estratégias que são muitas vezes mal mencionadas ou ignoradas. Também vamos considerar como tornar o processo de backtesting mais realista, incluindo as idiossincrasias de uma troca comercial. Em seguida, discutiremos os custos de transação e como modelá-los corretamente em uma configuração de backtest. Vamos terminar com uma discussão sobre o desempenho de nossos backtests e, finalmente, fornecer um exemplo de uma estratégia de quant comum, conhecido como um meio-reverting pares comércio. Vamos começar por discutir o que backtesting é e por que devemos realizá-lo em nosso algoritmo de negociação. O que é o Backtesting A negociação algorítmica está distante de outros tipos de classes de investimento porque podemos fornecer expectativas mais confiáveis ​​sobre o desempenho futuro do desempenho passado, como conseqüência da abundante disponibilidade de dados. O processo pelo qual este é realizado é conhecido como backtesting. Em termos simples, o backtesting é realizado expondo seu algoritmo de estratégia particular a um fluxo de dados financeiros históricos, o que leva a um conjunto de sinais de negociação. Cada comércio (que nós significaremos aqui para ser um round-trip de dois sinais) terá um lucro associado ou perda. A acumulação deste lucro / perda ao longo da duração do seu backtest estratégia levará ao lucro total e perda (também conhecido como PL ou PnL). Essa é a essência da idéia, embora, claro, o diabo está sempre nos detalhes Quais são as principais razões para backtesting uma estratégia algorítmica Filtração - Se você se lembra do artigo sobre Identificação de Estratégia. Nosso objetivo na fase inicial de pesquisa era estabelecer um pipeline estratégico e então filtrar qualquer estratégia que não atendesse a certos critérios. Backtesting nos fornece outro mecanismo de filtragem, pois podemos eliminar estratégias que não atendam às nossas necessidades de desempenho. Modelagem - Backtesting nos permite testar (com segurança) novos modelos de certos fenômenos de mercado, como custos de transação, roteamento de pedidos, latência, liquidez ou outros problemas de microestrutura do mercado. Otimização - Embora a otimização da estratégia esteja repleta de vieses, o backtesting nos permite aumentar o desempenho de uma estratégia modificando a quantidade ou valores dos parâmetros associados a essa estratégia e recalculando seu desempenho. Verificação - Nossas estratégias são muitas vezes obtidas externamente, através da nossa estratégia pipeline. Backtesting uma estratégia garante que ele não foi incorretamente implementado. Embora raramente teremos acesso aos sinais gerados por estratégias externas, muitas vezes teremos acesso às métricas de desempenho, como as características de Sharpe Ratio e Drawdown. Assim, podemos compará-los com a nossa própria implementação. Backtesting fornece uma série de vantagens para negociação algorítmica. No entanto, nem sempre é possível retroceder diretamente uma estratégia. Em geral, à medida que a frequência da estratégia aumenta, torna-se mais difícil modelar corretamente os efeitos da microestrutura do mercado e das trocas. Isso leva a backtests menos confiáveis ​​e, portanto, uma avaliação mais complicada de uma estratégia escolhida. Este é um problema particular onde o sistema de execução é a chave para o desempenho da estratégia, como com algoritmos de freqüência ultra-alta. Infelizmente, backtesting é repleto de preconceitos de todos os tipos. Já abordamos algumas dessas questões em artigos anteriores, mas vamos agora discuti-las em profundidade. Preconceitos que afetam Backtests de estratégia Existem muitos viés que podem afetar o desempenho de uma estratégia backtestada. Infelizmente, esses preconceitos têm uma tendência para inflar o desempenho, em vez de prejudicá-lo. Thus you should always consider a backtest to be an idealised upper bound on the actual performance of the strategy. It is almost impossible to eliminate biases from algorithmic trading so it is our job to minimise them as best we can in order to make informed decisions about our algorithmic strategies. There are four major biases that I wish to discuss: Optimisation Bias . Look-Ahead Bias . Survivorship Bias and Psychological Tolerance Bias . Optimisation Bias This is probably the most insidious of all backtest biases. It involves adjusting or introducing additional trading parameters until the strategy performance on the backtest data set is very attractive. However, once live the performance of the strategy can be markedly different. Another name for this bias is curve fitting or data-snooping bias. Optimisation bias is hard to eliminate as algorithmic strategies often involve many parameters. Parameters in this instance might be the entry/exit criteria, look-back periods, averaging periods (i. e the moving average smoothing parameter) or volatility measurement frequency. Optimisation bias can be minimised by keeping the number of parameters to a minimum and increasing the quantity of data points in the training set. In fact, one must also be careful of the latter as older training points can be subject to a prior regime (such as a regulatory environment) and thus may not be relevant to your current strategy. One method to help mitigate this bias is to perform a sensitivity analysis . This means varying the parameters incrementally and plotting a surface of performance. Sound, fundamental reasoning for parameter choices should, with all other factors considered, lead to a smoother parameter surface. If you have a very jumpy performance surface, it often means that a parameter is not reflecting a phenomena and is an artefact of the test data. There is a vast literature on multi-dimensional optimisation algorithms and it is a highly active area of research. I wont dwell on it here, but keep it in the back of your mind when you find a strategy with a fantastic backtest Look-Ahead Bias Look-ahead bias is introduced into a backtesting system when future data is accidentally included at a point in the simulation where that data would not have actually been available. If we are running the backtest chronologically and we reach time point N, then look-ahead bias occurs if data is included for any point Nk, where k0. Look-ahead bias errors can be incredibly subtle. Here are three examples of how look-ahead bias can be introduced: Technical Bugs - Arrays/vectors in code often have iterators or index variables. Incorrect offsets of these indices can lead to a look-ahead bias by incorporating data at Nk for non-zero k. Parameter Calculation - Another common example of look-ahead bias occurs when calculating optimal strategy parameters, such as with linear regressions between two time series. If the whole data set (including future data) is used to calculate the regression coefficients, and thus retroactively applied to a trading strategy for optimisation purposes, then future data is being incorporated and a look-ahead bias exists. Maxima/Minima - Certain trading strategies make use of extreme values in any time period, such as incorporating the high or low prices in OHLC data. However, since these maximal/minimal values can only be calculated at the end of a time period, a look-ahead bias is introduced if these values are used - during - the current period. It is always necessary to lag high/low values by at least one period in any trading strategy making use of them. As with optimisation bias, one must be extremely careful to avoid its introduction. It is often the main reason why trading strategies underperform their backtests significantly in live trading. Survivorship Bias Survivorship bias is a particularly dangerous phenomenon and can lead to significantly inflated performance for certain strategy types. It occurs when strategies are tested on datasets that do not include the full universe of prior assets that may have been chosen at a particular point in time, but only consider those that have survived to the current time. As an example, consider testing a strategy on a random selection of equities before and after the 2001 market crash. Some technology stocks went bankrupt, while others managed to stay afloat and even prospered. If we had restricted this strategy only to stocks which made it through the market drawdown period, we would be introducing a survivorship bias because they have already demonstrated their success to us. In fact, this is just another specific case of look-ahead bias, as future information is being incorporated into past analysis. There are two main ways to mitigate survivorship bias in your strategy backtests: Survivorship Bias Free Datasets - In the case of equity data it is possible to purchase datasets that include delisted entities, although they are not cheap and only tend to be utilised by institutional firms. In particular, Yahoo Finance data is NOT survivorship bias free, and this is commonly used by many retail algo traders. One can also trade on asset classes that are not prone to survivorship bias, such as certain commodities (and their future derivatives). Use More Recent Data - In the case of equities, utilising a more recent data set mitigates the possibility that the stock selection chosen is weighted to survivors, simply as there is less likelihood of overall stock delisting in shorter time periods. One can also start building a personal survivorship-bias free dataset by collecting data from current point onward. After 3-4 years, you will have a solid survivorship-bias free set of equities data with which to backtest further strategies. We will now consider certain psychological phenomena that can influence your trading performance. Psychological Tolerance Bias This particular phenomena is not often discussed in the context of quantitative trading. However, it is discussed extensively in regard to more discretionary trading methods. It has various names, but Ive decided to call it psychological tolerance bias because it captures the essence of the problem. When creating backtests over a period of 5 years or more, it is easy to look at an upwardly trending equity curve, calculate the compounded annual return, Sharpe ratio and even drawdown characteristics and be satisfied with the results. As an example, the strategy might possess a maximum relative drawdown of 25 and a maximum drawdown duration of 4 months. This would not be atypical for a momentum strategy. It is straightforward to convince oneself that it is easy to tolerate such periods of losses because the overall picture is rosy. However, in practice, it is far harder If historical drawdowns of 25 or more occur in the backtests, then in all likelihood you will see periods of similar drawdown in live trading. These periods of drawdown are psychologically difficult to endure. I have observed first hand what an extended drawdown can be like, in an institutional setting, and it is not pleasant - even if the backtests suggest such periods will occur. The reason I have termed it a bias is that often a strategy which would otherwise be successful is stopped from trading during times of extended drawdown and thus will lead to significant underperformance compared to a backtest. Thus, even though the strategy is algorithmic in nature, psychological factors can still have a heavy influence on profitability. The takeaway is to ensure that if you see drawdowns of a certain percentage and duration in the backtests, then you should expect them to occur in live trading environments, and will need to persevere in order to reach profitability once more. Software Packages for Backtesting The software landscape for strategy backtesting is vast. Solutions range from fully-integrated institutional grade sophisticated software through to programming languages such as C, Python and R where nearly everything must be written from scratch (or suitable plugins obtained). As quant traders we are interested in the balance of being able to own our trading technology stack versus the speed and reliability of our development methodology. Here are the key considerations for software choice: Programming Skill - The choice of environment will in a large part come down to your ability to program software. I would argue that being in control of the total stack will have a greater effect on your long term PL than outsourcing as much as possible to vendor software. This is due to the downside risk of having external bugs or idiosyncrasies that you are unable to fix in vendor software, which would otherwise be easily remedied if you had more control over your tech stack. You also want an environment that strikes the right balance between productivity, library availability and speed of execution. I make my own personal recommendation below. Execution Capability/Broker Interaction - Certain backtesting software, such as Tradestation, ties in directly with a brokerage. I am not a fan of this approach as reducing transaction costs are often a big component of getting a higher Sharpe ratio. If youre tied into a particular broker (and Tradestation forces you to do this), then you will have a harder time transitioning to new software (or a new broker) if the need arises. Interactive Brokers provide an API which is robust, albeit with a slightly obtuse interface. Customisation - An environment like MATLAB or Python gives you a great deal of flexibility when creating algo strategies as they provide fantastic libraries for nearly any mathematical operation imaginable, but also allow extensive customisation where necessary. Strategy Complexity - Certain software just isnt cut out for heavy number crunching or mathematical complexity. Excel is one such piece of software. While it is good for simpler strategies, it cannot really cope with numerous assets or more complicated algorithms, at speed. Bias Minimisation - Does a particular piece of software or data lend itself more to trading biases You need to make sure that if you want to create all the functionality yourself, that you dont introduce bugs which can lead to biases. Speed of Development - One shouldnt have to spend months and months implementing a backtest engine. Prototyping should only take a few weeks. Make sure that your software is not hindering your progress to any great extent, just to grab a few extra percentage points of execution speed. C is the elephant in the room here Speed of Execution - If your strategy is completely dependent upon execution timeliness (as in HFT/UHFT) then a language such as C or C will be necessary. However, you will be verging on Linux kernel optimisation and FPGA usage for these domains, which is outside the scope of this article Cost - Many of the software environments that you can program algorithmic trading strategies with are completely free and open source. In fact, many hedge funds make use of open source software for their entire algo trading stacks. In addition, Excel and MATLAB are both relatively cheap and there are even free alternatives to each. Now that we have listed the criteria with which we need to choose our software infrastructure, I want to run through some of the more popular packages and how they compare: Note: I am only going to include software that is available to most retail practitioners and software developers, as this is the readership of the site. While other software is available such as the more institutional grade tools, I feel these are too expensive to be effectively used in a retail setting and I personally have no experience with them. Backtesting Software Comparison Description: High-level language designed for speed of development. Wide array of libraries for nearly any programmatic task imaginable. Gaining wider acceptance in hedge fund and investment bank community. Not quite as fast as C/C for execution speed. Execution: Python plugins exist for larger brokers, such as Interactive Brokers. Hence backtest and execution system can all be part of the same tech stack. Customisation: Python has a very healthy development community and is a mature language. NumPy/SciPy provide fast scientific computing and statistical analysis tools relevant for quant trading. Strategy Complexity: Many plugins exist for the main algorithms, but not quite as big a quant community as exists for MATLAB. Bias Minimisation: Same bias minimisation problems exist as for any high level language. Need to be extremely careful about testing. Development Speed: Pythons main advantage is development speed, with robust in built in testing capabilities. Execution Speed: Not quite as fast as C, but scientific computing components are optimised and Python can talk to native C code with certain plugins. Cost: Free/Open Source Description: Mature, high-level language designed for speed of execution. Wide array of quantitative finance and numerical libraries. Harder to debug and often takes longer to implement than Python or MATLAB. Extremely prevalent in both the buy - and sell-side. Execution: Most brokerage APIs are written in C and Java. Thus many plugins exist. Customisation: C/C allows direct access to underlying memory, hence ultra-high frequency strategies can be implemented. Strategy Complexity: C STL provides wide array of optimised algorithms. Nearly any specialised mathematical algorithm possesses a free, open-source C/C implementation on the web. Bias Minimisation: Look-ahead bias can be tricky to eliminate, but no harder than other high-level language. Good debugging tools, but one must be careful when dealing with underlying memory. Development Speed: C is quite verbose compared to Python or MATLAB for the same algorithmm. More lines-of-code (LOC) often leads to greater likelihood of bugs. Execution Speed: C/C has extremely fast execution speed and can be well optimised for specific computational architectures. This is the main reason to utilise it. Cost: Various compilers: Linux/GCC is free, MS Visual Studio has differing licenses. Different strategies will require different software packages. HFT and UHFT strategies will be written in C/C (these days they are often carried out on GPUs and FPGAs ), whereas low-frequency directional equity strategies are easy to implement in TradeStation, due to the all in one nature of the software/brokerage. My personal preference is for Python as it provides the right degree of customisation, speed of development, testing capability and execution speed for my needs and strategies. If I need anything faster, I can drop in to C directly from my Python programs. One method favoured by many quant traders is to prototype their strategies in Python and then convert the slower execution sections to C in an iterative manner. Eventually the entire algo is written in C and can be left alone to trade In the next few articles on backtesting we will take a look at some particular issues surrounding the implementation of an algorithmic trading backtesting system, as well as how to incorporate the effects of trading exchanges. We will discuss strategy performance measurement and finally conclude with an example strategy. Click Below To Learn More About. The information contained on this web site is the opinion of the individual authors based on their personal observation, research, and years of experience. The publisher and its authors are not registered investment advisers, attorneys, CPAs or other financial service professionals and do not render legal, tax, accounting, investment advice or other professional services. The information offered by this web site is general education only. Because each individuals factual situation is different the reader should seek his or her own personal adviser. Neither the author nor the publisher assumes any liability or responsibility for any errors or omissions and shall have neither liability nor responsibility to any person or entity with respect to damage caused or alleged to be caused directly or indirectly by the information contained on this site. Use at your own risk. Additionally, this website may receive financial compensation from the companies mentioned through advertising, affiliate programs or otherwise. Rates and offers from advertisers shown on this website change frequently, sometimes without notice. While we strive to maintain timely and accurate information, offer details may be out of date. Visitors should thus verify the terms of any such offers prior to participating in them. The author and its publisher disclaim responsibility for updating information and disclaim responsibility for third-party content, products, and services including when accessed through hyperlinks and/or advertisements on this site.

No comments:

Post a Comment