суббота, 28 апреля 2018 г.

Dados da série temporal de forex


Solução de Análise de Séries Temporais para Negócios.
Aumente a Precisão da Previsão com o Poderoso Software de Análise de Séries Temporais.
A análise de séries temporais é um poderoso método de análise de dados. Uma série temporal é uma amostra seqüencial de dados medidos um a um em intervalos de tempo fixos. A análise de séries temporais tem como objetivo descobrir padrões específicos nesses dados para prever valores futuros baseados em valores anteriormente observados. Essa abordagem tem muitas aplicações: previsão de carga, previsão de negócios, previsão financeira, análise de mercado de ações e assim por diante.
GMDH Shell implementa uma versão altamente modificada e melhorada do algoritmo GMDH clássico desenvolvido no final dos anos sessenta no século XX. Ao contrário do algoritmo clássico de Método de Grupo de Manipulação de Dados, o software GMDH Shell usa modelos que complicam gradualmente para descrever os dados históricos fornecidos. Cada modelo é verificado se ele se ajusta aos valores de dados obtidos anteriormente e, em seguida, o GMDH Shell calcula a força de previsão do modelo e decide se o próximo modelo será construído ou não.
O software é o melhor que já usei. O que é mais impressionante, além dos outros algoritmos, é especialmente os recursos de previsão de rede neural e de séries temporais e a facilidade com que as fórmulas podem ser geradas e exportadas para uma planilha para personalização.
O GMDH Shell não apenas fornece análise de alta velocidade e previsão precisa, como também oferece uma ferramenta abrangente de gerenciamento de dados para entrada rápida de dados de entrada, recursos de visualização avançados e vários modelos prontos para análise instantânea com seus próprios dados.
O GMDH Shell aproveita ao máximo o seu sistema para realizar análises de séries temporais em tempo mínimo. O suporte para múltiplos processadores, processadores multi-core e tecnologia HyperThreading permite que o programa execute computação paralela e alcance resultados precisos de previsão dentro de intervalos de tempo impressionantemente baixos. Por exemplo, um conjunto de dados de cerca de 200.000 linhas é analisado em apenas 37 minutos.
No geral, a GMDH Shell é certamente um dos mais poderosos softwares de análise de séries temporais do mercado. Com isso, a previsão financeira, a previsão de moeda estrangeira ou o planejamento de demanda tornam-se muito mais fáceis. A interface do programa não é sobrecarregada com detalhes excessivos, por isso, mesmo um usuário com baixo nível de experiência pode começar a usá-lo rapidamente.
Baixe o Shell GMDH para o Data Science instantaneamente!
Mais de 100.000 pessoas já baixaram o GMDH Shell!

Negociação Quantitativa.
Investimento quantitativo e idéias de negociação, pesquisa e análise.
Quinta-feira, 02 de julho de 2015.
Análise de séries temporais e lacunas de dados.
Embora a magnitude absoluta dos retornos ao longo de um dia da semana seja semelhante a um final de semana, os retornos médios são muito mais positivos nos dias da semana. Note também que a curtose de retornos é quase o dobro nos finais de semana. (Riscos de cauda muito maiores nos finais de semana com retornos muito menos esperados: por que alguém ocuparia uma posição nos finais de semana?) Então, se executarmos qualquer tipo de análise de séries temporais em dados diários, estaremos ajustando um modelo a dados com estatísticas heterogêneas que não vai funcionar bem.
Relatei anteriormente sobre um modelo de ações fundamentais proposto por Lyle e Wang usando uma combinação linear de apenas dois fundamentos firmes & # 8213; relação book-to-market e retorno sobre o patrimônio. O professor Lyle publicou uma nova versão deste modelo. Charles-Albert Lehalle, Jean-Philippe Bouchaud e Paul Besson informaram que "o preço intradiário está mais alinhado com ordens com limite assinadas (reabastecimento cumulativo de pedidos) do que com ordens de mercado assinadas (desequilíbrio acumulativo de pedidos), mesmo que o desequilíbrio de ordem seja capaz de prever movimentos de preços a termo. " Dica do chapéu: Mattia Manzoni. (Eu não tenho um link para o artigo original: por favor, pergunte Mattia para isso!) Uma nova competição de investimento para ajudá-lo a levantar capital está disponível em hedgefol. io. Desfrute de uma festa de verão ao ar livre com os amigos que se beneficiam da fundação New York Firefighters Burn Center na terça-feira, 14 de julho, com boa comida e bebidas geladas em um terraço com vista para Manhattan. Por favor, RSVP para se juntar a gestores de fundos quant, comerciantes sistemáticos, traders algorítmicos, quantos e tubarões de alta frequência para uma grande noite. Este é um evento de cortesia (doações são bem-vindas).
77 comentários:
Não sei como você pode ter um retorno médio nos fins de semana quando o mercado está fechado.
Obrigado Ernie por sua menção no blog, estou muito animado com isso.
Considere um problema de dados perdidos que pode ser facilmente resolvido com o filtro de Kalman.
Por volta de um fim de semana, eu quis dizer o retorno do fechamento do pregão antes do fim de semana, para o fechamento do pregão após o fim de semana, no caso do SPY. Para retornos de 15 minutos do AUDCAD, o retorno de fim de semana significa o retorno das 17h ET na sexta-feira, às 17h15 no domingo, quando o mercado reabrir.
Obrigado pelo link e explicação!
Você pode explicar por que o filtro de Kalman pode resolver o problema de dados perdidos?
Você fez a análise para o SPY no mesmo período em que citei? Dessa forma, podemos comparar e descobrir se algum dos nossos cálculos ou dados tem erros.
Sim, futuros de Es e VX são correlacionados negativamente, e eu descrevi uma estratégia de negociação de pares baseada em momentum em meu livro Algorithmic Trading p.143.
Interessante que você não encontrou essa sazonalidade em toda a história do SPY.
Eu sei que os pesquisadores acadêmicos gostam de usar a maior história possível ao escrever artigos (mínimo de 30 anos?), Mas eu discordo dessa abordagem.
Se você achar que o retorno de sexta-feira também é significativamente (estatisticamente falando) diferente da média, isso indicaria que há um efeito sazonal para as sextas-feiras, e deve ser tratado separadamente de outros dias também.
Concordo com os seus pontos de vista que o contexto das nossas discussões é importante.
Ansioso para os resultados da sua nova pesquisa!
Negociamos 1 ação de y e ações beta de x.
A utilização do índice de hedge não garante que o desempenho seja melhor que o dólar neutro ou a ponderação de volatilidade. No entanto, os outros métodos de cobertura não seguem a partir da estacionariedade do spread. Ou seja mesmo que um spread seja verdadeiramente estacionário, não há garantia de que os outros métodos seriam lucrativos.
Obrigado pelo link para o seu estudo. Conclusão interessante: vou estudá-lo em alguns detalhes.
Eu tenho algumas perguntas que você pode me ajudar a resolvê-las:
Se o retorno absoluto é simplesmente a soma cumulativa dos retornos individuais da série, recebo algo como 70% (não bp) para o & # 8220; dia da semana & # 8221; e -14% para fins de semana.
Também o retorno médio, é a média da série dos retornos ?. No caso, estou tendo 0,3 pb para os dias da semana & # 8221; mas -0.3bp para os finais de semana & # 8220; & # 8221; não o 3.9.
Eu baixei a data da Bloomberg no caso de termos fontes diferentes; no entanto, não acredito que esse seja o problema.
1) Retorno médio absoluto significa a média (ao longo de vários anos) do valor absoluto dos retornos diários. Essa é uma maneira típica de calcular a volatilidade intradia (e não o desvio padrão dos retornos), mas, para fins de consistência, estou usando-a para calcular as volatilidades diárias também aqui. Não é igual a nenhuma das definições que você sugeriu.
Eu diria que um Sharpe de pelo menos 1 é necessário para indicar significância estatística, a menos que você tenha fortes razões fundamentais para acreditar que a estratégia deve funcionar apesar de poucas evidências estatísticas.
A maioria dos meus clientes e associados no Reino Unido e na Europa está negociando ações dos EUA. Não vejo por que você deveria negociar apenas ações da HK.
Se a taxa de juros dos EUA aumentar, certamente o USD subirá, uma vez que não esperamos que o BCE do BOJ aumente as taxas.
Não faço ideia - não sou economista!
Você pode proteger os riscos cambiais mais barato usando opções. Veja o novo livro & quot; Desempenho da Opção FX & quot; no topo da minha lista de livros recomendados na barra lateral direita.
CAGR = Taxa de crescimento anualizada composta. Você pode calcular o retorno acumulado acumulado de sua estratégia, obtendo os retornos diários r_i (mais precisamente, os retornos diários de marcação a mercado) e multiplicando-os: R = (1 + r_1) * (1 + r_2) *. * (1 + r_N) -1. Em seguida, anualizá-lo por CAGR = (1 + R) ^ (252 / N) -1, onde 252 é o número de dias de negociação em um ano.
Os retornos diários r_i são os P & amp; diários L (P & amp; L de marcação a mercado, o que significa que inclui P & amp; Ls realizados e não realizados) dividido pelo VPL da sua conta. Naturalmente, o NAV inclui dinheiro.
É um modelo AR com um lookback muito longo, como o AR (288).
Por favor, note que esta curva cumPL foi gerada assumindo execuções entre aspas. Naturalmente, na negociação real, podemos ter que pagar o spread bid-ask muitas vezes.
Muitas vezes, as estratégias de criação de mercado de alta frequência podem ter um índice de Sharpe muito alto, assim como as estratégias de arbitragem de latência.
Ao encontrar o melhor ajuste p em AR (p), isso não está sobrecarregando os dados (dados de snooping)? Você menciona AR (288), como você chega a 288?
Quando você testa o AR (288) no conjunto de testes e confirma a validade, o teste fora da amostra torna-se dentro da amostra, porque você o usou para verificar e selecionar o modelo?
O valor de p é encontrado usando Estimação de Máxima Verossimilhança no conjunto de treinamento. Não há viés de snooping de dados quando você encontra o parâmetro ideal no conjunto de treinamento e confirma que ele funciona bem no conjunto de testes. O único caso em que ocorreria viés de bisbilhotagem de dados é que você encontre o melhor p no conjunto de treinamento, mas o modelo ainda não funciona no conjunto de teste. Então você muda o modelo de alguma outra forma e usa o conjunto de treinamento para otimizar novamente os parâmetros.
O banco de dados Sharadar em Quandl fornece uma quantidade limitada de dados fundamentais gratuitos.
Em geral, essa descontinuidade (inclusive as lacunas noturnas para cima ou para baixo) está me causando alguma dor de cabeça. Eu até pensei em investigar modelos para saltos de volatilidade, mas eles parecem muito complicados para serem robustos, e a volatilidade pode se comportar de maneira diferente em comparação com os preços.
Obrigado por compartilhar sua experiência com seu modelo. Na verdade, é muito difícil ter um modelo intradiário que, no entanto, mantenha posições durante a noite ou até mesmo no fim de semana. O óleo e a água não se misturam bem.
Nenhum dado sobre IB foi dividido / ajustado por dividendos.
E para a diferença de fim de semana, podemos apenas conectar o fechamento da sexta-feira com a próxima segunda-feira aberta e ajustar os outros dias da semana de maneira semelhante, e isso pode funcionar para estratégias que não mantêm a posição no fim de semana?
Mesmo para uma estratégia intradiária, você descobrirá que o modelo fará algumas previsões erradas para as primeiras barras de um dia. Só porque você enganou o modelo para ignorar a lacuna não significa que não há diferença nos preços que afetariam as previsões.
Negociamos apenas FX à vista, com alavancagem de 10x.
Para aqueles que estão negociando pares com futuros e-mini, há um blog interessante que mostra os sinais reais fora da amostra (assim como o timing do mercado por trás da negociação de pares):
Na verdade eu estou pesquisando sobre o seu e-mail para enviar esta mensagem.
lamento escrever aqui, mas não sei como posso entrar em contato com você & gt; & gt; & gt;
Eu escrevi um artigo sobre o TRADING LIFE STYLE.
e, na verdade, fui apresentado a você por todos os comerciantes árabes como um exemplo para o trader ao vivo e para todas as suas atividades.
Eu desejo que você verifique isso.
desde já, obrigado.
Eu não tentei por mim mesmo, mas certamente vale a pena investigar GARCH e ARIMA.
Isso ocorre porque há uma diferença de 15 milhões na negociação diária de FX, das 17:00 às 17:00 ET. Usando dados 15M evita ter que lidar com essa lacuna.
Eu fiz isso antes, e encontrei uma leve melhora - mas isso foi quando eu era jovem e tola. Eu pretendo fazer outra punhalada em breve.
Oi Ernie Nós nos conhecemos no Systematic Trading Meetup em Londres.
Eu tenho um novo Blog para discutir estratégias de negociação sistemática e sistemas dev. Por favor dê uma olhada. Espero fazer posts bastante frequentes.
Obrigado pelo link, Nick!
Obrigado pelo link, Nick!
Você acha que o FX é vulnerável a algum tipo de evento Flash Crash?
Nossa estratégia de câmbio é uma estratégia de reversão à média e, portanto, baixa volatilidade. Então, naturalmente, esperamos algumas perdas quando a volatilidade aumenta. Está abaixo de 2,5% em agosto. No entanto, o nosso fundo subiu mais de 1%, uma vez que esta estratégia está coberta por uma estratégia de futuros de volatilidade longa, que teve um desempenho excepcionalmente bom.
Não, estratégias de volatilidade de longo prazo, como nossa estratégia futura, geralmente são baseadas em momentum.
A maioria das estratégias de negociação em pares é reversão e, portanto, baixa volatilidade.
Eu discuti essa questão no Capítulo 1 do Algorithmic Trading. Assumindo a distribuição gaussiana dos retornos, precisamos de um p-valor de 5%, se quisermos ter um índice de Sharpe de 1,6 ou superior. É claro que ainda se pode ganhar dinheiro com um baixo índice de Sharpe, mas a volatilidade dos retornos será alta.

Dados da série temporal do Forex
Etapas para acessar dados históricos forex gratuitos e dados forex para pares de moeda estrangeira:
Passo 1: Escolha o (s) par (es) cambial (ais) para consultar, verificando close-high-low ou verificar todos.
Etapa 2: insira as datas de início e fechamento do intervalo para os dados do Forex. Volte a iniciar o START e / ou STOP DATE nas caixas, se necessário. O formato deve ser "mm / dd / aaaa". Clique nos ícones ou links do calendário e clique nas datas, se preferir. Talvez você não veja o calendário se tiver um bloqueador de pop-ups ativado.
NOTA: existem dados no banco de dados para cada dia da semana (de segunda a sexta) nos intervalos do banco de dados. Não há dados para sábados ou domingos. Não insira um sábado ou domingo como data de início ou de encerramento.
Etapa 3: Envie sua consulta para obter dados históricos Forex gratuitos clicando em Obter estatísticas diárias, mensais ou semanais.
Etapa 4: Se forem selecionados pares forex (moeda) com um intervalo válido, haverá dois resultados:
A) Uma tabela de estatísticas sobre o intervalo de dados forex.
B) Um link azul intitulado “Arquivo de Folha de Propagação” para uma planilha do Excel com resultados completos de consulta.
NOTA: Você pode ter que usar a barra de rolagem azul na parte inferior da página para mover a página para a direita, veja este link.
Clique no link para abrir o arquivo. Depois de aberto, renomeie o arquivo e salve-o em um local no computador ou copie e cole os resultados em uma planilha. Agora, faça outra consulta na parte inferior da página para obter mais dados históricos ou sair do Forex.

Riqueza Robótica.
Postado em 4 de fevereiro de 2016 por Kris Longmore.
Recentemente, escrevi sobre a adequação de modelos de séries temporais de reversão à média a dados financeiros e usando os modelos & # 8217; previsões como base de uma estratégia de negociação. Continuando minha exploração da modelagem de séries temporais, decidi pesquisar a família autorregressiva e condicionalmente heteroscedástica de modelos de séries temporais. Em particular, eu queria entender a média móvel integrada autogressiva (ARIMA) e generalizada autorregressivo condicional heterocedasticidade (GARCH) modelos, uma vez que são referenciados freqüentemente na literatura financeira quantitativa, e é sobre o tempo que eu comecei a velocidade. O que segue é um resumo do que aprendi sobre esses modelos, um procedimento geral de adaptação e uma estratégia de negociação simples baseada nas previsões de um modelo ajustado.
Várias definições são necessárias para definir a cena. Eu não quero reproduzir a teoria que eu estava passando; em vez disso, aqui está meu resumo de alto nível do que eu aprendi sobre modelagem de séries temporais, em particular os modelos ARIMA e GARCH e como eles estão relacionados aos seus modelos de componentes:
Em seu nível mais básico, a adaptação dos modelos ARIMA e GARCH é um exercício para descobrir como as observações, o ruído e a variação de uma série temporal afetam os valores subsequentes da série temporal. Tal modelo, apropriadamente ajustado, teria alguma utilidade preditiva, assumindo, é claro, que o modelo permaneceu um bom ajuste para o processo subjacente por algum tempo no futuro.
Um modelo ARMA (nota: no & # 8220; I & # 8221;) é uma combinação linear de um modelo autorregressivo (AR) e um modelo de média móvel (MA). Um modelo AR é aquele cujos preditores são os valores anteriores da série. Um modelo MA é estruturalmente similar a um modelo AR, exceto os preditores são os termos de ruído. Um modelo médio móvel autorregressivo de ordem p, q & # 8211; ARMA (p, q) & # 8211; é uma combinação linear dos dois e pode ser definida como:
onde $ w_ $ é ruído branco e $ a_ $ e $ b_ $ são coeficientes do modelo.
Um modelo ARIMA (p, d, q) é simplesmente um modelo ARMA (p, q) diferenciado & # 8216; d & # 8217; vezes & # 8211; ou integrado (I) - para produzir uma série estacionária.
Finalmente, um modelo GARCH tenta explicar também o comportamento heteroscedástico de uma série temporal (isto é, a característica de agrupamento de volatilidade), bem como as influências seriadas dos valores anteriores da série (explicada pelo componente AR) e os termos de ruído. (explicado pelo componente MA). Um modelo GARCH usa um processo autoregressivo para a variação em si, isto é, usa valores passados ​​da variação para contabilizar as alterações na variação ao longo do tempo.
Com esse contexto saindo do caminho, eu em seguida encaixo um modelo ARIMA / GARCH na taxa de câmbio EUR / USD e uso-o como a base de um sistema de negociação. Os parâmetros do modelo para cada dia são estimados usando um procedimento de ajuste, esse modelo é então usado para prever o retorno do dia seguinte e uma posição é inserida de acordo e mantida por um dia de negociação. Se a previsão for a mesma do dia anterior, a posição existente será mantida.
Uma janela contínua de log retorna é usada para ajustar um modelo ARIMA / GARCH ideal no fechamento de cada dia de negociação. O procedimento de ajuste é baseado em uma pesquisa de força bruta dos parâmetros que minimizam o Critério de Informações do Aikake, mas outros métodos podem ser usados. Por exemplo, poderíamos escolher parâmetros que minimizem o Bayesian Information Criterion, o que pode ajudar a reduzir o overfitting penalizando modelos complexos (isto é, modelos com um grande número de parâmetros). Este procedimento de adaptação foi inspirado pelo post de Michael Halls-Moore sobre uma estratégia de negociação ARIMA + GARCH para o S & amp; P500, e eu peguei emprestado parte do seu código.
Eu escolhi usar uma janela de rolagem de 1000 dias para ajustar o modelo, mas esse é um parâmetro para otimização. Há um caso de usar tantos dados quanto possível na janela de rolagem, mas isso pode falhar em capturar os parâmetros do modelo em evolução com rapidez suficiente para se adaptar a um mercado em mudança. Eu não vou explorar muito isso aqui, mas seria interessante investigar o desempenho da estratégia como uma função da janela de lookback. Aqui está o código:
Primeiro, as previsões direcionais apenas: comprar quando um retorno positivo é previsto e vender quando um retorno negativo é previsto. Os resultados dessa abordagem são mostrados abaixo (sem previsão de custos de transação):
Você deve ter notado que, no procedimento de ajuste do modelo acima, retive os valores reais de retorno da previsão, bem como a direção do retorno da previsão. Eu quero investigar o poder preditivo da magnitude do valor de retorno previsto. Especificamente, a filtragem de transações quando a magnitude do retorno da previsão está abaixo de um certo limite melhora o desempenho da estratégia? O código abaixo executa essa análise para um pequeno limite de retorno. Para simplificar, converti o log de previsão para retornos simples para permitir a manipulação do sinal da previsão e a fácil implementação.
E os resultados sobrepostos à estratégia bruta:
Ocorreu-me que o modelo ARIMA / GARCH a que nos encaixamos em determinados dias pode ser uma representação melhor ou pior do processo subjacente do que nos outros dias. Talvez filtrar transações quando temos menos confiança em nosso modelo melhoraria o desempenho. Essa abordagem exige que a significância estatística do ajuste de cada modelo de dia seja avaliada, e uma negociação somente seja registrada quando esse significado exceder um certo limite. Existem várias maneiras pelas quais isso pode ser realizado. Primeiramente, poderíamos examinar visualmente o correlograma dos resíduos do modelo e fazer um julgamento sobre a adequação do ajuste nessa base. Idealmente, o correlograma dos resíduos se assemelharia a um processo de ruído branco, não mostrando correlação serial. O correlograma dos resíduos pode ser construído em R como segue:
acf (fit @ fit $ residuals, main = 'ACF de Residuais de Modelo')
Embora este correlograma sugira um bom ajuste do modelo, obviamente não é uma ótima abordagem, pois se baseia no julgamento subjetivo, sem mencionar a disponibilidade de um ser humano para rever o modelo de cada dia. Uma abordagem melhor seria examinar as estatísticas de Ljung-Box para o ajuste do modelo. O Ljung-Box é um teste de hipótese para avaliar se as autocorrelações dos resíduos de um modelo ajustado diferem significativamente de zero. Neste teste, a hipótese nula é de que a autocorrelação dos resíduos é zero; a alternativa é que a série possui correlação serial. Rejeição do nulo e confirmação do suplente implicaria que o modelo não é um bom ajuste, pois há uma estrutura inexplicável nos resíduos. A estatística Ljung-Box é calculada em R da seguinte forma:
O valor p neste caso fornece evidência de que os resíduos são independentes e que esse modelo específico é um bom ajuste. A título de explicação, a estatística do teste de Ljung-Box (X-quadrado na saída do código acima) cresce para aumentar a autocorrelação dos resíduos. O p-valor é a probabilidade de obter um valor tão grande ou maior que a estatística de teste sob a hipótese nula. Portanto, um alto valor de p neste caso é evidência de independência dos resíduos. Observe que se aplica a todos os atrasos até o especificado na caixa. função test ().
Aplicando o teste de Ljung-Box para cada dia de ajuste do modelo revela muito poucos dias onde a hipótese nula de resíduos independentes é rejeitada, portanto, estender a estratégia para também filtrar quaisquer negociações desencadeadas por um ajuste de modelo pobre é improvável para adicionar muito valor :
Conclusões e Trabalho Futuro.
O desempenho da estratégia ARIMA / GARCH supera uma estratégia de compra e manutenção no EUR / USD para o período de backtest, no entanto, o desempenho não é nada espetacular. Parece que é possível melhorar o desempenho da estratégia filtrando características como a magnitude da previsão e a adequação do modelo, embora o último não agregue muito valor a esse exemplo em particular. Outra opção de filtragem poderia ser calcular o intervalo de confiança de 95% para a previsão de cada dia e entrar apenas em uma negociação quando o sinal de cada limite é o mesmo, embora isso reduza bastante o número de negociações realmente realizadas.
Existem muitas outras variedades do modelo GARCH, por exemplo, exponencial, integrado, quadrático, limiar, estrutural e de comutação para citar alguns. Estes podem ou não fornecer uma representação melhor do processo subjacente do que o modelo simples GARCH (1,1) usado neste exemplo. Para uma exposição desses e outros sabores do GARCH, consulte Bollerslev et. al. (1994).
Uma área de pesquisa que eu achei muito interessante recentemente é a previsão de séries temporais através da combinação inteligente de modelos díspares, por exemplo, tomando a média das previsões individuais de vários modelos ou buscando consenso ou voto majoritário sobre o sinal da predição. Para pegar emprestada alguma nomenclatura de aprendizado de máquina, este conjunto & # 8216; ensembling & # 8217; de modelos muitas vezes podem produzir previsões mais precisas do que qualquer um dos modelos constituintes. Talvez uma abordagem útil seria agrupar as previsões do modelo ARIMA / GARCH apresentado aqui com uma rede neural artificial adequadamente treinada ou outro método de aprendizado estatístico. Talvez pudéssemos esperar que o modelo ARIMA / GARCH capturasse quaisquer características lineares das séries temporais, enquanto a rede neural poderia ser um bom ajuste para as características não lineares. Tudo isso é pura especulação, potencialmente com algum apoio a partir deste artigo, mas, ainda assim, uma interessante perspectiva de pesquisa.
Se você tiver alguma ideia para melhorar a precisão das previsões de modelos de séries temporais, adoro ouvi-las nos comentários.
Finalmente, crédito onde o crédito é devido: embora eu tenha trabalhado em várias fontes de informação sobre modelagem de séries temporais financeiras, achei os posts detalhados de Michael Halls-Moore sobre o assunto extremamente úteis. Ele começa desde o começo e trabalha através de vários modelos de complexidade crescente. Como declarado no post principal, eu também peguei emprestado de sua estratégia de negociação ARIMA + GARCH para o S & P500 no desenho da estratégia EUR / USD apresentada aqui, particularmente a abordagem para determinar os parâmetros do modelo através da minimização iterativa do Critério de Informação do Aikake. As idéias sobre a filtragem de negociações com base nos resultados do teste de Ljung-Box e a magnitude absoluta do valor previsto eram minhas (embora eu tenha certeza de que não sou o primeiro a chegar a elas) .
Outras referências que eu achei particularmente úteis:
Bollerslev, T. (2001). Econometria Financeira: Desenvolvimentos Passados ​​e Desafios Futuros, em Journal of Econometrics, vol. 100, 41-51.
Bollerslev, T., Engle, R. F. e Nelson, D. B. (1994). Modelos GARCH, em: Engle, R. F. e McFadden, D. L. (eds.) Handbook of Econometrics, vol. 4, Elsevier, Amsterdam, 2961-3038.
Engle, R. (2002). Novas Fronteiras para Modelos ARCH, em Journal of Applied Econometrics, vol. 17, 425-466.
Qi, M. e Zhang, G. P. (2008). Modelagem e Previsão de Séries Temporais de Tendência com Redes Neurais, em IEEE Transactions on Nerual Networks, vol. 19, n 5, 8-8-816.
Tsay, R. (2010). Modelos Heteroscedásticos Condicionais, em Tsay, R. Análise de Financial Time Series, Terceira Edição, Wiley, 109-174.
Aqui você pode baixar o código e os dados usados ​​nesta análise: arima_garch.
Matt haines.
Eu estava literalmente lutando com um monte de leitura de teste de caixa ARMA ARIMA GARCH e, em seguida, fiz uma pausa para ler o seu post no blog. & # 8220; Sim! & # 8221; Eu gritei (na minha cabeça) quando li sobre você ponderando sobre todas aquelas grandes palavras e acrônimos com as quais eu estava lutando. E então eu percebi que você também estava baseando seu trabalho nos escritos de Michaels. Coisas malditas machucam minha cabeça. Mas eu estou lentamente entendendo. Você está cerca de 4 parsecs à frente de mim, então vou ter que ficar de olho no seu trabalho também. ? Obrigado.
Kris Longmore.
Ei Matt, obrigado pelo comentário! Espero que meu artigo tenha sido útil para você. Sim, aprendi muito com as postagens de Michael sobre esse assunto. Ele é pesado sobre o detalhe e apresenta de uma forma lógica que continuamente se baseia na informação anterior. Eu comprei recentemente o corte bruto de seu livro mais recente e me refiro a ele com frequência. Muito ansioso para o lançamento final. No meu artigo, eu estava com o objetivo de resumir sucintamente a teoria e me concentrar em algumas idéias de negociação que parecem uma extensão bastante natural. Espero que tenha sido útil!
Obrigado pela sua postagem. Você poderia dizer quais foram as proporções de Sharpe das estratégias testadas?
Kris Longmore.
Eu não calculei as taxas de Sharpe quando executei essas estratégias. Você poderia facilmente fazer isso executando o script (disponível através do link de download, junto com os dados que eu usei) e usando o pacote performanceAnalytics em R.
Olá, sou novo na adaptação da série temporal e achei o seu artigo muito interessante. Minha pergunta é: não há um valor aleatório envolvido na previsão do preço por definição de uma série GARCH? Em caso afirmativo, não faria sentido calcular a probabilidade de a previsão ser longa ou curta usando o valor ARMA como média e o desvio padrão e talvez aplicar um filtro, aceitando apenas valores acima de um determinado limite?
Kris Longmore.
Obrigado por ler meu blog. Eu acho que você está se referindo ao termo de ruído na definição GARCH? Você poderia certamente experimentar um modelo ARMA & # 8211; Eu adoraria ouvir sobre os resultados & # 8211; mas eu não tenho certeza de como isso se relaciona com o termo de ruído no modelo GARCH?
Obrigado pelo tutorial. Qual (is) linha (s) de código precisaríamos contabilizar os custos de transação?
Kris Longmore.
Há algumas maneiras de fazer isso, dependendo de quão preciso ou complexo é o modelo de custo de transação desejado. Se um modelo de custo de transação fixo fosse suficiente, você poderia simplesmente subtrair esse custo de transação fixo de cada um dos seus retornos. Por exemplo, se uma rodada do EUR / USD custa 1,5 pips, você simplesmente retorna.
É claro que, na realidade, você obteria spread variável e escorregamento variável dependendo de fatores como volatilidade e liquidez em tempo real, portanto, isso pode ou não ser preciso o suficiente para seus objetivos.
Kris Longmore.
Neste exemplo, eu primeiro ajustei um modelo ARMA de ordem (p, q) onde (p, q) ∈ e (p, q) são escolhidos de forma que minimizem o Critério de Informação de Aikake. Em seguida, ajustamos um modelo usando GARCH (1,1) para a variância e ARMA (p, q) para a média. Um novo modelo é construído para cada período na simulação usando os 1.000 períodos anteriores. Cada modelo é usado uma vez (para prever o retorno do próximo período) e depois descartado. Portanto, para responder à sua pergunta, a abordagem usada aqui não procura parâmetros que "funcionem". ############################################## geralmente, em vez disso, encontramos os melhores parâmetros da nossa janela de lookback e assumimos que eles serão válidos para o próximo período.
Essa suposição pode ou não ser válida. E se essa suposição é válida, enquanto a modelagem de séries temporais é super interessante do ponto de vista teórico, ela pode ou não ser de uso prático em uma estratégia de negociação. No mínimo, há certamente outras considerações além dos parâmetros ideais do modelo. Por exemplo, a partir da minha própria experiência na construção de modelos de negociação para os mercados forex, posso compartilhar que a escolha do tempo de amostragem (ou seja, a hora que você escolhe como abrir / fechar suas barras diárias) é de importância crítica no sucesso ou caso contrário, o modelo.
Seu comentário é realmente muito oportuno! Recentemente, criei uma estrutura de backtesting GARCH para um cliente que permite uma experimentação eficiente com esses e outros parâmetros, como condições de saída e alocação de capital. Um quadro de experimentação eficiente é realmente importante para a pesquisa efetiva e prática. Se você estiver interessado em algo similar, me dê um ping em kris [at] robotwealth.
Espero que ajude.
Os dados de preço EURUSD. csv & # 8230; Como é a estrutura de dados no arquivo? Você pode exibir os cabeçalhos / primeiras poucas linhas para que eu possa analisar meus dados de acordo.
Desculpa. Depois de postar minha pergunta, vi o link para download do arquivo. Doooh!
Em relação ao seu código, como você lidou com valores negativos para os retornos? Como você está usando o log para o ag. curve e com valores negativos, você terá NaN.
Kris Longmore.
Eu sinceramente não lembro de ter de voltar a executar o código. Mas sim, você está correto & # 8211; faz mais sentido usar retornos de log que são aditivos. Multiplicar retornos simples é problemático ao criar uma curva de capital quando você tem posições neutras. Eu atualizei a postagem.
você pode usar isto: ag. curve & lt; - cumsum (ag. direction. returns)
Estudei Econometria de Séries Temporais como parte da minha especialização em PhD e descobri que simplesmente desenhar tendências e padrões em um gráfico é uma abordagem muito superior às técnicas estatísticas mais avançadas, como Markov Switching Multivariate GARCH ou Multivariate Autoregressive State Space Models. Eu me sinto meio desconfortável que todos os meus esforços e noites sem dormir fossem para nada. Mas pelo menos eu sei quais são as melhores abordagens.
Kris Longmore.
É bom saber que você encontrou algo que funciona para você. Eu concordo, às vezes mais simples pode ser melhor.

Forex Mecânico
Negociação no mercado de câmbio usando estratégias de negociação mecânicas.
Usando o R no Algorithmic Trading: caracterização simples de séries temporais. Parte um.
Na semana passada, usamos o pacote estatístico R para analisar uma matriz de características do sistema de IS / OS e derivar algumas conclusões simples sobre as correlações históricas de IS / OS. Hoje vamos usar o R ​​para fazer uma análise mais fundamental que deve ser feita antes da geração do sistema. Essa análise corresponde à caracterização básica de séries temporais financeiras, o que nos dá algumas informações fundamentais sobre os símbolos que vamos comercializar. Ao fazer essa análise, poderemos descobrir onde seria mais fácil desenvolver estratégias algorítmicas tradicionais que buscam alfa e se existem algumas coisas (um viés fundamental a longo prazo) dentro de um determinado símbolo. Neste primeiro tutorial, abordaremos algumas características estatísticas básicas de séries temporais financeiras, se houver alguma característica útil que você achar que está faltando, por favor poste um comentário com sua observação (eu certamente as incluirei nas próximas partes).
Antes de mais nada, devemos garantir que nossos dados estejam contidos em um arquivo csv amigável para R. Queremos ter colunas Open / High / Low / Close, bem como uma coluna Date que contenha os horários de abertura das velas em um formato adequado para R (por exemplo 1986-03-23). Lembre-se que o R precisa ter cabeçalhos de coluna adequados, então a primeira linha do nosso csv deve ler algo como & ldquo; Data, Abrir, Alto, Baixo, Fechar & # 8221 ;. É importante que os dados sejam formatados dessa maneira, pois usaremos outras bibliotecas que exigem essa formatação expressa (como quantmod) nos próximos posts desta série (quando realizaremos análises mais avançadas, como o expoente de Hurst). estimativas). Certifique-se de ter instalado a biblioteca e1071 R antes de prosseguir, pois precisaremos de alguns cálculos estatísticos básicos. Uma vez que você tenha seus dados prontos, você pode agora carregá-los em R e plotar para confirmar se ele está carregado corretamente (note que vamos aprender como plotar gráficos de velas mais bonitos quando usamos quantmod:

Комментариев нет:

Отправить комментарий