Aprendizaje automático en el trading: teoría, práctica, operaciones y más - página 434

 
Maxim Dmitrievsky:

Como mínimo, tenemos que hacer transformaciones afines de los gráficos, porque los patrones están en diferentes ángulos de inclinación (estructuras autoafines),

es decir, comprimir o estirar la plantilla en altura.... ? - opción interesante. Pero creo que la compresión no debería ser superior al 30-50%, ya que de lo contrario podría intentar buscar patrones en el tiempo volátil de la sesión americana, por ejemplo, por las fluctuaciones aleatorias nocturnas. Tanto allí como allí hay diferentes patrones y diferentes jugadores.
Si tomamos la compresión de estiramiento hasta un 30-50% en el trabajo, el aumento en el número de patrones encontrados probablemente no será muy grande, lo que probablemente no afectará en gran medida a la previsión y por lo tanto puede ser despreciado... Sin embargo, debe ser comprobado.

Y no está nada claro cómo implementar esta compresión en el código de MT sin utilizar productos externos...

buscar en diferentes tf

Me parece que incluso en M1 y M5 ya diferentes patrones. Y no es correcto buscar los mismos patrones en ellos. Los patrones pueden ser similares, pero las razones que causaron esta forma de gráficos serán diferentes.

 
elibrarius:
No veo ninguna otra opción para comparar 2 gráficos de precios. ¿Qué otras opciones hay...?

Supongamos que hay dos matrices de precios, cada una con 5 precios.
la primera es a1,a2,a3,a4,a5
la segunda es b1,b2,b3,b4,b5.

1) El gráfico de precios puede ser desviado, es decir, puede ser colocado horizontalmente a partir de alguna disposición girada. Esto se puede hacer con una regresión lineal - encontrarla, y utilizar la matriz de error en lugar de la serie de precios original. No sé si este paso ayudará a encontrar patrones, ya que no he estudiado su efecto en detalle. Hasta ahora no he utilizado este paso.

2) Es cuestionable llamar a una fila de precios un patrón; tiene que haber una descripción matemática de la forma formada por estos precios. Por ejemplo, podemos encontrar el aumento del precio en cada barra y utilizar estos aumentos como una determinada descripción del patrón.
el primer patrón se obtiene mediante la fórmula a5-a4, a4-a3, a3-a2, a2-a1
el segundo es b5-b4, b4-b3, b3-b2, b2-b1.

3) "similitud" de patrones - ya sea correlación (no lo comprobé yo mismo), o distancia cartesiana por el teorema de Pitágoras (lo comprobé, y funcionó muy bien) -.
sqrt( ((a5-a4)-(b5-b4))^2 + ((a4-a3)-(b4-b3))^2 + ((a3-a2)-(b3-b2))^2 + ((a2-a1)-(b2-b1))^2 )
o algo más, creo que debe haber mejores opciones.

 
elibrarius:

Es decir, encoger o estirar el patrón en altura.... ? - opción interesante. Pero creo que no se debe estirar el patrón en más de un 30-50%, de lo contrario se puede tratar de buscar patrones en el tiempo volátil de la sesión Amer. por ejemplo, por las fluctuaciones nocturnas al azar. Tanto allí como allí hay diferentes patrones y diferentes jugadores.
Si tomamos la compresión de estiramiento hasta un 30-50% en el trabajo, el aumento en el número de patrones encontrados probablemente no será muy grande, lo que probablemente no afectará en gran medida a la previsión y por lo tanto puede ser despreciado... Sin embargo, debe ser comprobado.

Y no está nada claro cómo implementar esta compresión en el código de MT sin utilizar productos externos...

Me parece que incluso en M1 y M5 ya diferentes patrones. Y no es correcto buscar los mismos patrones en ellos. Los patrones pueden ser similares, pero las razones que han generado esa forma de los gráficos serán diferentes.

Para una mejor comprensión es mejor estudiar las propiedades de los fractales. En particular, como ya he escrito, es la escala y la autoafinidad.

Escala, por definición: se forman patrones similares en diferentes intervalos de tiempo. Podemos tomar cotizaciones de 1 minuto y construir un array de TFs sintéticos con un multiplicador dado y utilizar este array para buscar un patrón similar al actual.

Autoafinidad: los patrones son similares, pero nunca exactamente iguales. Este es el principal problema a la hora de seleccionar los criterios de "similitud", la correlación no es adecuada en este caso.

La diferencia se manifiesta más en la pendiente de los patrones (ángulo de inclinación de la línea de regresión) que en su contracción/estiramiento. Estaba construyendo el LR usando el patrón actual, luego tomé citas de otras parcelas y cambié el ángulo de inclinación del LR al ángulo de inclinación del patrón actual y como resultado encontró patrones similares más a menudo. Y al crear una previsión, la curva de previsión se transformó teniendo en cuenta la pendiente de la LR del patrón actual.

Siguiente. La autoafinidad (autosimilaridad) de los fractales tiene otra característica interesante: formamos exactamente los mismos pero más pequeños dentro de un patrón grande. Algoritmo de búsqueda - (por ejemplo) tomamos las últimas 500 barras del timeframe de 1 hora con 10 barras de avance y en el tester recorremos períodos de minutos o 5 minutos y buscamos patrones, similares al patrón de 1 hora. Si lo encontramos, proyectamos las últimas 10 barras de 1 hora en el patrón de 5 minutos - esta es la previsión. Hazlo también, teniendo en cuenta los ángulos de los reglamentos. Así es como lo hice.

Todavía no he hecho la validación cruzada en un grupo de patrones consecutivos, pero parece ser un tema interesante

 
Dr. Trader:

Supongamos que tenemos dos matrices de precios, con 5 precios en cada una
la primera es a1,a2,a3,a4,a5
el segundo es b1,b2,b3,b4,b5

1) El gráfico de precios puede ser desviado, es decir, puede colocarse horizontalmente a partir de alguna disposición girada. Esto se puede hacer con una regresión lineal - encontrarla, y utilizar la matriz de error en lugar de la serie de precios original. No sé si este paso ayudará a encontrar patrones, ya que no he estudiado su efecto en detalle. Hasta ahora, yo no utilizo este paso.

2) Es cuestionable llamar a una fila de precios un patrón; tiene que haber una descripción matemática de la forma formada por estos precios. Por ejemplo, podemos encontrar el aumento del precio en cada barra y utilizar estos aumentos como una determinada descripción del patrón.
el primer patrón se obtiene mediante la fórmula a5-a4, a4-a3, a3-a2, a2-a1
el segundo es b5-b4, b4-b3, b3-b2, b2-b1.

3) "similitud" de los patrones - ya sea la correlación (no lo comprobé yo mismo), o la distancia cartesiana por el teorema de Pitágoras (lo comprobé, y funcionó muy bien) -.
sqrt( ((a5-a4)-(b5-b4))^2 + ((a4-a3)-(b4-b3))^2 + ((a3-a2)-(b3-b2))^2 + ((a2-a1)-(b2-b1))^2 )
o algo más, creo que debe haber mejores opciones.


Me he dado cuenta de una característica interesante: es posible buscar patrones no en los gráficos sino en el indicador RSI. Lo que es interesante, no importa cómo se desvirtúe y rote el gráfico, el RSI basado en él mostrará lo mismo, es decir, no hay necesidad de rotar los gráficos por un ángulo. Pero la salida (previsión) todavía tendrá que ser convertida para tener en cuenta la pendiente de la LR. Además, puedes crear correlaciones cruzadas y otras cosas en los indicadores resultantes.
 

Maxim Dmitrievsky yel Dr. Trader
Parece que has pasado mucho tiempo buscando patrones en la historia, como el indicador que hice.
¿Lo sigue utilizando o ha cambiado a las redes neuronales desde que la búsqueda de patrones no era prometedora? ¿O los resultados de estos enfoques son los mismos y la única diferencia es la velocidad?

 
elibrarius:

Maxim Dmitrievsky yel Dr. Trader
Parece que has pasado mucho tiempo buscando patrones en la historia, como el indicador que hice.
¿Lo sigue utilizando o ha cambiado a las redes neuronales desde que la búsqueda de patrones no era prometedora? ¿O la eficacia de estos enfoques es la misma y la única diferencia es la velocidad?

Dejé de trabajar con patrones porque no me daba el resultado que quería, volveré a ello más adelante. Y es mucho lo que hay que pensar y hacer, que consume tiempo y que no es obvio hasta que lo haces. Antes de eso, mi amigo y yo tuvimos algunos desarrollos de análisis fractal con Weierstrass-Mandelbrot fii, pero allí usamos también la correlación, yo encontré patrones normales sólo a veces. Ahora bien, si soy capaz de utilizar convoluciones o pensar en alguna nueva forma de buscar patrones, volveré... en fin, me he quedado con la correlación, no me vale
 
Maxim Dmitrievsky:
Abandoné mi trabajo con los patrones porque no daba el resultado esperado que quería, volveré a tratar el tema más adelante. Ya retomaré el tema más adelante. Y es mucho lo que hay que pensar y hacer, es laborioso y no es obvio hasta que lo haces. Antes de eso, mi amigo y yo tuvimos algunos desarrollos de análisis fractal con Weierstrass-Mandelbrot fii, pero allí usamos también la correlación, yo encontré patrones normales sólo a veces. Ahora bien, si soy capaz de utilizar convoluciones o pensar en alguna nueva forma de buscar patrones, volveré... en fin, me he quedado con la correlación, no me vale

Aquí, si te interesa, hace 100 años grabé un vídeo de introducción al análisis fractal. Desde mi punto de vista, está directamente relacionado con el análisis de patrones.


 

¿Y en base a qué principio hacen una predicción las NS simples (MLP simples)?

Me parece en la correlación habitual - porque el peso de las conexiones entre las neuronas crece con el número de repeticiones de la señal a lo largo de esta línea cuando la respuesta de la NS coincide, si la línea estaba en + o en - se mantiene alrededor de 0 - y esto es esencialmente un simple promedio. A continuación, utilizando estas ponderaciones, encontramos la similitud de la combinación de entrada de los predictores con la media del periodo de entrenamiento.

 

Todavía no me he rendido, estoy probando diferentes algoritmos para exprimir más beneficios de los patrones.
En comparación con neuronka este enfoque me da más posibilidades, incluso escribí antes que estoy tratando de tener en cuenta la influencia del tiempo (por ejemplo disminuyendo la similitud dependiendo de cuánto tiempo hace que se encontró el patrón similar), además de diferentes trucos. No se puede hacer eso en las neuronas.
Mi neurona nunca podrá aprender a operar con beneficios utilizando sólo los precios. Pero el modelo de patrón sí, así que la elección es obvia :)

Pero se pueden utilizar neuronas en diferentes indicadores. Pero no importa si se trata de una neurona, un bosque o incluso un modelo lineal, todo funcionará si se eligen correctamente los indicadores y el objetivo del entrenamiento.


Por ejemplo, si se trata de patrones, hay que dedicar mucho tiempo a la creación de un método de evaluación de la "similitud" de los patrones y no se encontrará mucha información útil sobre el tema, hay que experimentar mucho.

Y si se trata de indicadores, se necesitará mucho tiempo para la selección de indicadores y para el entrenamiento; la elección y el entrenamiento del modelo (neuronal, de bosque, de refuerzo) no llevarán mucho tiempo.

 
Maxim Dmitrievsky:
Dejé de trabajar con patrones porque no daba el resultado esperado que quería, volveré al tema más adelante. Y es mucho lo que hay que pensar y hacer, lleva mucho tiempo y no es obvio hasta que lo haces. Antes de eso, mi amigo y yo tuvimos algunos desarrollos de análisis fractal con Weierstrass-Mandelbrot fii, pero allí usamos también la correlación, yo encontré patrones normales sólo a veces. Ahora bien, si consigo utilizar la convolución o inventar alguna nueva forma de buscar patrones, volveré... en fin, me he quedado con la correlación, no es suficiente


la única opción es pedir ayuda al mozo de cuadra) él me enseñará cómo debe comerciar un hombre de verdad.... lo importante no son los patrones y la ciencia, sino el valor y la fuerza... y se necesita una barba chechena de verdad... entonces el mercado no se resistirá a un guerrero inflexible y con principios.....

reglas de comercio de estilo hutch..........

Razón de la queja: