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

 
Aleksey Vyazmikin:

Esto es correcto, pero si se eliminan las filas que ya son abundantes en hojas, habrá un poco menos de ellas (clase "0"), y la calidad no debería bajar, mientras que los valores relativos de "1" se harán más grandes, y así el modelo podrá dar cuenta de esas variantes de hojas en la búsqueda, lo que antes no era estadísticamente correcto.

Otra opción es eliminar las hojas únicas, ya que pueden interferir en el aprendizaje.

Si hay muchas líneas similares, significa que la situación se repite a menudo. Si se eliminan, por ejemplo, la clase 0, y se empieza a activar una hoja con la clase 1 en una operación de carrera, entonces, si el patrón no cambia, se obtendrá de nuevo un montón de 0 en lugar del 1 previsto. Y sufrir pérdidas. ¿Lo necesitas?

El modus operandi sólo puede predecir en el supuesto de que el patrón se mantendrá y actuará como lo ha hecho en el pasado. Si se eliminan los patrones de la formación, se obtendrá un

 
Aleksey Nikolayev:

Quizá sea más fácil explicarlo con un ejemplo de aplicación.

punto 1) - comprobación de la hipótesis de las fluctuaciones diurnas de persistencia-antipersistencia. Es una comprobación de la propensión del precio a continuar o viceversa - a cambiar su dirección dependiendo de la hora del día. Para ello es necesario conocer la correlación.

Puntos 2) y 3) - probar la hipótesis de que las reversiones de precios "ocurren por horas" y es mejor hacerlo en el momento "adecuado".

Punto 3) - búsqueda de los momentos planos (de moda) de la hora del día mediante el estudio de la distribución empírica de las longitudes del zigzag.

1) ¿Correlación entre qué y qué?

 
Valeriy Yastremskiy:

Entiendo lo del día, estoy de acuerdo. La pregunta es sobre el día de la semana. El tiempo dentro del periodo de promediación, días, no está inicialmente vinculado al día de la semana. Se puede detectar la repetibilidad intra-semanal, teniendo en cuenta la hora del día, vinculándola inicialmente al día de la semana. Sólo tiene un vínculo con la hora del día del mes.

Por supuesto, podríamos hacer una analogía con los minutos intradiarios (por ejemplo) con periodos de cinco minutos dentro de la semana, pero en ese caso tenemos que separar la periodicidad puramente semanal de la heredada de la periodicidad diaria, así como de los efectos de las noticias y otras no estacionariedades. De todos modos, no estoy tan seguro de que la estacionalidad semanal sea tan pronunciada.

 
elibrarius:

1) ¿Correlación entre qué y qué?

Incrementos adyacentes.

 
Aleksey Nikolayev:

Podríamos, por supuesto, hacer una analogía con los minutos intradiarios (por ejemplo) con periodos intra-semanales de cinco minutos, pero entonces tendríamos que separar la periodicidad puramente semanal de la periodicidad diaria heredada, así como de los efectos de las noticias y otras no estacionariedades. De todos modos, no estoy tan seguro de la misma pronunciada estacionalidad semanal.

Aparentemente estoy siendo obtuso. No considero el promedio semanal. ¿Cómo se obtiene la respuesta, un evento periódico todos los días a las 9 de la mañana, o cada tercer, quinto y décimo día del mes, o todos los miércoles a las 9 de la mañana?

 
Valeriy Yastremskiy:

Aparentemente estoy siendo obtuso. No considero el promedio semanal. ¿Cómo se obtiene la respuesta, un evento recurrente todos los días a las 9 de la mañana, o cada tercer, quinto y décimo día del mes, o todos los miércoles a las 9 de la mañana?

Creo que te he entendido y he escrito con el ánimo de que un evento que se repite todos los días a las 9 de la mañana sea también un evento que se repita todos los miércoles a las 9 de la mañana. Sería bastante difícil aislar los eventos que tienen un período REALMENTE SEMANAL (pero no diurno) debido a la muy brillante periodicidad diurna. Por supuesto, podría estar equivocado, pero todavía no he notado una periodicidad semanal clara, así que no hay forma de detectarla en mi código.

 
elibrarius:

Si hay muchas filas similares, la situación suele repetirse. Si los echas, por ejemplo, la clase 0, y empiezas a activar una hoja con la clase 1 en un rally, si los patrones no cambian, volverás a tener muchos 0 en lugar de los 1 previstos. Y sufrir pérdidas. ¿Lo necesitas?

El modus operandi sólo puede predecir en el supuesto de que el patrón se mantendrá y actuará como lo hizo en el pasado. Al eliminar los patrones del entrenamiento, se obtendrá un

Hay estrategias, estrategias de tendencia que ganan bien con un 40% de precisión, pero los métodos estándar de MO no permiten entrenarlas, volcando la clase "1" a cero si la precisión no es suficiente, y sólo necesito tales divisiones para separar y mejorar, por lo que estoy buscando tales métodos. Por lo demás, el Recall es muy pequeño, ya que consigue 1.

 
Aleksey Nikolayev:

La búsqueda de patrones intradía se ve dificultada por las fluctuaciones de la volatilidad intradía. Tenemos que deshacernos de ellos de alguna manera. Posibles formas:

1) Reajustar los incrementos para tener en cuenta la volatilidad intradía.

2) Cambiar a un nuevo tiempo intradiario, en el que la varianza crece uniformemente.

3) Uso de un patrón en zigzag. Los valores de las rodillas no dependen de las fluctuaciones de la volatilidad. Los tiempos máximos dependen, por supuesto, de la volatilidad (son más frecuentes donde la volatilidad es alta), pero al pasar a un tiempo uniforme estos grupos desaparecen.

eso es en teoría... pero en la práctica no importa cómo se retuerzan las gafas... )

He normalizado la volatilidad de los incrementos, igualando la dispersión. Sólo he perdido información.

 
Aleksey Vyazmikin:

Hay estrategias, estrategias de tendencia que ganan bien con un 40% de precisión, pero los métodos estándar de MO no permiten entrenarlas, dejo la clase "1" a cero si la precisión no es suficiente, y sólo necesito separar y mejorar tales divisiones, así que estoy buscando tales métodos. Por lo demás, el Recall es muy pequeño, de 1.

Si es una tendencia, el TP es grande, pero el SL es pequeño. Por ejemplo, de 500 a 100. Entonces, en el caso del 80% de error habrá un 20% de operaciones exitosas y un 80% de operaciones perdedoras. El saldo será casi nulo. Si el comercio sale con un error del 70%, ya estará en beneficios. Y si encuentras el 50/50, el beneficio será enorme.


¿A qué te refieres con que te han dejado tirado? El 70% de los errores parece que sólo se vierten a la clase 0, ya se puede ganar dinero con el 30% restante de la clase 1.

 
Aleksey Vyazmikin:

Maxim, tengo la sospecha de que el modelo para C++ no se descarga correctamente de CatBoost - ¿puedes compararlo con el modelo para python?

Tengo una discrepancia entre los valores de interpretación del modelo en MQL5 donde los valores se toman del modelo CPP y los valores del modelo binario. El delta es de alrededor de 0,15, que es mucho.

El de python es cpp en un wrapper. Todo funciona bien.

Es decir, se puede guardar tanto en formato python como en cpp. Lo guardo en cpp y luego lo convierto a mql con acciones simples, porque el modelo en sí son varios arrays.