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

 
Alexey Burnakov:

No tiene ni idea de cómo funciona su modelo a largo plazo: no hay ninguna prueba de avance grande ni de avance a pie. Su modelo puede ser un conjunto de ruidos aprendidos que usted confundió con señales en unas cuantas fotos bien elegidas.

Le sugiero que reconsidere su planteamiento y que haga pruebas exhaustivas primero. Verá valles y montañas y tal vez, pero es poco probable, que supere un poco la expectativa de madurez cero. Y todo esto se puede hacer antes de empezar a perder dinero real.

Sobre todo me sorprende su confianza en mi sistema. Bueno, vamos a ver al final de la semana te voy a mostrar cómo funciona ... ¿ok?
 
Mihail Marchukajtes:
Lo que más sorprende es su confianza en mi sistema. Bueno, veamos al final de la semana, te mostraré cómo funciona... ¿ok?

No lo hagas. Una semana más, una semana menos. No es un indicador.

No estoy 100% seguro de su sistema. Hay una constatación: no se sabe cómo va a funcionar durante un periodo más o menos largo. Este es un hilo para compartir experiencias. Según mi experiencia, tus resultados hasta ahora pueden ser una casualidad o un patrón, pero una casualidad con una probabilidad mucho mayor. Y yo te estoy dando consejos.

 

¡Hola!

Estoy intentando ejecutar una red convolucional del paquete mxnethttp://tjo-en.hatenablog.com/entry/2016/03/30/233848 pero no me queda muy claro cómo ejecutarla con "nuestros" datos, concretamente en forma de cadenas, ya que la red trabaja sobre todo con imágenes y los datos se toman en forma de array multidimensional con matrices, en fin, si alguien lo entiende y sabe cómo ejecutarlo, le agradecería mucho un ejemplo de la red con, por ejemplo, "iris"

{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
{mxnet} R package from MXnet, an intuitive Deep Learning framework including CNN & RNN - Data Scientist TJO in Tokyo
  • 2016.03.30
  • tjo-en.hatenablog.com
Actually I've known about MXnet for weeks as one of the most popular library / packages in Kaggler, but just recently I heard bug fix has been almost done and some friends say the latest version looks stable, so at last I installed it. Convolutional Neural Network (CNN) I believe almost all readers of this blog already know well about Deep...
 
Mihail Marchukajtes:
De ninguna manera... Hay que vigilar el número de errores sobre el número total, y si los errores aumentan, hay que volver a entrenar la red. Por ejemplo, si tiene 4 errores de 20 señales, está bien, si el número de errores aumenta, hay que volver a entrenar la red. Otra cuestión que se plantea es... qué modelo elegir para que se pueda confiar en 10 señales. Bueno, Yuri lo describió un poco. Vamos a elegir el modelo que muestra el máximo nivel de generalización tanto de los modelos binarios como de los trinarios y empezaremos a trabajar con él. Y para aumentar cualitativamente el tiempo de ejecución de una estrategia, debemos aumentar el intervalo entrenable, y para aumentarlo necesitamos aumentar el número de entradas. Es decir, 10 entradas pueden serrar 100 señales a cero. 15 entradas pueden manejar 225 entradas, que son 6 semanas de señales, por lo que el tiempo de la red fuera de la muestra será más largo, no una semana, sino dos semanas. Con una tasa de error adecuada. No es posible trabajar sin errores. Me gustaría, pero no es posible. Lo principal es reducir la influencia de este error en su depósito y está en el negocio).

Por favor, tenga cuidado con libVMR o jPredictor, ya que muestran un rendimiento inflado en forex. En el caso de Forex, es muy importante realizar pruebas con datos ajenos a la muestra de entrenamiento. libVMR o jPredictor toma los datos de un archivo fuente, selecciona aleatoriamente la mitad de las filas para entrenar un modelo, luego construye un modelo con esos datos y lo prueba con las filas restantes. Esto podría ser adecuado para evaluar el reconocimiento de imágenes, o de texto, o cualquier otra tarea sencilla. Pero no será bueno para el mercado de divisas.

Haz un experimento sencillo: tienes como 200 líneas en el archivo de entrenamiento y tienes un rango de predicción del 30%. Así que divide el archivo en dos: el primer archivo tendrá 150 primeras líneas, el segundo archivo tendrá las 50 últimas líneas restantes. Entrene jPredictor en el nuevo archivo con 150 líneas. Luego use "use el modelo" para hacer una predicción para las 50 líneas restantes (tendrá que introducir los datos uno por uno, le llevará algún tiempo). Si contamos el número de respuestas correctas, no será en absoluto el 90%, creo que rondará el 60% en el mejor de los casos.
Sigues en beneficios sólo por tu indicador principal, parece que es más o menos rentable tal y como es, y gracias al filtro adicional de la neurona sólo lo mejoras ligeramente.

 
Alexey Burnakov:

No lo hagas. Una semana más, una semana menos. No es un indicador.

No estoy 100% seguro de su sistema. Hay una constatación: no se sabe cómo va a funcionar durante un periodo más o menos largo. Este es un hilo para compartir experiencias. Mi experiencia me dice que tus resultados hasta ahora pueden ser una casualidad o un patrón, pero una casualidad con una probabilidad mucho mayor. Y yo te estoy dando consejos.

Así que quieres un grial. ¿Has entrenado una vez y vas a estar cortando cupones el resto de tu vida? ¿Es así? Me sorprende, ¿en qué año ha estado en el mercado? Si no es un secreto...... Sabes que el mercado cambia constantemente y después de un tiempo el modelo simplemente desaparece. Si quieres que el modelo funcione durante mucho tiempo, utiliza un gráfico mensual, en este caso es la mejor opción. Y así, para 5 minutos a la semana es un resultado normal, entonces estás sobreentrenando ..... Y si trabajas durante quince días, entonces es genial....
 
Dr.Trader:

Por favor, tenga cuidado con libVMR o jPredictor, ya que muestran un rendimiento inflado en forex. En el caso de Forex, es muy importante realizar pruebas con datos ajenos a la muestra de entrenamiento. libVMR o jPredictor toma los datos de un archivo fuente, selecciona aleatoriamente la mitad de las filas para entrenar un modelo, luego construye un modelo con esos datos y lo prueba con las filas restantes. Esto podría ser adecuado para evaluar el reconocimiento de imágenes, o de texto, o cualquier otra tarea sencilla. Pero no funcionará en forex.

Haz un experimento sencillo: creo que tienes 200 líneas en el archivo de entrenamiento y el rango de predicción es del 30%. Así que divide el archivo en dos - el primer archivo tendrá 150 primeras líneas, el segundo archivo tendrá las 50 últimas líneas restantes. Entrene jPredictor en el nuevo archivo con 150 líneas. Luego use "use el modelo" para hacer una predicción para las 50 líneas restantes (tendrá que introducir los datos uno por uno, le llevará algún tiempo). Calcula el número de respuestas correctas, no será para nada el 90%, creo que rondará el 60% en el mejor de los casos.
Sigues teniendo beneficios sólo gracias a tu indicador principal, probablemente sea más o menos rentable de todos modos, y gracias al filtro adicional de la neurona sólo lo mejoras ligeramente.

Simplemente no sabes cómo preparar los datos :-) No tengo ningún rango de predicción, no predigo nada. El 30% es un intervalo de confianza, el intervalo en el que se puede confiar en el modelo, si no en todo el 50%. Es decir, si se ha entrenado durante tres semanas, debería funcionar durante una semana. He estado trabajando con el predictor de Yury durante más de un año y entiendo muchas cosas, así como la forma de preparar los datos, lo que puede (predictor) y lo que simplemente no puede. Puedes enviarme un archivo con tus datos, entrenaré el modelo y verás cómo funciona en el futuro, si quieres, claro...

Y si lo haces, haremos lo siguiente. Tómate una semana de descanso... (esta semana será de prueba, fuera de muestra) Guarde los datos a razón de 10 entradas = 100 registros, para no entrenar durante mucho tiempo. Yo entrenaré el modelo, tú lo aplicas a tu ST, describo preliminarmente el principio de su construcción y muestro el resultado de la última semana, y luego vemos.... ¿Qué te parece?

 
Mihail Marchukajtes:

Es decir, si se ha entrenado durante tres semanas, debe trabajar durante una semana.

Y yo pensaba ¿dónde está el truco? Bueno, no había nadie en el foro que realmente ganara con las artesanías de Reshetov. ¡Pero ahí está! La trampa, por supuesto).
 
Combinador:
Me preguntaba dónde está la trampa. Bueno, todavía no ha habido ningún hombre en el foro que realmente gane dinero con la artesanía de Reshetov. ¡Y aquí está! La trampa, por supuesto ).
Depende de cómo..... Me gustó bastante su obra, tiene un grano racional, pero que no puede utilizarlo correctamente, por lo que nada va a ayudar. Dame un sistema que funcione durante un año sin un solo error y me lo creeré. Todo es una mierda. Me asombran estos vejestorios, como los que preguntan, bueno, a dónde irá el precio, o cuántos puntos ganará esta señal. Eres un ingenuo. El mercado es tal que es imposible conocer el futuro...... Pero no puedes entender todo esto....
 
Mihail Marchukajtes:

Bueno, el ejemplo actual que funciona en la imagen que tengo ahora está hecho a partir de este archivo

¿Cómo se calcula el beneficio de 100 puntos después de la señal?

Por ejemplo, puede tomar n velas en el futuro y medir sus sombras. Si alguna vela tiene una diferencia entre su sombra y el precio actual en la dirección de la señal de al menos 100 puntos, entonces establecemos una. Si la condición no funciona para ninguna de las velas, el resultado es 0.

La segunda variante: hacer un EA con un StopLoss y Takeaway a 100 puntos de la vela actual y abrir operaciones por la señal y memorizar el patrón. Después de cerrar el patrón, lo miramos. Si cierra con ganancias, marcamos este patrón en la muestra con 1, si muestra pérdidas, lo marcamos con cero.

Por supuesto, puede enviarme el código de un script o de un Asesor Experto que recoja datos para el muestreo, por ejemplo, en mi área personal. Lo resolveré por mi cuenta.

Actualmente estoy intentando adaptar jPrediction para no tener que extraer el código y compilarlo en MQL. El EA volcará un patrón en un archivo y la herramienta Java, un clasificador ternario, leerá dichos archivos y si confirma la señal, mostrará una alerta con consejos y una señal sonora. IMHO esto será más fácil?

Más adelante, podemos hacer un modo totalmente automático para que el clasificador y el Asesor Experto puedan intercambiar archivos y abrir automáticamente las operaciones por su cuenta.

 
Yury Reshetov:

Lo que necesito saber, ¿cómo se calcula el beneficio de 100 pips después de la señal?

Por ejemplo, puede tomar n velas en el futuro y medir sus sombras. Si alguna vela tiene una diferencia entre la sombra y el precio actual en la dirección de la señal de por lo menos 100 pips, entonces fije una. Si la condición no funciona para ninguna de las velas, el resultado es 0.

La segunda variante: hacer un EA con un StopLoss y Takeaway a 100 puntos de la vela actual y abrir operaciones por la señal y memorizar el patrón. Una vez cerrada la posición, la miramos. Si cierra con ganancias, marcamos este patrón en la muestra con 1, si muestra pérdidas, lo marcamos con cero.

Por supuesto puedes enviarme en tu mensaje personal el código del script o Expert Advisor que recoge los datos para el muestreo. Lo resolveré por mi cuenta.

Actualmente estoy intentando adaptar jPrediction para no tener que extraer el código y compilarlo en MQL. El EA volcará un patrón en un archivo y la herramienta Java, un clasificador ternario, leerá dichos archivos y si confirma la señal, mostrará una alerta con consejos y una señal sonora. En mi opinión, sería más fácil...

Más adelante, podemos hacer un modo totalmente automático para que el clasificador y el Asesor Experto puedan intercambiar archivos y abrir automáticamente las operaciones por su cuenta.

Es mucho más sencillo que eso. Calculo la diferencia entre el clon de la señal actual y el clon de la señal anterior, si esta diferencia es positiva teniendo en cuenta la dirección de la señal y la positividad de la diferencia es más de 100 pips, entonces la señal anterior es "uno", si es menos - "cero". Lo guardo todo con la ayuda del Loafer, el escrito para neuroshell. Tengo una buena idea para guardar los datos de cualquier indicador en un archivo ksv, por lo que es así..... Yo no uso EAs, opero a mano y pongo modelos en el indicador, por eso no necesito ningún EA. Lo más fácil es mantener el modelo ternario junto con el binario. Por ejemplo, para un modelo binario se añade el prefijo _2 al nombre del archivo, para un modelo ternario _3 y será suficiente..... EN MI OPINIÓN. Todo lo brillante es simple, no hay necesidad de complicar las cosas.

Aquí hay un EA que guarda los datos de cualquier indicador, mira la función de 5 minutos, tengo mis indicadores allí. Sin embargo es todo para MT4, sólo trabajo en él... bye....

Archivos adjuntos: