Estrategias de negociación basadas en filtros digitales - página 73

 

Bandas de frecuencia

MadCow:
Simba,

Dado que cualquier componente cíclico en la señal final (digamos H1) debe haber estado en la señal original M1, pero con una mejor relación señal/ruido, me parece que se debería utilizar la señal M1 para extraer los componentes cíclicos. Por supuesto, el problema con esto es que esos componentes que están en periodos de digamos 20 horas serán muy difíciles de extraer de los datos M1 porque el periodo M1 requerirá 60 veces más muestras en M1. Por otro lado, puede haber muchos componentes que se encuentren en frecuencias altas en la serie M1, que se aliasen en la serie H1 varias veces causando más picos de los que realmente hay.

La única forma sencilla de investigar esto es observar el espectro de una señal M1 y una señal H1 durante el mismo periodo (absoluto), por ejemplo, 200 horas más o menos. Esto no se puede hacer con las herramientas R_MESA actualmente disponibles porque la longitud requerida en M1 excede la capacidad del algoritmo tal y como está codificado.

MadCow...

Madcow,

Si a ambos, uno debe usar la señal M1 y compararla con la H1,M5,15,M30..sobre el mismo periodo absoluto...eso es exactamente lo que hice(empezando por M5) y mostré en las fotos ...escaneé 540 barras h1 en h1,m30(1080 barras m30),m15,m5....para el mismo rango de frecuencias absolutas H1 1/90 a 1/180...así que, busqué ciclos con periodicidad 90 a 180 periodos H1(180 a 360 periodos m30,etc,etc)...y encontré los mismos 2 ciclos en todos los timeframes.

Si vuelvo a hacer el escaneo para buscar ciclos de 8 a 80 periodos H1, sobre un lapso absoluto de 240 barras H1, lo que encontraré es una imagen muy diferente, cada marco de tiempo me está devolviendo un número diferente de ciclos, periodos, amplitudes y fases... es un lío intratable como se puede ver en la imagen....Así que, usar las bandas de frecuencia correctas, las que te devuelven ciclos claros es una de las claves para trabajar con ciclos...para hacerlo, necesitas un escáner que pueda escanear al menos 7k -9k barras m1 y devolverte periodos cíclicos de hasta 2k -3k barras m1.

Ciclos fractales...Básicamente:El número de iteraciones o el paso del tiempo antes de que un fractal se repita(caveat emptor:Puede repetirse en el mismo O en un marco de tiempo diferente)....las líneas verticales en la imagen marcan las últimas iteraciones de un fractal,el ciclo fractal es de 22 o 23 barras(es fractal )...Por cierto,al cierre del viernes completamos una iteración fractal...Estoy extremadamente intrigado por el movimiento direccional de apertura de hoy para las próximas 22 barras.

http://www.elliottfractals.com/triggers/

Lammert Macroeconomía de Saturación No Estática: Julio 2005 Macroeconomía de Saturación No Estocástica - Una Nueva Ciencia

Saludos

S

Archivos adjuntos:
campc24.gif  66 kb
 
MadCow:
Simba,

He leído el material de Lammert, y hasta ahora no puedo hacer cara o cruz con él. Se parece mucho a la astrología, pero mucha gente le cree aparentemente, así que debo profundizar. Parece que utiliza la definición de fractal utilizada en el "fractal.mq4" de MT4, esencialmente los extremos. ¿Cómo se relaciona eso con los ciclos fractales?

Pero permítanme empezar a demostrar mi utilidad:

1. No utilice las series de precios TF más altas cuando busque componentes cíclicos. Serán más ruidosas que la M1. Parece que ya lo haces... ¿y el resto del foro?

2. Utilice un filtro antialiasing en los datos de M1 y submuestree su salida para reducir la complejidad computacional cuando busque componentes cíclicos de larga periodicidad. Haz coincidir el filtro aa con las frecuencias que buscas.

3. No "aplane" la serie de precios al aplicar la FFT o Geortzel.

Los dos primeros puntos los he comentado anteriormente.

Considere el tercero. Se puede demostrar que el periodograma es el detector de máxima probabilidad de una sinusoide en ruido blanco gaussiano estacionario. Sé que el ruido FX no es estacionario, ni blanco, ni siquiera gaussiano, pero aún así se puede argumentar que el periodograma es algo bueno para usar. El periodograma es esencialmente el cuadrado de la transformada de Fourier de la señal, y sufre el hecho de que su varianza no disminuye a medida que aumenta la longitud de la secuencia procesada. Cuando se utiliza para estimar la densidad espectral, los datos se someten a una ventana para reducir este efecto de "punto final". Pero lo que nos interesa es detectar el componente, no estimar el espectro. Si tuviéramos que utilizar un conjunto de filtros de paso de banda para encontrar la señal, no aplanaríamos primero el punto final de la serie de precios. Eso sería claramente contraproducente, ya que disminuiría el peso de las muestras más recientes. Por lo tanto, no hay que aplanar la serie de precios antes de aplicar la FFT o Geortzel.

4. La FFT o el Geortzel son equivalentes cuando se ajustan a la resolución. El Geortzel es más eficiente cuando se busca sobre un pequeño conjunto de frecuencias. Utilícelos de forma intercambiable en función de la eficiencia computacional determinada por la banda buscada y la resolución requerida.

5. El MESA es bueno para estimar el espectro, y en algunos casos (particularmente para sinusoides variables en el tiempo) puede ser mejor que la FFT. Sin embargo, estimar el espectro y detectar sinusoides son tareas diferentes, y si la sinusoide dura lo que dura la FFT, el MESA no es mejor que la FFT en el sentido de máxima probabilidad, y muy probablemente no es tan bueno. Por lo tanto, utilice la FFT y adapte su resolución a la duración prevista de la sinusoide. Olvídate de la MESA, a pesar del excelente software de RC.

Estas son sólo mis opiniones, pero pueden ser respaldadas matemáticamente si el modelo se simplifica como se indica. También sé que no todo el mundo estará de acuerdo, y que RC y Ehlers estarían particularmente en desacuerdo, pero sólo trato de ser útil como se pide.

Saludos ...MadCow...

No sé si el resto del Foro, unos pocos pueden estar haciendo cosas interesantes, otros probablemente esperarán a ser alimentados con la cuchara.

Saludos

S

 

Simba,

He leído el material de Lammert, y hasta ahora no puedo hacer cara o cruz de ella. Se parece mucho a la astrología, pero mucha gente le cree aparentemente, así que debo profundizar. Parece que utiliza la definición de fractal utilizada en el "fractal.mq4" de MT4, esencialmente los extremos. ¿Cómo se relaciona eso con los ciclos fractales?

Saludos ...MadCow...

 

Longitud variable Goertzel

Quiero pedir disculpas por haber editado bruscamente mi post anterior. (Puedes leerlo íntegramente en la respuesta de Simba). El motivo es que he descubierto que el aplanamiento de los puntos finales no es lo que yo pensaba. Simplemente establece los dos puntos finales a 0 y añade una pequeña cantidad a cada muestra entre ellos para compensar esto. Esencialmente añade un componente de período muy largo, que podemos ignorar. No distorsiona la salida de corriente para una frecuencia suficientemente alta. También estaba escribiendo mal Goertzel.

Y ya no creo que la FFT o Goertzel sea la mejor manera de encontrar componentes cíclicos.

Al mirar el aplanamiento del punto final y el algoritmo de Goertzel encontré que puede haber una mejor manera de encontrar el contenido espectral cuando nuestro objetivo es usar el espectro estimado para predecir las siguientes muestras. Podríamos utilizar filtros Goertzel de longitud variable en lugar de los filtros de longitud fija de todas las implementaciones de Goertzel. La imagen adjunta muestra la diferencia entre el Goertzel de longitud fija implementado como Goertzel_v1.mq4 y un Goertzel de longitud variable. Es una gran diferencia.

Tengo la costumbre de escribirme notas mientras analizo un problema. A medida que me hago mayor, descubro que esto me ayuda con los problemas de memoria a corto plazo, que me acosan (de ahí MadCow...). El documento adjunto es mi conjunto de notas sobre el Goertzel de longitud variable, y por qué lo prefiero. Agradecería cualquier comentario.variable_length_goertzel_filters.doc

Saludos ...MadCow...

 

Retroalimentación

MadCow:
Quiero pedir disculpas por editar abruptamente mi post anterior. (Puedes leerlo completo en la respuesta de Simba). El motivo era que había descubierto que el aplanamiento del punto final no era lo que yo pensaba. Simplemente establece los dos puntos finales a 0 y añade una pequeña cantidad a cada muestra entre ellos para compensar esto. Esencialmente añade un componente de período muy largo, que podemos ignorar. No distorsiona la salida de corriente para una frecuencia suficientemente alta. También estaba escribiendo mal Goertzel.

Y ya no creo que la FFT o Goertzel sea la mejor manera de encontrar componentes cíclicos.

Al examinar el aplanamiento del punto final y el algoritmo de Goertzel encontré que puede haber una mejor manera de encontrar el contenido espectral cuando nuestro objetivo es utilizar el espectro estimado para predecir las siguientes muestras. Podríamos utilizar filtros Goertzel de longitud variable en lugar de los filtros de longitud fija de todas las implementaciones de Goertzel. La imagen adjunta muestra la diferencia entre el Goertzel de longitud fija implementado como Goertzel_v1.mq4 y un Goertzel de longitud variable. Es una gran diferencia.

Tengo la costumbre de escribirme notas mientras analizo un problema. A medida que me hago mayor, descubro que esto me ayuda con los problemas de memoria a corto plazo, que me acosan (de ahí MadCow...). El documento adjunto es mi conjunto de notas sobre la longitud variable Goertzel, y por qué lo prefiero. Agradecería cualquier comentario.variable_length_goertzel_filters.doc

Saludos ...MadCow...

MadCow,

Tal como lo veo en tu .doc

1-La base de todo tu pensamiento es que Goertzel necesita 3*máximas tasas de muestreo de periodo, así que, si quieres escanear ciclos de hasta 200 periodos, necesitas al menos 600 muestras...Correcto.

2-Consecuentemente, los ciclos de baja periodicidad (alta frecuencia) pueden no ser representativos de lo que realmente está ocurriendo en el momento...por ejemplo, un ciclo de 13 barras encontrado en un lapso de las últimas 600 barras puede no estar ahí ahora, y, sí, tienes toda la razón.

3-Conceptualmente, puede haber una solución más simple, sin embargo, y eso es sólo para escanear por separado para varias bandas de frecuencia ... así que si quieres confirmar el ciclo de 13 períodos que encontraste, tienes que volver a hacer un escaneo sobre las últimas 39 barras ... o, incluso mejor, hacer un escaneo sobre las últimas 60 barras para los ciclos con frecuencias 1/10 a 1/5.

Conclusión...necesitas hacer diferentes escaneos...esto fue insinuado por JM Hurst en su curso de 1600 páginas, y explicado por Brian Millard en detalle....o, puedes construir un escáner multifreq, multispan que escanee en "bloques" de "periodo máximo vs longitud de escaneo" relacionados...eso será realmente original e innovador

Saludos

S

 
SIMBA:
MadCow,

Tal y como lo veo en su documento

1-La base de todo tu pensamiento es que Goertzel necesita 3*máximas frecuencias de muestreo de periodo, así que, si quieres escanear ciclos de hasta 200 periodos, necesitas al menos 600 muestras...Correcto.

2-Consecuentemente, los ciclos de baja periodicidad (alta frecuencia) pueden no ser representativos de lo que realmente está ocurriendo en el momento...por ejemplo, un ciclo de 13 barras encontrado en un lapso de las últimas 600 barras puede no estar ahí ahora, y, sí, tienes toda la razón.

3-Conceptualmente, puede haber una solución más simple, sin embargo, y eso es sólo para escanear por separado para varias bandas de frecuencia ... así que si quieres confirmar el ciclo de 13 períodos que encontraste, tienes que volver a hacer un escaneo sobre las últimas 39 barras ... o, incluso mejor, hacer un escaneo sobre las últimas 60 barras para los ciclos con frecuencias 1/10 a 1/5.

Conclusión...necesitas hacer diferentes escaneos...esto fue insinuado por JM Hurst en su curso de 1600 páginas, y explicado por Brian Millard en detalle....o, puedes construir un escáner multifreq, multispan que escanee en "bloques" de "periodo máximo vs longitud de escaneo" relacionados...eso será realmente original e innovador

Saludos

S

Está claro que me llevas mucha ventaja en esto. Es agradable tener la confirmación de que todavía puedo pensar lógicamente.

He mirado el uso de diferentes escaneos, y decidí que tratar de encontrar ciclos cortos en bloques largos podría pasarlos por alto, por lo que podría no volver a confirmar que estaban allí. Además, se necesitaría una gran cantidad de cálculos adicionales para buscar en muchos bloques. Así que miré el código y decidí que podía modificar el código de Goertzel_v1 para hacer el escáner multifreq, multispan directamente. El código es en realidad más sencillo y requiere menos ciclos de cálculo que el original _v1. ¿Innovación, o sólo suerte? El Goertzel_v1 modificado (ahora _v2) se utilizó en mi anterior post.

Adjunto dos modificaciones, _v2 hace el trabajo sin aplanar el punto final, aunque se puede añadir eliminando algunos comentarios en el código. _v3 hace todo el trabajo incluyendo el aplanamiento del punto final para cada bloque/periodo. Se puede variar el número mínimo de ciclos a buscar utilizando la variable numcycles. Esto cambia la resolución de los filtros, con más ciclos dando una mejor resolución, pero requiriendo más muestras, permitiendo así que las señales pasadas interfieran con las señales actuales. También se puede utilizar el precio medio en lugar del cierre ajustando el useclose a false. No hace ninguna diferencia que puedo ver.

Mis habilidades de codificación son bastante oxidadas, por lo que puede haber un problema de codificación con el aplanamiento del punto final, pero creo que no. Si no hay ningún problema de código, entonces EPF no ayuda a la exploración de frecuencias múltiples.

Los próximos pasos que daré son decidir cómo seleccionar los componentes que se utilizarán para la predicción, y cómo estimar la longevidad de la predicción. Me inclino por utilizar una medida de la SNR en cada filtro que mantiene un pico para seleccionar los picos, en lugar de sólo la amplitud, pero todavía no tengo ninguna pista sobre la longevidad de la predicción.. quizás la experimentación ayude. ¿Alguna sugerencia?

Saludos ... MadCow...

goertzel_v3.mq4[/ATTACH]

Archivos adjuntos:
 

Sugerencias

MadCow:
Está claro que te has adelantado a mí en esto. Es bueno tener la confirmación de que todavía puedo pensar lógicamente.

He estudiado el uso de diferentes escaneos, y he decidido que intentar encontrar ciclos cortos en bloques largos podría pasarlos por alto, por lo que podría no volver a confirmar que estaban allí. Además, se necesitaría una gran cantidad de cálculos adicionales para buscar en muchos bloques. Así que miré el código y decidí que podía modificar el código de Goertzel_v1 para hacer el escáner multifreq, multispan directamente. El código es en realidad más sencillo y requiere menos ciclos de cálculo que el original _v1. ¿Innovación, o sólo suerte? El Goertzel_v1 modificado (ahora _v2) se utilizó en mi anterior post.

Adjunto dos modificaciones, _v2 hace el trabajo sin aplanar el punto final, aunque se puede añadir eliminando algunos comentarios en el código. _v3 hace todo el trabajo incluyendo el aplanamiento del punto final para cada bloque/periodo. Se puede variar el número mínimo de ciclos a buscar utilizando la variable numcycles. Esto cambia la resolución de los filtros, con más ciclos dando una mejor resolución, pero requiriendo más muestras, permitiendo así que las señales pasadas interfieran con las señales actuales. También se puede utilizar el precio medio en lugar del cierre ajustando el useclose a false. No hace ninguna diferencia que puedo ver.

Mis habilidades de codificación son bastante oxidadas, por lo que puede haber un problema de codificación con el aplanamiento del punto final, pero creo que no. Si no hay ningún problema de código, entonces EPF no ayuda a la exploración de frecuencias múltiples.

Los próximos pasos que daré son decidir cómo seleccionar los componentes que se utilizarán para la predicción, y cómo estimar la longevidad de la predicción. Me inclino por utilizar una medida de la SNR en cada filtro que mantiene un pico para seleccionar los picos, en lugar de sólo la amplitud, pero todavía no tengo ninguna pista sobre la longevidad de la predicción.. quizás la experimentación ayude. ¿Alguna sugerencia?

Saludos ... MadCow...

goertzel_v3.mq4[/ATTACH]

MadCow,

1-Como decidir que componentes tomar para la predicción:Usa 3 de tus v3, pon cada uno de ellos a (MaxPer-MinPeriod):50-10,100-50,200-100.

2-A continuación, seleccione sólo un ciclo por v3, el que tiene la mayor amplitud.

3-Después usando,periodicidad,amplitud y fase de cada uno de los 3 ciclos,añadirlos en un compuesto.

4-Longitud de la predicción?..Además de calcular el exponente de Lyapunov ? la regla general, OMI, es utilizar un tercio a la mitad de las barras del ciclo más corto ...

Ahora bien, puedes querer creerme o no, y, sinceramente, no tienes ninguna razón, porque no te voy a explicar por qué, además de decirte que he estado allí y lo he hecho...

5-SNR:Olvídate de eso...No funciona,puedes probar todas las formas que quieras...no funcionan para seleccionar buenos ciclos.

6-Usando TODOS los ciclos...;)..Pruébalo y empezarás a creerme..NO FUNCIONA...la longitud de la predicción será menor a 1 bar.

7-Usar 3 ciclos, pero sólo los de mayor amplitud de 10-200... Puede funcionar, pero normalmente no, acabará perdiendo todos los ciclos de periodicidad corta.

8-¿Quieres usar muchos ciclos? no funciona, pero puede funcionar si usas amplitudes cuadradas, en cualquier caso, no uses más de 8 ciclos.

Ahora...el mejor consejo que te puedo dar...De lejos, la mejor manera de negociar (no predecir) estos ciclos es hacer lo que escribí en el número 1 y 2 y luego...

9- Solo opera en la alineación de los 3 ciclos (olvídate de los compuestos)... Yo uso las fases en grados no en radianes, así que cuando los 3 ciclos se alinean por encima de 180 grados, puedes esperar un movimiento alcista, cuando se alinean entre 0 y 179 grados puedes esperar un movimiento bajista... en la práctica, la regla que uso es por encima de 180 y por debajo de 270 (para los largos)... y por encima de 0 y por debajo de 90 (para los cortos)...entonces, una vez que tienes la alineación, espera la confirmación del precio, especialmente las rupturas de las líneas de tendencia, antes de entrar en la operación, utiliza un objetivo relacionado con el ATR del marco de tiempo que estás operando y utiliza un stop por debajo del mínimo anterior / por encima del máximo anterior...si el TP es >que el SL entonces toma la operación, si no lo es, entonces pasa....Oh, y un pequeño detalle, siempre opera en la dirección del marco de tiempo más grande

Saludos

S

 

Enlace sobre Hurst

Interesante enlace... http://wintrend.com/Reports/TCPToday.pdf

Por cierto...el 16 de octubre es la fecha de giro para sp500,luego el 2 de noviembre y luego,DA TOP...Entre el 13 de noviembre y el 9 de diciembre(lo siento,el dato exacto jut for charities )...si,si,el chico del reportaje dice otra cosa,pero o el o yo estamos equivocados...adivina quien...jajajaja..comprueba el 16 de octubre cuando llegue y decide.

S

 
SIMBA:
MadCow,

1-Cómo decidir qué componentes tomar para la predicción:Utilice 3 de sus v3, configure cada uno de ellos a (MaxPer-MinPeriod):50-10,100-50,200-100.

2-A continuación, seleccione sólo un ciclo por v3, el que tiene la mayor amplitud.

3-Después usando,periodicidad,amplitud y fase de cada uno de los 3 ciclos,añadirlos en un compuesto.

4-Longitud de la predicción?..Además de calcular el exponente de Lyapunov ? la regla general, OMI, es utilizar un tercio a la mitad de las barras del ciclo más corto ...

Ahora bien, puedes querer creerme o no, y, sinceramente, no tienes ninguna razón, porque no te voy a explicar por qué, además de decirte que he estado allí y lo he hecho...

5-SNR:Olvídate de eso...No funciona,puedes probar todas las formas que quieras...no funcionan para seleccionar buenos ciclos.

6-Usando TODOS los ciclos...;)..Pruébalo y empezarás a creerme..NO FUNCIONA...la longitud de la predicción será menor a 1 bar.

7-Usar 3 ciclos, pero sólo los de mayor amplitud de 10-200... Puede funcionar, pero normalmente no, acabará perdiendo todos los ciclos de periodicidad corta.

8-¿Quieres usar muchos ciclos? no funciona, pero puede funcionar si usas amplitudes cuadradas, en cualquier caso, no uses más de 8 ciclos.

Ahora...el mejor consejo que te puedo dar...De lejos, la mejor manera de negociar (no predecir) estos ciclos es hacer lo que escribí en el número 1 y 2 y luego...

9- Solo opera en la alineación de los 3 ciclos (olvídate de los compuestos)... Yo uso las fases en grados no en radianes, así que cuando los 3 ciclos se alinean por encima de 180 grados, puedes esperar un movimiento alcista, cuando se alinean entre 0 y 179 grados puedes esperar un movimiento bajista... en la práctica, la regla que uso es por encima de 180 y por debajo de 270 (para los largos)... y por encima de 0 y por debajo de 90 (para los cortos)...entonces, una vez que tienes la alineación, espera la confirmación del precio, especialmente las rupturas de las líneas de tendencia, antes de entrar en la operación, utiliza un objetivo relacionado con el ATR del marco de tiempo que estás operando y utiliza un stop por debajo del mínimo anterior / por encima del máximo anterior...si el TP es >que el SL entonces toma la operación, si no lo es, entonces pasa....Oh, y un pequeño detalle, siempre opera en la dirección del marco de tiempo más grande

Saludos

S

Simba...

Gracias por tu generosidad. Creo que me has ahorrado muchos días de búsqueda infructuosa. Utilizaré la información lo mejor que pueda.

Hay un par de cosas que debo explicar al foro por si alguien desea utilizar _v2 o _v3.

En primer lugar, el cálculo de la fase parece estar en contradicción con la definición de MT4 de la función MathArctan. Todavía no he probado el cálculo de la fase, así que tened cuidado al usarlo. Simplemente lo dejé como está en _v1.

En segundo lugar, aunque puede seleccionar componentes de varios bloques como sugiere Simba, no hay necesidad de dividir el espectro en varios bloques al hacer el cálculo. De hecho, es posible que se pierda un componente importante en el borde de un bloque si se hace eso. Toda la periodicidad puede calcularse en una sola pasada, ya que la longitud del bloque se calcula independientemente para cada periodo. Pero, como dice Simba, una imagen vale más que mil palabras. Aquí está el espectro calculado en una sola pasada, comparado con las porciones calculadas en pasadas separadas con periodicidad limitada.

Saludos ...MadCow...

Archivos adjuntos:
 

Bienvenido

MadCow:
Simba...

Gracias por su generosidad. Creo que me has ahorrado muchos días de búsqueda infructuosa. Utilizaré la información lo mejor que pueda.

Hay un par de cosas que debo explicar al foro por si alguien desea utilizar _v2 o _v3.

En primer lugar, el cálculo de la fase parece estar en contradicción con la definición de MT4 de la función MathArctan. Todavía no he probado el cálculo de la fase, así que tened cuidado al usarlo. Simplemente lo dejé como está en _v1.

En segundo lugar, aunque puede seleccionar componentes de varios bloques como sugiere Simba, no hay necesidad de dividir el espectro en varios bloques al hacer el cálculo. De hecho, es posible que se pierda un componente importante en el borde de un bloque si se hace eso. Toda la periodicidad puede calcularse en una sola pasada, ya que la longitud del bloque se calcula independientemente para cada periodo. Pero, como dice Simba, una imagen vale más que mil palabras. Aquí está el espectro calculado en una sola pasada, comparado con las porciones calculadas en pasadas separadas con periodicidad limitada.

Saludos ...MadCow...

Bienvenido sea,

Creo que si no divides el espectro en bloques estás muerto... pero, vale, np... veamos dentro de unos meses lo que piensas.

Me voy de vacaciones 3 semanas, intentaré estar en contacto una vez a la semana.

Saludos

S

Razón de la queja: