Curso Gratuito - Trading IA
Cómo la Inteligencia Artificial mejora el Rendimiento del scanner

Hola, estoy haciendo pruebas con la red neuronal y el setup de scanner. Os comento los resultados.
La red la estoy entrenando con un backtest largo (casi tres años), supongo que cuando lo haga para operar haré un entrenamiento con un periodo más corto de tiempo.
Esto son los primeros resultados satisfactorios que obtengo con la IA. El primer gráfico es la curva de balance de la cuenta operando con el scanner sin IA (45 activos).
Se aprecia que es muy volátil y con tendencia descendente.
Las siguientes tres gráficas están hechas con el mismo preriodo de tiempo y mismo algoritmo, pero apoyado por la IA.
Como se ve, la curva va mejorando. Disminuye el drawdown y la pendiente ascendente es cada vez más clara.
En cada ejecución he ido probando con distintas configuraciones de redes neuronales.
Todas las pruebas están hechas con Metatrader 5 y python.
Realmente no sé cómo podría haber hecho esto con Tradestation, la capacidad de importar modelos de redes neuronales en formato ONNX de Metatrader me está facilitando mucho el trabajo. En tradestation, que me corrija Luis si me equivoco, eres tú el encargado de implementar la red neuronal en Easylanguage. Yo llegué a implementar este algoritmo para un número de capas y neuronas indeterminado y flexible, pero me pareció muy complejo para redes grandes y, además, sensible a posibles errores de programación muy difíciles de detectar.
Saludos.
Comentarios
-
No tiene que ver con el fondo del asunto a tratar, pero ¿que riesgo por operacion hay? porque la curva no se mueve mas de 100 euros en todo el historico
1 -
Hola, de momento, el ratio es fijo 1:1. El riesgo también es mínimo, siempre abre la posición con el volumen mínimo del símbolo. En los próximos días incluiré la gestión de riesgo y ya iremos viendo como gestionamos estos dos parámetros.
Hasta este momento me he estado centrando en la exportación de datos y el entrenamiento de la red con el objetivo de mejorar la tasa de operaciones con take profit.
1 -
Te felicito por tus resultados, Manuel!
Y sí, como comentas, en TradeStation debes implementar manualmente la red neuronal… mucho más tedioso.
Perfecto.
Probablemente estemos teniendo en cuenta un riesgo mínimo y un entorno ideal (sin comisiones ni spreads). Cuando operamos cuentas grandes, el entorno tiende a ser ideal. Operando con fracciones de acciones y poco capital, este entorno no es tan ideal.
1 -
Mira, cambiando el riesgo ya se ven otros números. Todavía tengo que hacer pruebas con ratios y riesgos de las operaciones.
1 -
Vaya, qué buena pinta está cogiendo eso, lo que más me gusta es el flotante 😄
1 -
Sería muy interesante, Manuel, que compartieses cuales son tus parámetros de entrada a la red neuronal y cuales son los de salida.
Con esos parámetros de entrada, ¿en qué te basas para determinar que un resultado es mejor o peor?
Te felicito por tus resultados.
🇪🇦
0 -
Genial post.
Ahí va mi pregunta:
Qué criterio seguías para entrar a mercado antes de aplicar la IA y después?
0 -
Hola, los parámetros de entrada de la red son básicamente los dos del setup. No he visto el curso gratuito por lo que no estoy seguro hasta dónde se puede hablar sin desvelar contenido propiedad de Luis.
De todas formas, esta red está todavía en fase de pruebas, no descarto modificar los parámetros.
Los parámetros de salida son simplemente: comprar, vender, no hacer nada.
Saludos.
0 -
Hola, no he operado en real con el setup. Si que he hecho pruebas en demo y los criterios son tal cual los indica la descripción del setup.
Para implementarlo con redes neuronales he decidido cambiar alguna de las reglas, pero básicamente son las mimas que describe Luis en los apuntes.
0 -
Explico un poco cómo ha sido la integración de la IA con el setup de Luis.
Aprovechado que hoy es el día mundial contra el cáncer de mama, os voy a poner un ejemplo:
Imaginad que tenéis que implementar una red neuronal para hacer un cribado en la población con el fin de detectar posibles síntomas tempranos de un tumor de mama.
Tendría sentido entrenar la red con aquellos parámetros que pueden ser influyentes en el desarrollo de este tipo de tumores, por ejemplo la edad, antecedentes y sexo. No por pasarle el color de pelo o la altura vamos a obtener mejores resultados, al contrario podemos influir negativamente sobre el entrenamiento.
Con esta primera parte vemos que es importante elegir bien y no sobredimensionar el número de parámetros de entrada a la red, esto no es nuevo en este foro Luis lo ha repetido mucho con la predicción de lluvia.
Pero ahora si que creo que hay algo que para mi está siendo algo objeto de estudio, cómo de flexible hay que ser con el setup. Cuanto más flexible seas con tu setup más responsabilidad dejarás a la red neuronal en la detección.
Siguiendo con el ejemplo, imagina que los parámetros que pasas a la red son los tres que he comentado: edad, antecedentes y sexo. Si a la red pasas solo los casos comprendidos entre las dedades 30 - 60 años, antecedentes de un grado de consaguineidad y de sexo mujeres. La red neuronal no va a poder darte la probabilidad de desarrollo de tumores en hombres o en mujeres de 25 años, o aquellas personas que son hijos/hijas de alguien que lo ha tenido. Es necesario acotar la población objetivo, pero sabiendo que estás limitando tu estudio a esos casos.
Esto hace que tu muestra esté sesgada por tu criterio (setup), la red puede funcionar muy bien pero no dará unos resultados óptimos.
En el trading la población puede ser infinita, todas las posibles combinaciones de entradas que puedas imaginar, esto sería inviable pasarlo a una red neuronal para entrenar un modelo, por eso hay que seguir ciertas reglas (setup) para seleccionar la población (entradas).
Bueno espero haberme explicado, para pasar a la IA he intentado dar más responsabilidad a la red, dejando los parámetros del setup como los describe Luis pero dándoles libertad para que la red pueda discriminar entre un mayor número de muestras.
Como he dicho esto está en estudio y son resultados tempranos.
Toda aportación será bien recibida.
Saludos.
1 -
Excelente Manuel, has entendido a la perfección esta forma de trabajar.
Te felicito, seguimos con ello!
Agradezco enmormemente y creo que lo hago en nombre de todos los que leen este foro todos los aportes que haces. Gracias a personas como tú (y principalmente a ti) el trabajo que he hecho con este foro (que no es poco aunque pueda parecerlo) tiene sentido.
0 -
Hola, continuando con este asunto, he entrenado la red con un año de operaciones y después he ejecutado una prueba en otros periodos de tiempo.
Aquí hay una imagen con la curva de balance desde enero de 2020 hasta la actualidad, a ver si adivináis en qué periodo de tiempo se entrenó la red.
Suponog que lo veis claro, la meta ahora es que haciendo esta prueba no podamos saber dónde está entrenada la red porque la curva no tenga estos cambios de pendiente.
Esto se está produciendo porque la red no generaliza bien... seguiremos estudiando.
1 -
Muchas gracias por compartir, Manuel. Me gustaría saber a qué te refieres exactamente cuando dices que "no generaliza bien". No sé si es por no haber escogido bien los parámetros de entrenamiento o por otros factores. Yo lo que veo desde mi inexperiencia es el efecto de sobreoptimización, como si hubieras optimizado para un periodo concreto y lógicamente ese periodo va muy bien pero el resto peta.
0 -
Hola, decimos que la red no generaliza bien cuando obtiene buenos resultados para el conjunto de entrenamiento, pero malos para otros.
Los motivos pueden ser varios, una red mal diseñada, pocos ejemplos o, como dices, puede que los parámetros de entrada no sean los adecuados.
Ya tengo algunas pruebas con redes que generalizan bastante mejor sin cambiar los parámetros y manteniendo el número de ejemplos, por lo que creo que es el diseño de la red lo que necesita una vuelta.
Saludos.
0 -
Muy interesante Manuel, cualquier conclusión que saques y conocimiento que puedas aportar respecto a tus pruebas serán más que bienvenidas. Yo aún no estoy a ese nivel, pero vendrá muy bien esa información para cuando llegue ahí. Supongo que otros compañeros estarán más o menos por donde tú y podrán aprovecharlo mejor ahora.
Mucho ánimo, se ve que vas por muy buen camino trabajando de forma metódica y eso te va a dar seguro, excelentes resultados.
Un saludo😉
0 -
Hola, ya llevo tiempo sin escribir pero continúo con la red neuronal.
Dejo aquí una reflexión/pregunta sobre el entrenamiento.
Cuando entrenamos la red pasamos un conjunto de ejemplos que no son más que operaciones etiquetadas con un valor que refleja el éxito o fracaso de la operación. Podría ser un valor numérico o una etiqueta.
Dependiendo de cómo se plantee la arquitectura de la red nos enfrentamos a distintos problemas, pero la cuestión creo que podría ser válida para cualquier tipo de enfoque.
¿Tienen el mismo peso todos los ejemplos que se pasan al entrenamiento? Es decir, todas las operaciones ¿deben influir de la misma forma en el resultado de la red?
Por ejemplo, una operación que pierde 15 puntos ¿es igual de importante que una que pierde 5?.
¿Creéis que es importante trasladar estos datos al entrenamiento de la red?
Saludos.
0 -
Seguro que la respuesta nos la darás tú más adelante.
Yo sin saber, te diría que sí debe tener el mismo peso si la estás teniendo en cuenta. Otra cosa sería que discriminaras determinadas operaciones para centrarte en otras pero en ese caso tendrías que buscar no hacer las que estás discriminando ya fuera modificando determinados parámetros o umbrales o no sé. Desde mi punto de vista, dar más peso a unas operaciones que a otras crearía algo así como una sobreoptimización de las operaciones de más peso en detrimento de las de menos peso. Ya te digo que esto es sólo un pensamiento y que no está basado en nada.
Ya nos comentarás qué conclusiones se desprenden de tus pruebas. Como siempre estaré muy atento a tus aportes.
Mucha fortuna.
0 -
Yo siempre me he preguntado, y cuando llegue a la parte de IA trataré de comprobarlo, si hay que dar más peso a las operaciones más recientes, partiendo de la premisa de que el mercado cambia, va evolucionando.
Quizá otra solución sea solo entrenarlo con X semanas anteriores.2 -
Tiene lógica, lo probaré y te lo comento.
Siento decirte que no tengo la respuesta, todas la cosas que pongo por aquí son estudios que hago y los pongo para comentarlos. Supongo que no hay una respuesta válida, todo depende del enfoque que le des a la IA.
De todas formas iremos comentándolo.
1 -
La clave está en los parámetros en los que vamos a fijarnos.
El ejemplo de siempre:
Tengo dos algoritmos para predecir si lloverá. Uno observa el cielo nublado y la humendad. El otro observa el precio de la gasolina. ¿Cuál tendrá mayor éxito? Quizás el de la gasolina tenga más éxito de casualidad en un backtest, pero a futuro, ¿Cuál tendrá mejores resultados?
Perfecto, Manuel
Es importante trasladar los datos que veamos más relevantes.
¿Para nosotros es relevante perder 15 puntos vs 5? Pues no, porque podemos gestionar el apalancamiento que utilizamos y ajustarlo para que los 15 puntos valgan lo mismo que los 5. Entonces, ¿Para qué observar esto?
Exacto.
1 -
Gracias Luis.
En estos momentos estoy explorando todas las opciones. Aunque obtengo resultados al entrenar la IA, no consigo que generalice, aprende el periodo que le paso para entrenar pero al aplicarla a otro periodo no funciona bien.
Si pudieses añadir algo sobre la IA en la formación, alguna sección explicando algo sobre las arquitecturas, parámetros, transformaciones, etc. que crees que pueden ser útiles, te lo agradecería.
Saludos.
1 -
Yo he encontrado un artículo interesante que os dejo por aquí por si os es de utilidad
1 -
Hola, como dice Luis, hay que fijarse en lo importante. Esto es algo que parece fácil, pero que cuesta mucha práctica hacer bien. Los desarrolladores de las redes neuronales de tipo Transformer, que tanto están dando que hablar se basaron justamente en este principio: lo único que necesitas en atención (poner el foco en lo importante).
Podéis decirme ¿qué es para vosotros lo importante en el setup de Scanner?
0 -
Hola, sigo con este hilo. He cambiado totalmente los parámetros y la arquitectura de la red neuronal. Los datos que estaba consiguiendo no eran buenos, la red aprendía del periodo que le pasaba para el entrenamiento pero cuando ponías a trabajar el algortimo con datos fuera de los utilizados para el entrenamiento no era rentable.
Ahora parece que generaliza mejor y voy a ir haciendo pruebas más cortas, voy a empezar a entrenar la red con los 365 días anteriores a la semana de prueba.
- En el primer ejemplo que he hecho ha funcionado muy bien, el entrenamiento ha sido con los datos del año compelto de 2022. La prueba ha sido con la primera semana de 2023 y al tasa de acierto ha sido superior al 92%, 13 operaciones de las cuales 12 han sido rentables.
- Sin volver a entrenar la red, hago la prueba en la semana del 9 al 15 de enero y se obtiene una tasa de acierto del 50% (6 operaciones rentables y 6 no rentables), sigue siendo rentable en conjunto (4.25% de rentabilidad).
- Tercera semana sin entrenar la red: 77,78% de acierto (7 operaciones rentables, 2 no rentables) 4.2 de rentabilidad.
- Cuarta semana sin entrenar la red: 100% de acierto (8 operaciones rentables).
Ahora entreno la red antes con los datos de un año antes:
- La segunda semana de enero: tasa de acierto de 66.67% (6 operaciones rentables y 3 no rentables).
- Tercera semana con entrenamiento previo: tasa de acierto 77.78% (9 rentables y 2 no rentables) con 4.88 de rentabilidad.
- Cuarta semana con entrenamiento previo de la red, 100% de acierto (8 operaciones rentables).
Todas las pruebas son factor 1:1 y con riesgo de 1% del capital.
Son las primeras pruebas que hago con este sistema y todavía me queda mucho, pero parece que esta red generaliza mejor que la anterior.
1 -
Son las primeras pruebas que hago con este sistema y todavía me queda mucho, pero parece que esta red generaliza mejor que la anterior.
Y cuando crees que estara listo, como saber cuando parar ,
hombre supongo que cuando deje de mejorar los resultados o algo asi
Y otra cosita, esto es del scanner, del algoritmo de scalping ya lo tienes implementado la IA o paraste a medias
0
Categorías
- Todas las Categorías
- 19 Presentaciones
- 46 Nuestros sistemas (Curso gratuito)
- 70 Operativa y Sistemas de trading
- 44 Inversiones
- 12 Inteligencia Artificial y Optimización de Algoritmos
- 63 Plataformas
- 27 Programación e Inteligencia Artificial
- 21 Brokers
- 11 Bancos
- 31 Pruebas de fondeo
- 8 Psicología y Trading
- 6 Fiscalidad
- Emails
- 88 Otros temas