Monday 10 June 2019

Mdfa forex


(MDFA) e Algorithmic Trading Apresentação sobre o tema: Real-Time Signalextraction (MDFA) e Algorithmic Trading Apresentação transcrição: 1 Real-Time Signalextraction (MDFA) e Algorithmic Trading marc. wildizhaw. ch blog. zhaw. chidpsefblog idp. Zhaw. chusri idp. zhaw. chMDFA-XT idp. zhaw. chsef 2 Antecedentes Mathecon híbrido. IDP-ZHAW Projetos com econ. (MDFA-XT, grande hedge-fundo) Engenharia (Telecomunicações, previsões de carga) Eclecticdisparate gama de aplicações Metodologia abordagem (s) comum (es) In-house desenvolvimentos: (M) DFA R-pacote signalextraction em CRAN 3 A Clássica Algorítmica Trading Abordagem Sistema de sincronização SP500 Daily Closures MA (200), igualmente ponderada 6 Por que os comerciantes Freqüentemente AdoptPrefer filtro cruzamentos Características do filtro Por MDFA blog. zhaw. chidpsefblogindex. parametros54- Intermezzo-Why-do-Traders-Muitas-Considere-Cruzamentos-de-Trading-Filter-Pairs. html 8 Características do filtro Função de amplitude: Qual sinal é extraído Time-shift: Qual é o tamanho do atraso 11 Conclusões Crossing-rules São (uma forma desnecessariamente complicada de implementar) filtros de passagem de banda As regras de cruzamento (bandpass) têm pequenos atrasos de tempo Por que o MDFA Design eficiente em tempo real (bandpass) eficiente e rápido 16 Conclusão Damp ou avoi D todas as retiradas maciças da recessão efetivamente Ideal para investidores avessos ao risco (fundos de pensão) Negociação fundamental: verdadeiramente fora da amostra NORM Desvantagem: insuficientemente ativo Texto: Difícil justificar taxas 25 Conclusão Maior negociação Freqüências associadas ao Passo de Banda deslocado para a direita Mais flexível do que os cruzamentos de filtros tradicionais Variações de atraso menores 27 Definição Custos de negociação degenerativos de 0,3 por ordem (fundo pequeno) Longo somente Sem taxas de juros livres de risco 33 Conclusões Freqüências de negociação mais altas estão associadas a redução leve De desempenho Reduções maiores USRI evitaria draw-downs e, em seguida, o desempenho melhoraria Aumento da atividade de mercado (taxas) Combinação com USRI possível (recomendado) Filtros estarão disponíveis on-line no final de julho 35 Excel-Tutorial no blog SEF-blog. zhaw. chidpsefblogindex. php arquivos65-Real-Time-Detection-of-Turning-Points-a-Tutorial-Part-I-Mean-Square-Error-Norm. htmlblog. zha W. chidpsefblogindex. php archives65-Real-Time-Detection-of-Turning-Points-a-Tutorial-Part-I-Mean - Square-Error-Norm. html blog. zhaw. chidpsefblogindex. php arquivos67-Real-Time-Detection - de-Turning-Points-a-Tutorial-Parte-II - Enfatizando-Turning-Points. htmlblog. zhaw. chidpsefblogindex. php arquivos67-Real-Time-Detection-of-Turning-Points-a-Tutorial-Part-II - Emphasizing-Turning-Points. html 36 Objetivos Exercícios de Yoga para se destacar do mundo de máxima verossimilhança do mainstream Primeiro Blog-entrada: como funciona a abordagem econométrica tradicional Intuitivamente direto Bom (ótimo) desempenho quadrático As pessoas tornaram-se preguiçosas Segundo Blog-Entrada : A detecção precoce de pontos de viragem É um exercício (fortemente) contra-intuitivo Gera aparentemente (fortemente) projetos de filtro mal especificados Aprendizagem de Alerta (Iluminação) Procedimento de Abordagem Econométrica Padrão: Identifique um modelo de séries temporais (ARIMAstate space) O filtro simétrico no tempo prolongado s Suposição: Modelo DGPtrue 47 Um projeto aparentemente virtuoso (correlação de pico) Correlação entre a estimativa em tempo real eo ciclo como uma função De tempo-lag k 57 Conclusões Projeto aparentemente mal especificado é mais rápido Smoother (menos falso TPs ou alarmes) Não médio-quadrado óptimo Muito melhor em uma perspectiva TP 58 De Excel para MDFA Tweak filtro parâmetros à mão no Excel Tutorial Deficiências do exemplo Unrealistically simples Simulações artificiais Na prática: perturbações e / ou sinais mais complexos Incluir informações de mais de uma série temporal (estrutura multivariada) Desejo: um critério de otimização formal Bem-vindo ao DFA e ao MDFA 61 Critério de Otimização (I (0)) Minimizar uma estimativa (uniformemente) superconsistente De uma estimativa (uniformemente) eficiente do erro médio-quadrado do filtro (Personalizado) Eficiência entra explicitamente no Design do Critério de Otimização 62 Você Diz e ou Mean Periodogra M O periodograma é um exemplo típico de fraqueza estatística Estimativa inconsistente da densidade espectral Suavização (paramétrica ou não paramétrica) Periodograma tem propriedades estatísticas maravilhosas Suficiência (Larry Brethorst) Pode-se obter bons resultados de eficiência formal em tempo real de extração de signale Trabalhando em uma série de (KOF, FED, 2004,2005) X-12-ARIMA, TramoSeats ganho de MSE 30 US - e Euro - (2008): Pontos de inflexão dos CF antecipados em 1-2 trimestres ESI (2006): Dainties TPs descobertas 2-3 meses antes 64 Performances (Eficiência) Baseando-se no Periodograma Os filtros TP ganharam NN3 (2007) e NN5 (2008) (111 séries cronológicas) e dados financeiros diários (111 séries cronológicas) Vencedor e vencedor do prestigiado concurso M3, X-12-ARIMA Controle do tempo de atraso (customização) 1: enfatizar o tempo de atraso no tempo de passagem (Pass - Faixa 1: melhor nível de filtro 1: enfatizar o tempo de atraso na faixa de passagem 1: melhor nível de filtro titleControlando o Time Delay (Personalização) 1: enfatizar o atraso na banda de passagem 1: melhor nível de filtro 67 Personalização: Controle de tempo Atraso e suavidade Maior amortecimento do ruído de alta freqüência na banda de parada Menor tempo de atraso na banda de passagem W () é monotônico (aumentando) e 1 1 titleCustomization: Controle do tempo de atraso e suavidade Maior amortecimento do ruído de alta freqüência em stop-band O tempo de atraso menor na banda de passagem W () é monotônico (crescente) e 1 74 Eficiência (Teorema 4.1, Wildi2008, WildiSturm2008) O termo de erro e T é o menor possível uniformemente Eficiência Uniforme Personalização 75 Critério Ótimo (Eficiente) sob Cointeg (2008): CF e multivariados CF pontos de viragem antecipados por 1-2 trimestres USRI Outperformed Markov-comutação (Chauvet, ChauvetPiger), Fator dinâmico (Rank 1) Filtro Restricções são satisfeitas (CFNAI), modelos espaciais estaduais (ADS), Hodrick-Prescott (OCDE-CLI), Christiano-Fitzgerald SEF-Blog MDFA-XT EURI 77 AVISO. Este não é um PUSH-THE-BUTTON APROXIMAÇÃO racer Fórmula 1: pode ser rápido (Ferrari) e confiável (Mercedes), mas você tem que tweak-lo com cuidado: FerradesMercearri Filter design (ZPC) Limitações de filtro (enfatizar a freqüência zero) Understandinginterpreting: inteligência 2008-Livro: idp. zhaw. chsefidp. zhaw. chsef Feliz de fornecer apoio dado incentivos financeiros 79 marc. wildizhaw. ch blog. zhaw. chidpsefblog Ilustre questões metodológicas, confiando em projetos do mundo real com parceiros econômicos idp. zhaw. chusri Real - Time US Recession Indicador idp. zhaw. chMDFA-XT Experimental Trader para MSCI Emerging Markets Filtros on-line final de julho idp. zhaw. chsef Extração de Sinal Site de Previsão Livros, Artigos, SoftwareHigh-Frequency Financial Trading em FOREX com MDFA e R: Um Exemplo com o iene japonês Esta última entrada de Chris é particular no sentido de que ele confia no meu pacote de código aberto MDFA (e não no iMetrica) para gerar sinais de negociação, veja 1. Portanto, os resultados são reprodutíveis. Chris fez um grande esforço de replicação, veja abaixo: Quarta-feira 20: Eu adicionei o código R como modificado por Chris, a fim de proceder à replicação. O que segue é Chris8217email, cortado e colado do meu servidor: "Então, eu acabei de concluir o tutorial de introdução muito aguardado sobre como construir sinais de negociação usando MDFA e R para dados de alta freqüência. Não há muitos segredos para se esconder aqui, como o que fiz em R com seu código é basicamente a mesma rotina que eu uso para construir meus sinais de negociação no iMetrica (exceto que eu posso fazer coisas muito muito mais rápido no último 8230 e ok, lá São apenas alguns pequenos molhos secretos que I8217m usando e ainda não dispostos a vazar até I8217m empregado). Mas, tanto quanto este exemplo com o iene vai, tudo (deve) ser reproduzível em casa usando uma versão (ligeiramente modificada) de seu código. Aqui está o artigo 1. Um desafio que eu enfrentei na construção destes exemplos veio de compará-los com os meus resultados que eu entro no iMetrica. Infelizmente, no início os resultados não eram os mesmos. Depois de ficar ligeiramente frustrado, tomei o esforço meticuloso de descobrir por que minhas rotinas MDFA em C são diferentes das suas em R. Minas são codificadas de forma muito mais otimizada e eficiente para alcançar a velocidade mais rápida possível (graças a uma otimização rápida apophenia Pacote para montar matrizes e resolver os coeficientes). No entanto, os resultados finais devem ser ainda equivalentes. Depois de um dia navegando por ambas ou nossas implementações MDFA, descobri por que elas não são equivalentes (e eu as mudei no seu código). Aqui estão as diferenças (que eu posso lembrar) da minha implementação e sua (a partir de sua liberação de novembro): 8211 Computing the DFTs. Por alguma razão, na freqüência zero, você não usa a média dos dados. Você acabou de defini-lo a zero. Não tenho certeza se você deixou isso fora em acidente ou de propósito, mas eu uso o médio. Além disso, divido os valores DFT pela constante (pino) onde n são o número de observações em séries temporais. 8211 Na definição do parâmetro decay1, você não parece usar o mapeamento da função tan. Eu fiz. 8211 A maior diferença está na definição da função de suavização (definida por expweight). Em primeiro lugar, você divide expweight por 2, eu dividir por 10. Não é um grande negócio. O grande negócio é este. Minha definição da função de potência deslocada é uma função do valor de freqüência (assim de 0 até 3.14). O seu é uma função da localização do índice de valores de freqüência, entre 0 e K. Isso faz uma enorme diferença. Eu prefiro definir a função de potência com relação ao valor de freqüência e não o índice. Depois que eu mudei estes os resultados eram mais ou menos os mesmos, mas não exatos. Ao olhar para a matriz final (na resolução de Axb para os coeficientes), após aplicar a regularização ea personalização, parece que os valores dentro da matriz A estão fora de um fator de cerca de 10. Minha intuição é que as funções de exp complexas em R e C são computadas ligeiramente diferentes (melhor precisão de precisão, eu não sei). Portanto, não tenho certeza se isso é algo que nunca será capaz de resolver. Mas não estou preocupado, pois os resultados finais estão tão próximos. Na verdade, isso não afetou nenhum dos negócios dos meus exemplos que mostro, eles eram os mesmos na iMetrica. E isso é o mais importante. De qualquer forma, posso enviar-lhe a minha versão do seu código se você quiser, para que as pessoas podem baixá-lo para experimentar os exemplos. Ou você pode considerar essas alterações e torná-las permanentes em futuras versões do MDFA. Deixe-me saber, e aproveitar o artigo. Vocę trabalha muito, velho. Seu cabelo foi R-coloridos R-tecelagem e R-escovação vem à mente também. By the way, a consistência é medida ao contrário: iMetrica deve ser capaz de replicar I-MDFA que é a referência. Meu código MDFA como modificado por Chris (ver comentários acima) DFT. r. I8217m trabalhando sempre com a série centrada conseqüentemente o DFT na freqüência zero é zero (it8217s proporcional à média). Chris não parece trabalhar com séries centradas: seu DFT é diferente de zero em freq. zero. I-MDFAnew. r. Parece que a amplitude de peso expweight foi alterada e eu acho que o termo lambda-decaimento foi modificado também. Note que eu não modifico minha versão mais recente do I-MDFA: as modificações acima são úteis se você quiser replicar os resultados do Chris8217 (mas eu fico na minha versão). Para realizar a replicação, você precisa solicitar os dados dele. Deixar uma resposta Cancelar resposta Arquivos mensais: fevereiro de 2017 Aqui está, os novos elementos-vade-mecum (dado o comprimento do documento é quase um papel mais): 09 de fevereiro: Eu adicionei uma nova seção 11.9 sobre as revisões de dados que se baseia Em um documento de 2017 publicado aqui 0. Esse problema pode ser enfrentado pela nova estrutura de cointegração porque os dados liberados podem ser ligados em pares pelo vetor de cointegração (1, -1). 11 de março: Corrigi o bug nas definições 23 e 24 (graças a um aluno atento). Tudo que você sempre quis saber sobre (co) integração e filtragem em tempo real é embalado em seções 9 e 11 Oh, você vai adorar este novo material. A questão das identidades numéricas (tautológicas) universais, independentemente de suposições, também se refere a um resultado estatístico singular, ou seja, a superconsistência e a eficiência. Uma batalha entre o ideal platônico e o oportunismo mercantil: adivinhe de que lado eu estou posicionado. 8230 Tenho um primeiro rascunho dos elementos - papel pronto. Mas o azevinho-de-ouro-vaca: esta foi uma luta muito difícil Este novo material leva a uma revisão muito substancial dos elementos de papel: as peças antigas permanecem inalteradas 8211 eles são muito bons para ser alterado 8230 8211, mas eu tive que fornecer uma quantidade substancial de Técnicos matemáticos para justificar o MDFA de uma perspectiva filosófica mais profunda (que engloba a perspectiva matemática). Preciso de algum tempo para deixar as coisas se assentarem: quando me sinto preparado para postar os novos elementos-papel. Em breve. Muito em breve. Oh meu Deus: isso foi difícil. Se fosse tão difícil de escrever, para mim, então será tão difícil de ler, por você. O papel inflado a mais de 80 páginas. Está se tornando um livro. E essa é exatamente minha intenção. Depois de 2005 e 2008 é hora de um novo livro. Próximo ano. E os elementos-papel está se tornando um livro-projecto. Ginters Buss do Latvian National Bank tem um interessante documento sobre o I-MDFA, ver 1. E aqui é um link direto para o artigo sobre o SEFBlog: Figura 1: Em amostra (observações 1-250) e desempenho fora da amostra de O sinal de negociação construído neste tutorial usando o MDFA. (Topo) O preço do log do Yen (FXY) em intervalos de 15 minutos e os comércios gerados pelo sinal de negociação. Aqui linha preta é uma compra (longa), azul é vender (posição curta). (Bottom) Os retornos acumulados (caixa) gerados pela negociação, em percentual ganhos ou perdidos. No meu artigo anterior sobre comércio de alta freqüência no iMetrica no FOREXGLOBEX. Introduzi algumas estratégias robustas de extração de sinal no iMetrica usando a abordagem de filtro direto multidimensional (MDFA) para gerar sinais de alto desempenho para negociação no mercado de câmbio e futuros. Neste artigo, tomo uma breve licença de ausência do meu mundo de desenvolvimento de sinais de negociação financeira em iMetrica e migrar para uma linguagem uber-popular usado em finanças, devido à sua exuberante variedade de pacotes, gerenciamento de dados rápida e manipulação de gráficos e de Claro, o fato de que ele está livre (como em discurso e cerveja) em praticamente qualquer plataforma de computação do mundo. Este artigo fornece um tutorial de introdução sobre o uso de R para negociação de alta freqüência no mercado FOREX usando o pacote R para MDFA (oferecido por Herr Doktor Marc Bernd von Bern) e algumas estratégias que desenvolveram para gerar sinais de negociação financeiramente robusto. Para este tutorial, considero o segundo exemplo dado no meu artigo anterior, onde eu engenharia um sinal de negociação para 15-minutos log-retorna do iene japonês (de abertura de sino para fechar mercado EST). Isto apresentou desafios ligeiramente novos que antes, como as variações de salto próximo a aberto são muito maiores do que aqueles gerados por retornos horários ou diários. Mas como eu demonstrei, estas variações maiores no preço próximo-à-aberto não levantaram nenhum problema para o MDFA. Na verdade, ele explorou esses saltos e fez grandes lucros por prever a direção do salto. A Figura 1 na parte superior deste artigo mostra o desempenho da amostra (observações 1-250) e fora da amostra (observações 251 em diante) do filtro que estarei construindo na primeira parte deste tutorial. Ao longo deste tutorial, eu tento replicar esses resultados que eu construí no iMetrica e expandi-los um pouco usando a linguagem R ea implementação do MDFA disponível aqui. Os dados que consideramos são log-returns de 15 minutos do Yen de 4 de janeiro a 17 de janeiro e eu os tenho salvo como um arquivo. RData dado por ldfxyinsamp. Eu tenho uma série explicativa adicional incorporada no arquivo. RData que I8217m usando para prever o preço do iene. Além disso, eu também vou usar pricefxyinsamp que é o preço de log do iene, usado para calcular o desempenho (buysells) do sinal de negociação. O ldfxyinsamp será usado como os dados da amostra para construir o filtro eo sinal de negociação para FXY. Para obter esses dados para que você possa executar esses exemplos em casa, envie-me um e-mail e I8217ll lhe enviará todos os arquivos. RData necessários (os dados dentro da amostra e fora da amostra) em um arquivo. zip. Dando um rápido olhar para os dados ldfxyinsamp, vemos log-retorna do iene a cada 15 minutos a partir do mercado aberto (zona horária UTC). Os dados de destino (Yen) estão na primeira coluna junto com as duas séries explicativas (Yen e outro recurso co-integrated com movimento de Yen). Gt head (ldfxyinsamp), 1, 2, 3 2017-01-04 13:30:00 0.000000e00 0.000000e00 0.0000000000 2017-01-04 13:45:00 4.763412e-03 4.763412e-03 0.0033465833 2017-01-04 14:00:00 -8.966599e-05 -8.966599e-05 0.0040635638 2017-01-04 14:15:00 2.597055e-03 2.597055e-03 -0.0008322064 2017-01-04 14:30:00 -7.157556e - 04 -7.157556e-04 0.0020792190 2017-01-04 14:45:00 -4.476075e-04 -4.476075e-04 -0.0014685198 Prosseguindo, para começar a construir o primeiro sinal de negociação para o iene, começamos por carregar os dados em Nosso ambiente R, definir alguns parâmetros iniciais para a chamada de função MDFA e, em seguida, calcular os DFTs e periodograma para o iene. Conforme mencionado em meus artigos anteriores, minha estratégia passo-a-passo para construir sinais de negociação sempre começa com uma análise rápida do periodograma do ativo que está sendo negociado. Mantendo a chave para fornecer insights sobre as características de como o activo negocia, o periodograma é uma ferramenta essencial para navegar como o extractor é escolhido. Aqui, procuro picos espectrais principais que correspondem no domínio do tempo a como e onde o meu sinal irá disparar comércios buysell. A Figura 2 mostra o periodograma dos log-retornos de 15 minutos do iene japonês durante o período de amostragem de 4 de janeiro a 17 de janeiro de 2017. As setas apontam para os principais picos espectrais que eu procuro e fornece um guia para como eu Irá definir a minha função. As linhas pontilhadas a preto indicam os dois pontos de corte de freqüência que considerarei neste exemplo, sendo o primeiro e o segundo em. Observe que ambos os pontos de corte são definidos diretamente após um pico espectral, algo que eu recomendo. Na negociação de alta freqüência no FOREX usando o MDFA, como veremos, o truque é procurar o pico espectral que explica a variação de fechar a abrir no preço da moeda estrangeira. Queremos tirar proveito deste pico espectral como este é o lugar onde os grandes ganhos em troca de moeda estrangeira usando MDFA irá ocorrer. Figura 2: Periodograma de FXY (iene japonês) junto com picos espectrais e dois pontos de corte de freqüência diferentes. Em nosso primeiro exemplo, consideramos a freqüência maior como o ponto de corte para colocá-lo em (a linha mais à direita na figura do periodograma). Eu, então, inicialmente definir os parâmetros de timeliness e suavidade, e expweight para 0, juntamente com a definição de todos os parâmetros de regularização para 0 também. Isso me dará um barômetro para onde e quanto ajustar os parâmetros do filtro. Ao selecionar o comprimento do filtro, meus estudos empíricos sobre várias experiências na construção de sinais comerciais usando o iMetrica demonstraram que uma escolha 8216good8217 está em qualquer lugar entre 14 e 15 do comprimento total da amostra dos dados da série temporal. Evidentemente, o comprimento depende da frequência das observações de dados (isto é, 15 minutos, por hora, por dia, etc.), mas em geral, é muito provável que nunca mais que seja superior a 14 o tamanho da amostra. Caso contrário, a regularização pode tornar-se demasiado complicada para ser tratada de forma eficaz. Neste exemplo, o comprimento total da amostra é de 335 e, portanto, fixo qual I8217ll furar para o restante deste tutorial. Em qualquer caso, o comprimento do filtro não é o parâmetro mais importante a considerar na construção de bons sinais de negociação. Para uma boa seleção robusta dos parâmetros de filtro par com séries explicativas apropriadas, os resultados do sinal de negociação com comparados com, digamos, dificilmente diferirão. Se o fizerem, então a parametrização não é suficientemente robusta. Depois de carregar os dados de retorno de log na amostra junto com o preço de registro correspondente do iene para computar o desempenho de negociação, prosseguimos em R para definir as configurações iniciais do filtro para a rotina MDFA e, em seguida, calcular o filtro usando a função IMDFAcomp. Isso retorna os coeficientes de retenção de objetos imdfaamp, funções de resposta de freqüência e estatísticas de filtro, juntamente com o sinal produzido para cada série explicativa. Combinamos esses sinais para obter o sinal de negociação final na amostra. Tudo isso é feito em R da seguinte maneira: As funções de resposta de freqüência resultantes do filtro e os coeficientes são plotadas na figura abaixo. Figura 3: As funções de resposta de freqüência do filtro (parte superior) e os coeficientes de filtro (abaixo) Observe a abundância de ruído ainda presente passado a freqüência de corte. Isso é atenuado pelo aumento do parâmetro de suavidade de expweight. Os coeficientes para cada série explicativa mostram alguma correlação em seu movimento à medida que os retornos aumentam. No entanto, a suavidade e decadência dos coeficientes deixa muito a desejar. Vamos corrigir isso através da introdução de parâmetros de regularização. As parcelas do sinal de negociação na amostra e o desempenho em amostra do sinal são mostrados nas duas figuras abaixo. Observe que o sinal de negociação se comporta muito bem na amostra. No entanto, parece pode ser enganador. Este desempenho estelar é devido em grande parte a um fenômeno de filtragem chamado overfitting. Pode-se deduzir que overfitting é o culpado aqui, basta olhar para o nonsmoothness dos coeficientes, juntamente com o número de freezed graus de liberdade, que neste exemplo é cerca de 174 (de 174), muito alto. Gostaríamos de obter este número em cerca de metade da quantidade total de graus de liberdade (número de séries explicativas x L). Figura 4: O sinal de negociação e os dados de retorno de log do iene. O desempenho na amostra deste filtro demonstra o tipo de resultados que gostaríamos de ver após a regularização ser aplicada. Mas agora vem para os efeitos sóbrios de overfitting. Aplicamos esses coeficientes de filtro a 200 observações de 15 minutos do iene e as séries explicativas de 18 de janeiro a 1 de fevereiro de 2017 e comparamos com as características da amostra. Para fazer isso em R, primeiro carregamos os dados fora da amostra no ambiente R e, em seguida, aplicamos o filtro aos dados fora da amostra que eu defini como xout. O gráfico da Figura 5 mostra o sinal de negociação fora da amostra. Observe que o sinal não é quase tão suave quanto na amostra. O overshooting dos dados em algumas áreas também está obviamente presente. Embora as características de overfitting fora da amostra do sinal não sejam horrivelmente suspeitas, eu não confiaria neste filtro para produzir retornos estelares no longo prazo. Figura 5. Filtro aplicado a 200 observações de 15 minutos de Yen fora da amostra para produzir sinal de negociação (mostrado em azul) Após a análise prévia da solução de quadrado médio (sem customização ou regularização), procedemos agora a limpar Problema de overfitting que era aparente nos coeficientes juntamente com mollifying o ruído no stopband (freqüências após). Para escolher os parâmetros de suavização e regularização, uma abordagem é primeiro aplicar primeiro o parâmetro de suavidade, pois isso suavizará geralmente os coeficientes enquanto atua como um regularizador 8216pre8217 e, em seguida, avançará para a seleção de controles de regularização apropriados. Observando os coeficientes (Figura 3), podemos ver que é necessária uma boa quantidade de suavização, com apenas um leve toque de decaimento. Para selecionar esses dois parâmetros em R, uma opção é usar o otimizador Troikaner (encontrado aqui) para encontrar uma combinação adequada (eu tenho uma abordagem algorítmica segredo molho Eu desenvolvi para iMetrica para escolher combinações óptimas de parâmetros dado um extrator e um indicador de desempenho , Embora it8217s longo (mesmo em GNU C) e pesado para usar, então eu normalmente preferem a estratégia discutida neste tutorial). Neste exemplo, comecei por definir o lambdasmooth para .5 ea decaimento para (.1, .1) juntamente com um parâmetro de suavidade de expweight definido para 8.5. Depois de ver os coeficientes, ele ainda não era suficiente lisura, então eu continuei a acrescentar mais finalmente atingindo 0,63, que fez o truque. Eu, então, escolheu lambda para equilibrar os efeitos do alisamento expweight (lambda é sempre o último recurso tweaking parâmetro). A Figura 6 mostra a função de resposta de freqüência resultante para ambas as séries explicativas (Yen em vermelho). Observe que o maior pico espectral encontrado diretamente antes do corte de freqüência está sendo enfatizado e ligeiramente atenuado (valor próximo de 0,8 em vez de 1,0). Os outros picos espectrais abaixo também estão presentes. Para os coeficientes, apenas suficiente suavização e decadência foi aplicada para manter o lag, cíclica e correlacionada estrutura dos coeficientes intactos, mas agora eles parecem muito mais agradável na sua forma suavizada. O número de graus de liberdade congelados foi reduzido para aproximadamente 102. Figura 6: As funções de resposta em frequência e os coeficientes após a regularização e suavização foram aplicados (topo). Os coeficientes suavizados com ligeira decaimento na extremidade (inferior). O número de graus de liberdade congelados é de aproximadamente 102 (de 172). Juntamente com os melhores graus de liberdade freezed e nenhum estrago aparente de overfitting, aplicamos este filtro fora da amostra para as 200 observações fora da amostra, a fim de verificar a melhoria na estrutura dos coeficientes de filtro (mostrado abaixo em Figura 7). Observe a tremenda melhora nas propriedades do sinal de negociação (em comparação com a Figura 5). A supressão dos dados foi eliminada ea suavidade total do sinal melhorou significativamente. Isto é devido ao fato de que nós erradicamos a presença de overfitting. Figura 7: Sinal de negociação fora da amostra com regularização. Com todas as indicações de um filtro dotado com exatamente as características que precisamos de robustez, agora aplicar o sinal de negociação tanto em amostra e fora da amostra para ativar os negócios buysell e ver o desempenho da conta de negociação em valor monetário. Quando o sinal cruza abaixo de zero, nós vendemos (entre posição curta) e quando o sinal sobe acima de zero, nós compramos (entre posição longa). O gráfico superior da Figura 8 é o preço de log do iene para os intervalos de 15 minutos e as linhas pontilhadas representam exatamente onde o sinal de negociação gerou negócios (cruzamento zero). As linhas pretas pontilhadas representam uma compra (posição longa) e as linhas azuis indicam uma venda (e posição curta). Observe que o sinal previu todos os saltos próximos ao aberto para o iene (em parte graças às séries explicativas). Isto é exatamente o que estaremos lutando para quando adicionamos regularização e personalização para o filtro. A conta de caixa das transações durante o período de amostragem é mostrada abaixo, onde os custos de transação foram fixados em 0,05 por cento. Na amostra, o sinal ganhou cerca de 6 por cento em 9 dias de negociação e um 76 por cento taxa de sucesso comercial. Figura 8: Desempenho na amostra do novo filtro e os ofícios que são gerados. Agora, para o teste final para ver quão bem o filtro executa na produção de um sinal de negociação vencedor, aplicamos o filtro para a 200 15 minutos de observação fora de amostragem do iene e as séries explicativas de 18 de janeiro a 01 de fevereiro e fazer Com base no cruzamento zero. Os resultados são mostrados abaixo na Figura 9. As linhas pretas representam as compras e linhas azuis as vendas (shorts). Observe que o filtro ainda é capaz de prever os saltos de perto para abrir, mesmo fora da amostra, graças à regularização. O filtro sucumbe a apenas três minúsculas perdas em menos de 0,08 por cento cada uma entre as observações 160 e 180 e uma pequena perda no início, com uma taxa de sucesso de comércio fora da amostra atingindo 82 por cento e um ROI de pouco mais de 4 por cento sobre O intervalo de 9 dias. Figura 9: Desempenho fora da amostra do filtro regularizado em 200 retornos de 15 minutos fora do amostragem do iene. O filtro alcançou 4% de ROI sobre as 200 observações e 82% de taxa de sucesso comercial. Compare isso com os resultados obtidos no iMetrica usando as mesmas configurações de parâmetros MDFA. Na Figura 10, tanto o desempenho dentro da amostra como fora da amostra são mostrados. O desempenho é quase idêntico. Figura 10: Desempenho da amostra e fora da amostra do filtro Yen no iMetrica. Quase idêntico ao desempenho obtido em R. Agora nós tomamos uma facada na produção de outro filtro de negociação para o iene, só que desta vez queremos identificar apenas as freqüências mais baixas para gerar um sinal de negociação que troca com menos freqüência, apenas buscando os ciclos maiores. Tal como com o desempenho do filtro anterior, ainda desejamos alvejar as frequências que podem ser responsáveis ​​pelas grandes variações de fechamento a aberto no preço do iene. Para fazer isso, selecionamos nosso ponto de corte para ser o que efetivamente manterá os maiores três picos espectrais intactos na banda de passa baixa de. Para este novo filtro, mantemos as coisas simples, continuando a usar os mesmos parâmetros de regularização escolhidos no filtro anterior, pois pareciam produzir bons resultados fora da amostra. Os parâmetros de personalização e expweight, entretanto, precisam ser ajustados para considerar os novos requisitos de supressão de ruído na banda de interrupção e as propriedades de fase na faixa de passagem menor. Assim, eu aumentar o parâmetro de suavização e diminuiu o parâmetro de oportunidade (que afeta apenas a faixa de passagem) para explicar essa alteração. As novas funções de resposta de freqüência e coeficientes de filtro para este projeto de lowpass menor são mostrados abaixo na Figura 11. Observe que o segundo pico espectral é contabilizado e apenas ligeiramente atenuado sob as novas alterações. Os coeficientes ainda têm a suavidade e decadência visíveis nas maiores defasagens. Figura 11: Funções de resposta de freqüência dos dois filtros e seus coeficientes correspondentes. Para testar a eficácia deste novo design de freqüência de negociação menor, aplicamos os coeficientes de filtro às 200 observações fora da amostra dos retornos de log Yen de 15 minutos. The performance is shown below in Figure 12. In this filter, we clearly see that the filter still succeeds in predicting correctly the large close-to-open jumps in the price of the Yen. Only three total losses are observed during the 9 day period. The overall performance is not as appealing as the previous filter design as less amount of trades are made, with a near 2 percent ROI and 76 percent trade success ratio. However, this design could fit the priorities for a trader much more sensitive to transaction costs. Figure 12: Out-of-sample performance of filter with lower cutoff. Conclusion Verification and cross-validation is important, just as the most interesting man in the world will tell you. The point of this tutorial was to show some of the main concepts and strategies that I undergo when approaching the problem of building a robust and highly efficient trading signal for any given asset at any frequency. I also wanted to see if I could achieve similar results with the R MDFA package as my iMetrica software package. The results ended up being nearly parallel except for some minor differences. The main points I was attempting to highlight were in first analyzing the periodogram to seek out the important spectral peaks (such as ones associate with close-to-open variations) and to demonstrate how the choice of the cutoff affects the systematic trading. Here8217s a quick recap on good strategies and hacks to keep in mind. Summary of strategies for building trading signal using MDFA in R: As I mentioned before, the periodogram is your best friend. Apply the cutoff directly after any range of spectral peaks that you want to consider. These peaks are what generate the trades. Utilize a choice of filter length no greater than 14. Anything larger is unnecessary. Begin by computing the filter in the mean-square sense, namely without using any customization or regularization and see exactly what needs to be approved upon by viewing the frequency response functions and coefficients for each explanatory series. Good performance of the trading signal in-sample (and even out-of-sample in most cases) is meaningless unless the coefficients have solid robust characteristics in both the frequency domain and the lag domain. I recommend beginning with tweaking the smoothness customization parameter expweight and the lambdasmooth regularization parameters first. Then proceed with only slight adjustments to the lambdadecay parameters. Finally, as a last resort, the lambda customization. I really never bother to look at lambdacross. It has seldom helped in any significant manner. Since the data we are using to target and build trading signals are log-returns, no need to ever bother with i1 and i2. Those are for the truly advanced and patient signal extractors, and should only be left for those endowed with iMetrica If you have any questions, or would like the high-frequency Yen data I used in these examples, feel free to contact me and I8217ll send them to you. Until next time, happy extracting 8220Taking a quick glance at the ldfxyinsamp data, we see log-returns of the Yen at every 15 minutes starting at market open (time zone UTC). The target data (Yen) is in the first column along with the two explanatory series (Yen and another asset co-integrated with movement of Yen).8221 So in your file in input you use the log(close-returns) twice (col1 and 2) and a another asset Can you tell me more about this another asset cointegred. how you find it While it8217s not so obvious to determine a set of explanatory variables that will improve signal (and trading) performance, I developed a tool called fundamental frequency component analysis that helps me choose series with strong lag s correlations at certain frequencies I8217m interested in. The method seems to work pretty well so far in my experience. Thanks Chris, have you planned other thread in the coming weeks Yes, I have many new ideas for articles, and will be writing one soon. I8217ve been busy the past couple months improving the methodology even more, making it even more robust for financial trading. The problem is I start to give away too many of my secrets and will eventually lose my competitive advantage, so I need to remain a bit cryptic What your favorites time frame. 15 mins i think 15 minutes is a good range, the lower the frequency the better and more robust the signal will be. However, in practice I8217m currently using 5 min returns with a proprietary trading firm in Chicago on Index Futures. You filtre the time in your data. You trade only of 13:30pm until 20pm You overnight trade

No comments:

Post a Comment