Diálogo do autor. Alexander Smirnov. - página 5

 
Prival:

ASmirnoff 25.01.2008 11:08


Suas respostas para as seguintes perguntas são importantes para mim: 1. Qual algoritmo é melhor: o meu ou o da Djurica? Quanto melhor? 2. Você tem o algoritmo de Djurica? 3. Como eles diferem?

Muito prazer em tê-lo neste fórum. E gostaria de ajudar com a pesquisa. Infelizmente, não posso afirmar que aqui ("Efficient average algorithms with minimum lag and their use in indicators") são os "verdadeiros" algoritmos Djuric. Mas eu acho que você pode usá-los e a qualquer outro. Estou pronto para oferecer alguns de meus filtros para comparação, mas mais sobre isso abaixo.


Minha sugestão é a seguinte. Se precisarmos comparar 2 indicadores e responder à pergunta qual é melhor. Primeiro, precisamos determinar os critérios. Se houver mais de um, podemos realizar a convolução. O principal não é apenas uma afirmação filosófica de que um indicador é melhor do que outro, mas exatamente a prova matemática deste fato. Além disso, como exatamente você fez a pergunta: quanto melhor?


Portanto, gostaria de definir os seguintes conceitos na primeira etapa (retiro os inconvenientes da MA de seu artigo)

  1. O atraso de tempo de cálculo da média. Em que momento e como deve ser calculado? Para determinar se precisamos de interpolação ou extrapolação ? Ou comparar ambos?
  2. Volatilidade relativamente alta ... Mais adiante no artigo é o efeito Slutsky-Yula um fenômeno de Gibbs ou algo mais ? (um arquivo explicando o fenômeno Gibbs está anexado). Se é algo fundamentalmente diferente, gostaria de ler, quem tem um material por favor compartilhe.
  3. Favor divulgar o conceito de " distorção de freqüência linear ".
  4. "Linearização de tendências não lineares de preços isolando estas tendências com um certo viés".

O que você entende por tendência, por favor, formula. O que você entende por uma tendência de preços não-linear, a fórmula + o que é deslocado em relação a quê e como, o que é destacado.


O problema é que para a comparação de quaisquer dois indicadores, temos que dar-lhes algo para a entrada. E para responder à pergunta sobre qual deles filtra melhor (suaviza, atrasa, etc.) você precisa saber a verdade, o que estamos alimentando a entrada. Vamos assumir uma onda sinusoidal barulhenta cujos parâmetros conhecemos


Ao filtrar (suavizar) esta matriz de dados, podemos determinar qual dos filtros distribui melhor a verdade, como a conhecemos (curva azul).

É possível sintetizar vários sinais de entrada, como os usados por Djuric para demonstrar a excelência de seu indicador.(http://www.jurikres.com/catalog/ms_ama.htm#top). O principal é determinar quais.

Na fase final da pesquisa, estou pronto para produzir uma sintética (série artificial de preços) caracterizada por AFC, IFR e ACF que coincide com a série de preços de qualquer moeda selecionada dentro de uma semana. Aqui, fizemos algo semelhante em "Teoria do Fluxo Aleatório e FOREX". Comparamos o filtro Kalman e o filtro Butterworth.


Você no artigo fala sobre AFC e FFC de algum modo estável e alguns critérios originais.

Se você conseguiu atingir algum modo estável mais o AFC e FFI do sinal está estacionário, estou pronto para aplicar todos os meus conhecimentos de DSP e sintetizar um filtro digital que está próximo do ótimo. Por Bayesian eu acho que não vai funcionar, porque você precisa de dados completos suficientes a priori (o que raramente acontece), mas o critério de máxima probabilidade ou um observador ideal, eu acho que posso fazer. Será necessário apenas definir o que é sinal (pelo menos em AFC) e o que é ruído.

Na verdade, eu nem preciso do algoritmo Djuric em si. Preciso de um segmento de 50-100 barras da tabela de preços e do produto de saída do verdadeiro algoritmo Djuric. Depois encontraremos estimativas da resposta ao impulso e sintetizaremos o próprio algoritmo.

 
Integer:
ASmirnoff:

...cujos artigos no Sol são de grande interesse para você


Isso significa que você é o autor desse mesmo "Comando Candidato" que lemos enquanto servimos nas "Forças Armadas"?:-)

1. Qual algoritmo é melhor: o meu ou o da Djurica? Quanto melhor?

Diga-me, espelho, diga-me toda a verdade...


2. Você tem o algoritmo de Djurica?

3. qual é a diferença entre eles?


Alexander, perguntas interessantes, depois de um título tão sonoro do artigo. Se você está no ramo, por que não desmonta o código do Juric e entende o algoritmo, já que você está na ciência deste assunto?

Há tanta água e poucas explicações qualificadas na TAP hoje em dia que estes artigos são de interesse. Uma análise de correlação dos algoritmos indicadores mostrou que cerca de 10-15% são verdadeiramente originais e independentes um do outro. Djuric está ganhando dinheiro com seu "brainchild". Ofereci a vocês minhas idéias gratuitamente. Acho que devo apenas dizer obrigado por isso.
 
ASmirnoff:
Neutron:

Sim, você é bem-vindo!

Eu dei uma olhada superficial no artigo. Tenho certeza de não ter entendido o autor!

No local onde se fala da ocorrência de atraso de grupo (GD) ao utilizar um algoritmo anti-aliasing, o autor oferece uma receita para "se livrar" deste último usando uma corrida inversa. ... Isto é uma piada? Sabe-se que para sistemas casuais (trabalhando na extremidade direita da BP), a GZ é, em princípio, inevitável. Mas, é claro, se a BP for definida e planejamos trabalhar com ela no meio de uma fila (não na borda direita), podemos, como a autora aconselha, nos livrar da defasagem, fazendo uma nova média com os mesmos parâmetros na direção inversa. Mas o autor não menciona que, usando tal algoritmo de média, veremos inevitavelmente uma reelaboração na última barra. Ele já esqueceu ou não sabe? Ou o que mais?

Aqui está uma citação do artigo:

"Assim, com a proposta acima podemos compensar parcialmente o atraso de tempo m/2 (o primeiro inconveniente da média tradicional de deslizamento)". E o segundo efeito negativo é eliminado ... E a terceira, e a quarta. ...

O uso do algoritmo de cálculo da média proposto também reduz significativamente a distorção de frequência linear... "

A idéia da compensação por atraso de grupo não é minha, mas a dos cientistas americanos. No entanto, "funcionou" fora da escala de tempo real. Bem, em radioastronomia, por exemplo. Minha realização é que consegui propor praticamente um algoritmo sob a forma de uma média móvel sintética. Colega, você tem que estudar a "parte material" antes de iniciar um argumento pseudo-científico.


Antes de me enviar novamente para a matemática, responda a uma pergunta direta: o que você, "colega", vê o valor prático de seu algoritmo para análise de séries cronológicas financeiras se ele envolve o constante redesenho da borda direita da curva de média? O próprio limite em que nós (comerciantes, MTS) devemos tomar uma decisão!

E, por favor, não apelem para os americanos, astronautas, etc., todos eles resolveram este problema para sua tarefa e não tenho dúvidas de que eles o resolveram, ao contrário de vocês, com perfeição. Além disso, se você executar seu algoritmo sobre o ruído aleatório integrado, ele o suavizará da mesma forma perfeitamente. O quê, você vai afirmar agora que pode prever o futuro onde ele é, em princípio, impossível? Espero que não, porque se você olhar para a borda direita da curva, você pode ver como ela é muito diferente (em comparação com o resto da seção de suavização) dos pontos experimentais. E só depois de muito mexer (cerca de m/2 pontos), ele toma uma posição "respeitável". Mas não está quente nem frio para nós. Em outras palavras, quero dizer que todo seu edifício harmonioso (quase nenhum FC, LA, baixa "volatilidade", etc.) repousa sobre os alicerces (a possibilidade de aplicar a corrida inversa) que você parece ter sugado de sua mão e que não é aplicável à análise de séries de mercado.

Cavalheiros! Eu sou o mesmo Alexander Smirnov, cujos artigos em "VS" despertam seu grande interesse. Sou um cientista, mas no passado fui um comerciante prático. Eu sou muito bom em TAR. Eu sou um matemático aplicado.
:-)
 
ASmirnoff: O algoritmo no WPI é correto, mas o programador que o implementou não tem experiência com a linguagem. O critério da verdade é a prática. Este algoritmo, independentemente do tamanho da janela de cálculo da média, fornece um atraso de 1 barra no produto de cálculo da média.

É muito bom que o atraso seja de apenas 1 barra. É possível vê-lo em primeira mão? Onde posso obter um indicador pronto para uso?
 
LeoV, isto tem que ser visto na dinâmica. Qualquer curva suave com uma resposta de impulso perfeita é inútil (como aplicada às nossas tarefas) se for redesenhada.
 
Mathemat:
LeoV, isto tem que ser visto na dinâmica. Qualquer curva suave com uma resposta de impulso perfeita é inútil (como aplicado aos nossos problemas) se ela se sobrepujar.

Será que ele redesenha? Bem, então não há como aplicá-lo aos nossos problemas. Algoritmo SSA (caterpillar) também é um bom algoritmo, mas infelizmente ele redraws......
 
<br / translate="no"> É possível vê-lo pessoalmente de alguma forma? Onde posso obter um indicador pronto para uso?


Estou tentando traduzi-lo de Iasi:


//+------------------------------------------------------------------+
//|                                                   SmirnoffMA.mq4 |
//+------------------------------------------------------------------+
#property copyright "Smirnoff moving average"
#property link      "www.spekulant.ru"
#property indicator_chart_window
#property indicator_buffers 1
#property indicator_color1 Yellow
//---- input parameters
extern int per=4;   // должна быть кратна 4!(4,8,12,и т.д.)
//---- buffers
double ExtMapBuffer1[];
//----
int n;
double alf=0.0,q1[],q2[];
//+------------------------------------------------------------------+
//| Custom indicator initialization function                         |
//+------------------------------------------------------------------+
int init()
  {
//---- indicators
   SetIndexStyle(0,DRAW_LINE);
   SetIndexBuffer(0,ExtMapBuffer1);
   //
   alf=2.0/(per/2+1);
   n=per-1;
   ArrayResize(q1,per); ArrayResize(q2,per);
//----
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator deinitialization function                       |
//+------------------------------------------------------------------+
int deinit()
  {
   return(0);
  }
//+------------------------------------------------------------------+
//| Custom indicator iteration function                              |
//+------------------------------------------------------------------+
int start()
  {
   int    counted_bars=IndicatorCounted();
   if(counted_bars < 0)    return(-1);
   if(per%4!=0)            return(-1);
   int lm = Bars - counted_bars + 1; 
   //----
   for(int shift=0; shift<lm; shift++)
      {q1[0]=Close[shift];
       for(int j=1; j<per; j++) q1[j]=q1[j-1]+alf*(Close[shift+j]-q1[j-1]);
       for(int s=1; s<per/2; s++)
          {for(j=0; j<per; j++) q2[j]=q1[n-j];
           q1[0]=q2[0];
           for(j=1; j<per; j++) q1[j]=q1[j-1]+alf*(q2[j]-q1[j-1]);
          }
       ExtMapBuffer1[shift]=q1[n];
      }
   //----
   return(0);
  }
//+------------------------------------------------------------------+
Arquivos anexados:
 
zigan: Estou tentando traduzir de Iasi:

Então, este indicador redesenha ou não?
 
Não.
 

Alexander! É isto que deveria parecer? Azul é o que zigan fez com seu algoritmo, a marinha é JMA da Base de Código. Ambos têm o parâmetro 12.

Aqui está outra imagem - quando o parâmetro é igual a 4 para ambas as curvas:

Conclusões (se o algoritmo de zigan traduzido corretamente):

1. Sua curva é "espinhosa".

2. Quando você aumenta o parâmetro, sua curva é sublativada, ou seja, a Djuric lida melhor com movimentos fortes.