Comparación de dos gráficos de cotización con distorsiones no lineales en el eje X - página 9

 
¿Se basa en la distorsión X no lineal, o es una mera comparación de similitudes?
 
IgorM: en el optimizador obtuvo buenos parámetros durante un mes en el H1 TF:
10 oficios no es serio, Igor. Al menos muéstrame un centenar de ellos.
 
Mathemat: 10 oficios no es serio, Igor. Al menos muéstrame un centenar.

tuve un poco de tiempo hoy para experimentar con el código, aquí va como pidió un centenar :)

buscando paternales, algún tipo de optimización - un mes (enero), hacia adelante 12 meses, no sé lo que hay en estos paternales, pero creo que hay algo, voy a tratar de nuevo, debo utilizar diferentes monedas

Archivos adjuntos:
desktop.zip  19 kb
 

La verdad es que no creo en estos patrones (aunque depende de cuáles, claro; cómo decirlo... no tienen que ser geométricamente evidentes).

Pero ahora es más interesante.

 
He escrito una nueva versión de WmiFor utilizando el algoritmo DTW. En cuanto pase la moderación, aparecerá en codebase.
 

Bien hecho. Estamos a la espera de una descripción detallada de la cocina matemática. Si tienes la oportunidad, publica aquí cuando aparezca en codebase

 
Taki quiere ver dos gráficos "similares" para ver qué se quiere decir con eso.
Tengo ideas vagas sobre la comparación, similares a la búsqueda de errores ortográficos en forma de letras faltantes, cambiadas o sobrantes en las palabras. (Una vez escribí un procedimiento de este tipo para un traductor automático).
 

Para evitar abrir un hilo aparte, he decidido describir aquí los resultados de mi investigación sobre los patrones. Quizá le ahorre tiempo a alguien y le dé nuevas ideas.

En 2006, cuando me interesé por primera vez en Forex, mi primera idea fue comparar las últimas N barras (patrón actual) con todos los patrones anteriores de la misma cotización, utilizando el coeficiente de correlación como medida de similitud. Se trata del mismo método del vecino más cercano (SN). La ventaja del coeficiente de correlación sobre la longitud euclidiana es que tiene en cuenta la distorsión del eje de precios. He construido un Asesor Experto utilizando este método que ha mostrado una extraordinaria rentabilidad durante 2-3 meses de pruebas a futuro (10к en 10М o algo similar), pero luego fue perdiendo 2-3 meses. Y así la secuencia: una gran ganancia, luego una pérdida total. Volví varias veces a este método BS, hice comités de vecinos, etc., pero el resultado fue el mismo. Al final me decepcioné y puse el código del método BS en la base del 5.

En 2007-2008 me interesé por la PNN, en particular por la GRNN. La esencia es la misma que la de BS, pero en lugar de seleccionar algunos (o pocos, como en el comité) vecinos similares, se seleccionan automáticamente todos los patrones anteriores y su influencia en la predicción se pondera mediante una función exponencial como exp(-medida_diferencia). Así, las partes más similares de la historia tienen un peso exponencialmente mayor. Puede tomar los precios de los patrones (menos la media) y calcular la distancia euclidiana como medida de la diferencia, o puede tomar la diferencia en las lecturas de los vectores de algunos índices. La precisión de la predicción fue ligeramente superior a la del método BS, un 52% en lugar de un 50,5% (no recuerdo exactamente).

Mi última idea fue utilizar los métodos que utiliza nuestro cerebro para transformar la información. He descrito estos métodos en detalle en el punto 5. La esencia de uno de ellos es encontrar patrones (o funciones base) en los que se puedan descomponer los precios actuales. Como

Precio[i] = suma (a[k]*función[i][k], k=1...L) i=1...N

Por supuesto, podemos tomar las funciones trigonométricas en lugar de buscar las bases y utilizar la transformada de Fourier. Pero es más perspectivo encontrar las funciones de base en la historia utilizando el método de codificación enrarecida. La esencia de este método consiste en el ajuste del mencionado modelo lineal en los precios en varios intervalos de historia de longitud N por parte de la CNA de tal manera que el error especificado se logre en el menor número de coeficientes no nulos a[k], k=1...L. Lo ideal es que cada vector de precios históricos contenga sólo una función base (o patrón). En cada paso se optimizan los coeficientes y las propias funciones. Hay muchos parámetros que no se conocen de antemano. Por ejemplo, la longitud del patrón N, el número de funciones base en el diccionario L, el número de coeficientes no nulos en nuestra descomposición (selecciono 3, ya que cada segmento de precio está formado por la cola del patrón antiguo, el patrón actual y el comienzo del nuevo patrón). Es importante que N*L sea mucho menos que la longitud total de la historia, de lo contrario el algoritmo encontrará patrones iguales a los propios precios pasados y entonces tendremos algo parecido al método de los vecinos más cercanos. Por ejemplo, el diccionario de 64 patrones de 64 barras cada uno para el EURUSD H1 entrenado utilizando el método de codificación enrarecida aplicado a la historia de 1999-2010 (74 barras) tendrá el siguiente aspecto

He observado la siguiente regularidad: cuanto más largo es el patrón y mayor es el número de ellos en el diccionario, mayor es la ganancia en el bactest, lo que puede explicarse por el sobreentrenamiento. Pero en cualquier caso, con diferentes N y L, la prueba de avance se ve charlando alrededor de la ganancia cero. Empieza a frustrarse con los patrones. Aparentemente no son constantes en forex, o en otras palabras, forex no tiene memoria para los patrones - se crean nuevos cada vez.

 

Si está rondando el cero en un lote constante, ya tiene una máquina de imprimir dinero en su haber... Lotes - MM - atornillan para eliminar las series no rentables...


En general - cualquier TS que tiene para 1000 o más operaciones, la pérdida no más de (spread * 1,5 * número de operaciones) es muy potencialmente rentable sistema... (con un lote constante, si se muestra este resultado)

 
Aleksander:

Si está rondando el cero en un lote constante, ya tiene una máquina de imprimir dinero en su haber... Lotes - MM - tornillo en para eliminar las series no rentables...


En general - cualquier TS que tiene para 1000 o más operaciones, la pérdida no más de (spread * 1,5 * número de operaciones) es muy potencialmente rentable sistema... (con un lote fijo, si eso es lo que parece)


Hay MM con stop-losses y aumento de volumen proporcional. ¿Estás hablando de una martingala o algo así?

Razón de la queja: