Estratégias comerciais baseadas em filtros digitais - página 72

 

É de grande ajuda

Obrigado por sua gentil ajuda através do correio. É uma grande ajuda para mim.

Os melhores votos a todos vocês

 

Ótimo

Boyens:
Fiz o download do indicador #MFT_STLM2_v2 postado pelo grande Simba, mas não funcionou para mim em minha plataforma.

Esta versão expirou ou algo assim?

Estou procurando um MTF STLM para definir a tendência.

Obrigado antecipadamente, amigos.

Gentilmente.

Boyens,

Encontre-os aqui, você precisa de ambos compilados em sua pasta de indicadores para que o MTF funcione, então, você pode anexar apenas o MTF e brincar com ele, sugiro que você use h4 e/ou d1 para definição de tendências em gráficos tf inferiores.

Atenciosamente

S

Arquivos anexados:
stlm2.mq4  11 kb
 

Alternativas para o cálculo do FATL SATL, etc.

De alguma forma, tenho minhas dúvidas sobre este modelo cíclico múltiplo do mercado FX. Não quero desafiar a utilidade de indicadores baseados no modelo, mas me pergunto quais podem ser as fontes de tais estruturas ressonantes? Normalmente, a ressonância requer uma reação retardada a um estímulo. A estrutura ressonante ressoa em um período igual ao atraso. O que pode ser retardado por 200 horas nesta era da informação? (Talvez a ressonância possa ser mais facilmente explicada se ela ocorreu em períodos menores na M1 TF). O que pode ser o estímulo? Notícias?, Medo e ganância dos comerciantes agindo como um grupo? Uma questão sociológica interessante, mas não útil aqui.

Uma segunda objeção é o fato, apontado por Simba, de que os períodos de ressonância não coincidem quando medidos em diferentes TF's. Se realmente existe uma estrutura ressonante em 48 períodos de 1H, então ela deve aparecer como ressonância em 12 períodos de 4H, ou 192 períodos de 15M. Isto não parece acontecer. Por quê? Isso não o deixa nervoso usando a suposição cíclica para negociar?

Quaisquer que sejam as respostas, se os indicadores forem úteis, então existem formas alternativas de calculá-los. Não precisamos confiar na análise espectral contínua e nos filtros digitais adaptativos uma vez que estamos convencidos de que há 2 ou 3 ciclos que dominam, e que eles mudam de freqüência (período) e amplitude lentamente, etc. Podemos usar FFT's, MESA, Goertzel ou o que quer que seja para nos convencermos disso. Ainda não estou convencido, embora as fotos em 3d sejam bastante convincentes. Então, podemos usar métodos experimentados e verdadeiros para extrair os sinais cíclicos um do outro e do ruído.

Este problema de extração de sinais é bastante comum na concepção de sistemas de comunicação. Basta pensar como seu receptor de rádio (ou celular, se necessário) puxa seu sinal do ruído de fundo e de outros sinais na vizinhança. Estes sinais não são estacionários, nem o ruído, embora geralmente seja modelado dessa forma. Eles são bastante complexos, com fase, freqüência e amplitude variáveis. No entanto, eles podem ser extraídos de forma confiável em ambientes de baixo sinal a ruído, desde que não interfiram uns com os outros.

Que tal usar três filtros de passagem de banda fixa com passagem de banda estreita o suficiente para separar os 3 sinais, mas larga o suficiente para passar a variação de freqüência esperada. Cada filtro é seguido por um loop bloqueado de fase para extrair a freqüência de mudança, e um desmodulador coerente para extrair a amplitude. Não é necessária uma análise espectral. (Exceto para selecionar as três bandas.) Não é necessária nenhuma importância relativa, e não é necessário nenhum projeto e modificação de filtros em tempo real. (O sinal extraído será contínuo em fase).

Todos estes elementos são filtros, multiplicadores ou um oscilador com freqüência controlada digitalmente (VCO). O único filtro que tem uma resposta de freqüência importante é o filtro de laço, e há muitos projetos para estes. Eu tenho muitas referências se alguém estiver interessado. Se eu puder apenas fazer com que minha memória coopere para não esquecer o que estou tentando programar, e se eu puder ressuscitar alguma semelhança de codificação em C, eu mesmo posso tentar.

MadCow

 

Pré-processamento de dados

Richcap, obrigado por compartilhar seu código.

Você conhece esta outra versão da MESA, escrita para a Amibroker?

AmiBroker - Biblioteca AFL

Ele implementa vários pré-processamentos (filtragem, detrending) que não estão incluídos em seu código, e que você poderia se beneficiar, pois deveria permitir melhores resultados em dados reais.

Espero que isso o ajude.

 

Ressonante

MadCow:
De alguma forma, tenho minhas dúvidas sobre este modelo cíclico múltiplo do mercado FX. Não quero desafiar a utilidade de indicadores baseados no modelo, mas me pergunto quais podem ser as fontes de tais estruturas ressonantes? Normalmente, a ressonância requer uma reação retardada a um estímulo. A estrutura ressonante ressoa em um período igual ao atraso. O que pode ser retardado por 200 horas nesta era da informação? (Talvez a ressonância possa ser mais facilmente explicada se ela ocorreu em períodos menores na M1 TF). O que pode ser o estímulo? Notícias?, Medo e ganância dos comerciantes agindo como um grupo? Uma questão sociológica interessante, mas não útil aqui.

Uma segunda objeção é o fato, apontado por Simba, de que os períodos de ressonância não coincidem quando medidos em diferentes TF's. Se houver realmente uma estrutura ressonante em 48 períodos de 1H, então ela deve aparecer como ressonância em 12 períodos de 4H, ou 192 períodos de 15M. Isto não parece acontecer. Por quê? Isso não o deixa nervoso usando a suposição cíclica para negociar?

Quaisquer que sejam as respostas, se os indicadores forem úteis, então existem formas alternativas de calculá-los. Não precisamos confiar na análise espectral contínua e nos filtros digitais adaptativos uma vez que estamos convencidos de que existem 2 ou 3 ciclos que dominam, e que eles mudam de freqüência (período) e amplitude lentamente, etc. Podemos usar FFT's, MESA, Goertzel ou o que quer que seja para nos convencermos disso. Ainda não estou convencido, embora as fotos em 3d sejam bastante convincentes. Então, podemos usar métodos experimentados e verdadeiros para extrair os sinais cíclicos um do outro e do ruído.

Este problema de extração de sinais é bastante comum na concepção de sistemas de comunicação. Basta pensar como seu receptor de rádio (ou celular, se necessário) puxa seu sinal do ruído de fundo e de outros sinais na vizinhança. Estes sinais não são estacionários, nem o ruído, embora geralmente seja modelado dessa forma. Eles são bastante complexos, com fase, freqüência e amplitude variáveis. No entanto, eles podem ser extraídos de forma confiável em ambientes de baixo sinal a ruído, desde que não interfiram uns com os outros.

Que tal usar três filtros de passagem de banda fixa com passagem de banda estreita o suficiente para separar os 3 sinais, mas larga o suficiente para passar a variação de freqüência esperada. Cada filtro é seguido por um loop bloqueado de fase para extrair a freqüência de mudança, e um desmodulador coerente para extrair a amplitude. Não é necessária uma análise espectral. (Exceto para selecionar as três bandas.) Não é necessária nenhuma importância relativa, e não é necessário nenhum projeto e modificação de filtros em tempo real. (O sinal extraído será contínuo em fase).

Todos estes elementos são filtros, multiplicadores ou um oscilador com freqüência controlada digitalmente (VCO). O único filtro que tem uma resposta de freqüência importante é o filtro de laço, e há muitos projetos para estes. Eu tenho muitas referências se alguém estiver interessado. Se eu puder apenas fazer com que minha memória coopere para não esquecer o que estou tentando programar, e se eu puder ressuscitar alguma semelhança de codificação em C, eu mesmo posso tentar.

MadCow

Oi Madcow,

200 horas de reação atrasada nos mercados financeiros levará à extinção dos jogadores que supunham esse comportamento e, conseqüentemente, o comportamento desapareceria.... como o senhor sugeriu, com razão.

IMHO pode haver diferentes causas de ciclos, se você ler os materiais na Fundação para o Estudo dos Ciclos, você pode ver que entre as causas prováveis notadas eles citam as estrelas, os planetas, a atividade da chama solar, tempestades geomagnéticas, etc, etc, tantas causas que é melhor apenas estudar as possibilidades em particular, enquanto negociando os efeitos quando eles são quantificáveis em uma base de recompensa ao risco.

Basicamente,IMO,os ciclos são como uma cadeia predefinida de comportamento de reação de ação que normalmente leva tempo semelhante para ser realizada de semana a semana,dia a dia,hora a hora (pense nos modelos predador&prey)...quanto tempo leva para executar as paradas de venda e depois preencher aquele pedido de compra do grande cliente a um preço melhor...quanto tempo leva para seu concorrente notar e começar a se intrometer em seu jogo?quanto tempo leva para que os anseios anteriores sejam interrompidos ou acobardados de suas posições (e há um componente de volatilidade aqui) ?...Bem, acredito que este processo leva, geralmente, x tempo,+- y std...então, desde que o std seja viável e o y não o mate na espera, estes padrões são negociáveis.

Em termos comerciais conceituais, se 2 ou 3 horas após a abertura de Frankfurt, com a sessão de Londres acontecendo, eu vejo os preços pararem em uma S1 semanal depois de um downmove que acabou de ir rápido e furioso 50 pips abaixo do suporte anterior (também conhecido como correndo de paradas)... e, simultaneamente meus ciclos H4 estão sinalizando uma virada, eu levo o tempo longo.

Ospares de moedas podem ter uma compressão quase ótima da volatilidade no H4 (todos os tfs comprimem a volatilidade dos dados do tick), e os prazos mais baixos podem ser muito ruidosos para nossos filtros detectarem os ciclos....Or talvez, e muito provavelmente , nossos filtros não são bons o suficiente para isso.

Por favor, sinta-se à vontade para prosseguir com sua idéia, ela pode oferecer uma visão alternativa sobre esta fascinante questão... Acredito que a maioria das pessoas aqui tentará ajudá-lo.

Cumprimentos

S

 

Posto interessante...

Alguém sabe como Noxa modificou o algoritmo do SSA para torná-lo causal?

Eu tenho trabalhado no assunto durante as duas últimas mariposas, mas não tenho muito tempo para embrulhá-lo.

Li em alguns dos posts deste tópico que a Noxa CSSA usa redes neurais??? Alguém pode corroborar isso?

A propósito, apenas um alimentador multicamadas NN ou talvez um autocodificador NN?

 

'' A parte "casual" vem da rede estadual echo:Rede estadual echo - Scholarpedia

Mas ainda assim o algoritmo SSA nada mais é do que ajuste de curvas.

 
SIMBA:
Olá Madcow,

...

Por favor, sinta-se à vontade para prosseguir com sua idéia, ela pode oferecer uma visão alternativa sobre esta fascinante questão... acredito que a maioria das pessoas aqui tentarão ajudá-lo.

Cumprimentos

S

Obrigado Simba pela explicação e incentivo, mas antes de prosseguir quero ter certeza de que os ciclos não são um produto da forma como o preço é processado. Gostaria de perguntar se os componentes cíclicos poderiam ser possivelmente o resultado de um aliasing.

Deixe-me mostrar-lhe o que quero dizer. Aqui está GBPUSD M1 e duas parcelas espectrais de R_MESA. O primeiro gráfico é o espectro da GU M1 sem processamento. O segundo é o espectro do GU M1 depois de passá-lo por um filtro antiliasing projetado para que o sinal possa ser amostrado a intervalos de 1 hora sem violar o teorema de amostragem dos Nyquists. Se o sinal M1 for simplesmente amostrado em intervalos de 1 hora, sem primeira filtragem de baixa passagem (e é exatamente isso que o H1 fecha), o processo de subamostragem introduzirá artefatos aliases. Como o fechamento da M1 tem energia significativa abaixo de 120 minutos, a amostragem aos 60 minutos irá alias muita energia para as amostras H1. Todos os picos que mostram à esquerda de 120 minutos aparecerão como picos no espectro H1. A localização dos picos pode ser calculada, mas o processo é uma bagunça, por isso não o fiz. Além disso, a MESA pode não captar toda a energia aliada, como um FFT faria.

Agora vamos olhar o espectro do GU H1 sem aplicação de filtro antialiasing.

De onde vieram todos esses picos? Se eu fosse a senhora da igreja, eu poderia pensar que era SATAN... mas na verdade eu acho que é aliasing. Talvez eu devesse fazer uma subamostra do preço filtrado M1 e olhar para o seu espectro. Mas isso é para outro dia.

A propósito, graças ao RC pelas excelentes ferramentas de software.

Cumprimentos... MadCow...

P.S. Pense em quanto mais podemos fazer alias para o espectro H4.

Arquivos anexados:
 

H4,Não-linearidade e Escala Fractal

MadCow:
Obrigado Simba pela explicação e incentivo, mas antes de prosseguir quero ter certeza de que os ciclos não são um produto da forma como o preço é processado. Gostaria de perguntar se os componentes cíclicos poderiam ser possivelmente o resultado de um aliasing.

Deixe-me mostrar-lhe o que quero dizer. Aqui está GBPUSD M1 e duas parcelas espectrais de R_MESA. O primeiro enredo é o espectro da GU M1 sem processamento. O segundo é o espectro do GU M1 depois de passá-lo por um filtro antiliasing projetado para que o sinal possa ser amostrado em intervalos de 1 hora sem violar o teorema de amostragem dos Nyquists. Se o sinal M1 for simplesmente amostrado em intervalos de 1 hora, sem primeira filtragem de baixa passagem (e é exatamente isso que o H1 fecha), o processo de subamostragem introduzirá artefatos aliases. Como o fechamento da M1 tem energia significativa abaixo de 120 minutos, a amostragem aos 60 minutos irá alias muita energia para as amostras H1. Todos os picos que mostram 120 minutos à esquerda aparecerão como picos no espectro H1. A localização dos picos pode ser calculada, mas o processo é uma bagunça, por isso não o fiz. Além disso, a MESA pode não captar toda a energia aliada, como um FFT faria.

Agora vamos olhar o espectro do GU H1 sem aplicação de filtro antialiasing.

De onde vieram todos esses picos? Se eu fosse a senhora da igreja, eu poderia pensar que era SATAN... mas na verdade eu acho que é aliasing. Talvez eu devesse fazer uma subamostra do preço filtrado M1 e olhar para o seu espectro. Mas isso é para outro dia.

A propósito, graças ao RC pelas excelentes ferramentas de software.

Cumprimentos... MadCow...

P.S. Pense em quanto mais podemos fazer alias no espectro H4.

Madcow,

Uma imagem vale por mil palavras...ver anexo uma varredura que eu faço para encontrar e desenhar uma inclinação do ciclo composto de até 4 ciclos (por período de tempo) em diferentes intervalos de tempo

H1...Procurou ciclos com uma periodicidade entre 90 a 180 bars dentro das últimas 540 bars

M30,M15,M5...A mesma análise equivalente...então basicamente estou superlotando 1,2,4 e 12 vezes com exatamente os mesmos resultados.

Se você vir as fotos, verá que a varredura encontrou apenas 2 ciclos, não 1 ou 4, exatamente os mesmos 2 ciclos nos 4 diferentes intervalos de tempo, mesma periodicidade 108 e 153 H1 barras equivalentes, mesma amplitude e mesma fase...Isto não acontece sempre,aliasing e fantasmas e ressonância espectral de harmônicas e sub-harmônicas geralmente aparecem na imagem embaçando a realidade,mas quando você vê esta combinação perfeita,você sabe que pode trocar este modelo cíclico,em qualquer um dos 4 períodos de tempo ...mesmo em h4 se você quiser fazer isso usando sobreamostragem,você pode amostrar várias vezes por barra(use amostra m15 em h4 por exemplo)...mas você realmente não precisa fazer isso.

Os ciclos são exatamente os mesmos...quais são as possibilidades de que estes sejam fantasmas?...Como eu disse antes, é apenas uma questão de ter as ferramentas certas para medir o que está acontecendo...

Richcap pode discordar da minha opinião,mas,IMO,MESA não é a ferramenta certa,Fourier com todas as suas variações,incluindo Goertzel,é ligeiramente melhor...mas o que realmente precisamos pensar é sobre o conceito de Ciclos Fractais,portanto,temos que entrar nos domínios da não-linearidade e da escala fractal se realmente quisermos "modelar" o mercado.

Não vou tentar convencer ninguém de mais nada, já tenho todas as ferramentas necessárias no reino dos ciclos, então, se você não estiver convencido tanto pela Richcap como pelas minhas descobertas, então a conclusão lógica é esquecer os ciclos... Se você estiver convencido, ou pelo menos convencido o suficiente para tentar, eu o ajudarei desde que sua abordagem seja original e útil e, obviamente, desde que eu não tenha que revelar nenhum trabalho propietário feito em nosso grupo privado.

Cumprimentos

S

Arquivos anexados:
campc19.gif  41 kb
campc20.gif  40 kb
campc21.gif  36 kb
campc22.gif  36 kb
 

Simba,

esses são resultados muito convincentes. Não estou certo apenas do que estou olhando, mas as curvas são muito semelhantes para todos os TF's. Parece que não há realmente um problema de aliasing, no entanto, estou perdido para entender por que não. A série H1 deveria ter significativamente mais ruído, do que a série M1. Aparentemente, não há nenhum componente cíclico sustentado de alta freqüência nos TF's inferiores, e há pouco ou nenhum ruído. Isto me parece incrível, e já que me dei ao trabalho de tentar entender a possibilidade de aliasing antes de você postar, eu gostaria de postar meus pensamentos.

Minha preocupação com o aliasing pode não estar clara, então deixe-me ilustrar o efeito do aliasing melhor do que eu tenho. Para facilitar a ilustração, vamos supor que o espectro de uma série de preços M1 consiste em dois componentes periódicos embutidos no ruído. O ruído tem um espectro triangular, um dos componentes está em baixa freqüência (período longo, mostrado em azul) e o outro está em alta freqüência (período curto, mostrado em vermelho). Como se trata de uma série de preços M1, o espectro deve terminar à taxa de amostragem/2 (fs/2) (período = 2 minutos). ( Se houver componentes de freqüência mais alta nas transações, eles serão aliados no espectro abaixo de fs/2). Além disso, suponha que ambos os componentes tenham uma relação sinal/ruído razoavelmente boa. Tudo isso é mostrado na metade superior da primeira figura abaixo. O efeito da subamostragem desta série de preços em intervalos de 5 minutos (M5) é mostrado na metade inferior da figura. Isto pode ser calculado graficamente observando que o espectro de um sinal amostrado pode ser encontrado ao girar o espectro do sinal original com uma série de impulsos na freqüência de amostragem. ( Como o período M5 é 5 vezes o período M1, a freqüência de amostragem é 1/5 a freqüência de amostragem de 1 minuto, como mostrado. )Isto envolve os simples passos de sobreposição do espectro inicial a cada impulso. É bastante claro o que isto faz do espectro original. Observe que o componente de alta freqüência é aliado ao componente de baixa freqüência, mas o componente de baixa freqüência não é afetado.

O espectro efetivo da série de preços M5 derivado da subamostragem da série M1 é mostrado na figura abaixo. À esquerda tentei mostrar como o ruído se acumula devido ao aliasing. À direita, mostro o espectro final do sinal M5. O componente de alta freqüência foi aliado para baixo próximo ao componente de baixa freqüência, e o ruído se acumulou de modo que a relação sinal/ruído é agora bastante ruim.

Agora suponha que houvesse vários componentes cíclicos de alta freqüência no espectro original, e suponha que nós o subamostramos uma vez a cada hora, ou uma vez a cada 4 horas. A bagunça resultante deveria ter componentes cíclicos em todo o lugar, e a relação sinal/ruído deveria ser terrível.

Como qualquer componente cíclico no sinal final (digamos H1) deve ter estado no sinal M1 original, mas com uma melhor relação sinal/ruído, me parece que se deve usar o sinal M1 para extrair componentes cíclicos. É claro que o problema com isto é que aqueles componentes que estão em períodos de, digamos, 20 horas serão muito difíceis de extrair dos dados M1 porque o período M1 exigirá 60 vezes mais amostras no M1. Por outro lado, pode haver muitos componentes que estão em altas freqüências na série M1, que, por sinal na série H1, várias vezes causam mais picos do que realmente estão lá.

A única maneira simples de investigar isto é olhar o espectro de um sinal M1 e de um sinal H1 durante o mesmo período (absoluto), por exemplo, 200 horas ou mais. Isto não pode ser feito com as ferramentas R_MESA atualmente disponíveis porque o comprimento requerido no M1 excede a capacidade do algoritmo como codificado.

Parece que você já analisou os vários TF's e está satisfeito que os componentes cíclicos estão presentes em uma freqüência suficientemente baixa para que não sejam afetados pela subamostragem. Ao usar algo como o algoritmo Goertzel (ou simplesmente um conjunto de filtros de banda estreita, que é equivalente) pode-se aparentemente ignorar o ruído adicionado pelo aliasing. Esta é uma boa notícia. Estou convencido de que os componentes estão lá. Não sei por quê. Por isso, vou continuar a olhar para um filtro de rastreamento de fase bloqueado.

Gostaria de saber mais sobre filtragem fractal se você tiver algumas fontes.

Obrigado ...MadCow...

Arquivos anexados: