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

 
Prival:

ASmirnoff 25.01.2008 11:08


Sus respuestas a las siguientes preguntas son importantes para mí: 1. ¿Qué algoritmo es mejor: el mío o el de Djurica? ¿Cuánto mejor? 2. ¿Tienes el algoritmo de Djurica? 3. ¿En qué se diferencian?

Me alegro mucho de tenerte en este foro. Y me gustaría ayudar en la investigación. Desgraciadamente, no puedo afirmar que aquí ("Algoritmos eficientes de promediación con un retardo mínimo y su uso en indicadores") estén esos "verdaderos" algoritmos de Djuric. Pero creo que puedes usarlos y cualquier otro. Estoy dispuesto a ofrecer algunos de mis filtros para la comparación, pero más sobre eso a continuación.


Mi sugerencia es la siguiente. Si tenemos que comparar dos indicadores y responder a la pregunta de cuál es mejor. En primer lugar, hay que determinar los criterios. Si hay más de uno, podemos realizar la convolución. Lo principal no es sólo una afirmación filosófica de que un indicador es mejor que otro, sino exactamente la prueba matemática de este hecho. Además, ¿cómo has hecho exactamente la pregunta de cuánto mejor?


Por lo tanto, me gustaría, en una primera etapa, definir los siguientes conceptos (tomo los inconvenientes de MA de su artículo)

  1. El tiempo de retardo de la media. ¿En qué momento debe calcularse y cómo? ¿Para determinar si necesitamos interpolación o extrapolación? ¿O comparar ambos?
  2. Volatilidad relativamente alta... Más adelante en el artículo, ¿el efecto Slutsky-Yula es un fenómeno de Gibbs o algo más? (se adjunta un archivo que explica el fenómeno de Gibbs). Si es algo fundamentalmente diferente, le gustaría leer, que tiene un material por favor comparta.
  3. Por favor, divulgue el concepto de " distorsión de frecuencia lineal ".
  4. "Linealización de las tendencias no lineales de los precios aislando estas tendencias con un cierto sesgo".

Qué entiendes por tendencia, por favor formula. Qué entiendes por una tendencia no lineal de los precios, la fórmula + qué se desplaza en relación a qué y cómo, qué se singulariza.


La cuestión es que para la comparación de dos indicadores cualesquiera tenemos que darles algo de entrada. Y para responder a la pregunta sobre cuál de ellos filtra mejor (suaviza, retrasa, etc.) hay que conocer la verdad, lo que estamos alimentando a la entrada. Supongamos una onda sinusoidal ruidosa cuyos parámetros conocemos


al filtrar (suavizar) este conjunto de datos podemos determinar cuál de los filtros se ajusta mejor a la verdad, tal y como la conocemos (curva azul).

Es posible sintetizar varias señales de entrada, como las utilizadas por Djuric para demostrar la excelencia de su indicador.(http://www.jurikres.com/catalog/ms_ama.htm#top). Lo principal es determinar cuáles son.

En la etapa final de la investigación estoy listo para emitir una sintética (serie de precios artificial) caracterizada por AFC, IFR y ACF que coincide con la serie de precios de cualquier moneda seleccionada dentro de una semana. Aquí hicimos algo parecido en 'Teoría de los flujos aleatorios y FOREX'. Comparamos el filtro Kalman y el filtro Butterworth.


Usted en el artículo habla de AFC y FFC de algún modo de estado estacionario y algunos criterios originales.

Si logras alcanzar algún modo de estado estacionario más el AFC y el FFI de la señal es estacionario, estoy listo para aplicar todos mis conocimientos de DSP y sintetizar un filtro digital que se acerque al óptimo. Por bayesiano creo que no va a funcionar, porque se necesita la suficiente integridad de los datos a priori (que rara vez sucede), pero el criterio de máxima probabilidad o un observador ideal, creo que puedo hacer. Sólo habrá que definir qué es señal (al menos en AFC) y qué es ruido.

De hecho, ni siquiera necesito el algoritmo Djuric en sí. Necesito un segmento de 50-100 barras del gráfico de precios y el producto de salida del algoritmo Djuric verdadero. A continuación, encontraremos estimaciones de la respuesta al impulso y sintetizaremos el propio algoritmo.

 
Integer:
ASmirnoff:

...cuyos artículos en el Sun son de gran interés para usted


¿Significa eso que usted es el autor de ese mismo "Comando Candidato" que leímos mientras servíamos en las "Fuerzas Armadas"?:-)

1. ¿Qué algoritmo es mejor: el mío o el de Djurica? ¿Cuánto mejor?

Dime, espejo, dime toda la verdad...


2. ¿Tienes el algoritmo de Djurica?

3. ¿Cuál es la diferencia entre ellos?


Alejandro, interesantes preguntas, después de un título tan sonoro del artículo. Si estás en el negocio, ¿por qué no desmontas el código de Juric y entiendes el algoritmo, ya que estás en la ciencia de este tema?

Hay tanta agua y pocas explicaciones cualificadas en TAP hoy en día que estos artículos son de interés. Un análisis de correlación de los algoritmos indicadores mostró que alrededor del 10-15% son realmente originales e independientes entre sí. Djuric está ganando dinero con su "idea". Te he ofrecido mis ideas de forma gratuita. Supongo que debería dar las gracias por ello.
 
ASmirnoff:
Neutrón:

Sí, de nada.

He echado un vistazo rápido al artículo. Estoy seguro de que no entendí al autor.

En el lugar donde se habla de la aparición del retardo de grupo (GD) cuando se utiliza un algoritmo de antialiasing, el autor ofrece una receta para "deshacerse" de este último utilizando una ejecución inversa ... ¿Es una broma? Se sabe que para los sistemas casuales (que trabajan en el extremo derecho de BP), GZ es inevitable en principio. Pero, por supuesto, si BP está definido y pensamos trabajar con él en medio de una fila (no en el borde derecho), podemos, como aconseja el autor, deshacernos del desfase volviendo a promediar con los mismos parámetros en sentido inverso. Pero el autor no menciona que, al utilizar un algoritmo de promediación de este tipo, inevitablemente veremos un rediseño en la última barra. ¿Lo ha olvidado o no lo sabe? ¿O qué más?

Esta es una cita del artículo:

"Así, con la propuesta anterior podemos compensar parcialmente el desfase de m/2 (el primer inconveniente de la media deslizante tradicional). Y el segundo efecto negativo se elimina ... Y el tercero, y el cuarto. ...

El uso del algoritmo de promediación propuesto también reduce significativamente la distorsión de frecuencia lineal... "

La idea de la compensación por retraso del grupo no es mía, sino de los científicos estadounidenses. Sin embargo, "funcionó" fuera de la escala de tiempo real. Bueno, en la radioastronomía, por ejemplo. Mi logro es que he conseguido proponer prácticamente un algoritmo en forma de media móvil sintética. Colega, hay que estudiar la "parte material" antes de iniciar una argumentación pseudocientífica.


Antes de enviarme a las matemáticas de nuevo, responda a una pregunta directa: ¿qué valor práctico ve usted, "colega", de su algoritmo para el análisis de series temporales financieras si implica un redibujado constante del borde derecho de la curva de promedio? ¡El borde mismo en el que nosotros (comerciantes, MTS) debemos tomar una decisión!

Y por favor, no apele a los americanos, astronautas, etc., todos ellos han resuelto este problema para su cometido y no tengo ninguna duda de que lo han resuelto, a diferencia de usted, con perfección. Además, si ejecutas tu algoritmo sobre ruido aleatorio integrado, lo suavizará igual de perfectamente. ¿Qué, vas a afirmar ahora que puedes predecir el futuro cuando en principio es imposible? Espero que no, porque si te fijas en el borde derecho de la curva, puedes ver cómo es muy diferente (en comparación con el resto de la sección de suavizado) de los puntos experimentales. Y sólo después de un montón de jugueteos (unos m/2 puntos), toma una posición "respetable". Pero no es ni frío ni caliente para nosotros. En otras palabras, quiero decir que todo tu edificio armónico (casi sin FC, LA, baja "volatilidad", etc.) se apoya en un fundamento (la posibilidad de aplicar la corrida inversa) que parece que te has chupado de la mano y que no es aplicable al análisis de series de mercado.

¡Caballeros! Soy el mismo Alexander Smirnov, cuyos artículos en "VS" despiertan su gran interés. Soy un científico, pero en el pasado fui un comerciante práctico. Soy muy bueno en el TAR. Soy un matemático aplicado.
:-)
 
ASmirnoff: El algoritmo en WPI es correcto, pero el programador que lo implementó no tiene experiencia con el lenguaje. El criterio de la verdad es la práctica. Este algoritmo, independientemente del tamaño de la ventana de promediación, proporciona un retraso de 1 bar en el producto de promediación.

Es muy bueno que el retraso sea de sólo 1 bar. ¿Es posible verlo de primera mano? ¿Dónde puedo conseguir un indicador ya hecho?
 
LeoV, esto hay que verlo en dinámica. Cualquier curva suave con una respuesta al impulso perfecta no tiene ningún valor (aplicado a nuestras tareas) si se redibuja.
 
Mathemat:
LeoV, esto hay que verlo en dinámica. Cualquier curva suave con una respuesta de impulso perfecta no sirve de nada (aplicada a nuestros problemas) si se sobredimensiona.

¿Se redibuja? Entonces no hay manera de aplicarlo a nuestros problemas. El algoritmo SSA (oruga) también es un buen algoritmo, pero lamentablemente redibuja......
 
<br / translate="no">¿Es posible verlo en persona de alguna manera? ¿Dónde puedo conseguir un indicador ya hecho?


Estoy tratando de traducirlo desde 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);
  }
//+------------------------------------------------------------------+
Archivos adjuntos:
 
zigan: Estoy tratando de traducir desde Iasi:

Entonces, ¿este indicador se redibuja o no?
 
No.
 

¡Alexander! ¿Esto es lo que debería parecer? El azul es lo que hizo zigan con su algoritmo, el azul marino es JMA de Code Base. Ambos tienen el parámetro 12.

Aquí hay otra imagen - cuando el parámetro es igual a 4 para ambas curvas:

Conclusiones (si el algoritmo de zigan se tradujo correctamente):

1. Su curva es "espinosa".

2. Al aumentar el parámetro, la curva se solapa, es decir, Djuric maneja mejor los movimientos fuertes.

Razón de la queja: