StrategyQuant X: la mejor herramienta para generar sistemas de trading
La tecnología avanza a pasos agigantados y el mundo del trading y de las inversiones no se iba a quedar atrás.
Se abrió el mundo de la bolsa a todo el mundo pudiendo decidir en tiempo real las operaciones a realizar en los mercados. Seguidamente se abrió la veda de la Inteligencia Artificial y la creación de robots de trading. Ahora, ya existen herramientas que incluso nos buscan las estrategias que debemos poner a funcionar.
Si ya sabes de qué te hablo, antes de entrar en el ajo, te dejo el link para nuestra formación GRATUITA sobre Trading Algorítmico y verás toda la información:
Tabla de Contenido
¿Qué es StrategyQuant?
Mucha gente gasta una gran cantidad de dinero y tiempo en aprender una sola estrategia de trading para poderla operar de forma manual corriendo el riesgo de que un día deje de tener una ventaja estadística debido a los cambios de comportamiento de los mercados. O, en su defecto, invierten mucho tiempo en diseñar su propia estrategia y testearla para confirmar que es rentable.
¿Y si te digo que todo ese esfuerzo te lo puede hacer una máquina en 1 milésima de segundo?
StrategyQuant X (SQX) es un software de generación automática de sistemas de trading, también automatizados. No sólo se utiliza para la generación y búsqueda, sino también para realizar tests de robustez, buscar optimizaciones, análisis de porfolios, etc.
Centrándonos en el diseño, o en nuestro caso, la generación, SQX contiene una gran variedad de configuraciones, tales como: diferentes tipos de señales de entradas, todos los tipos de órdenes, segmentar el backtest por período de validación y período fuera de validación, generación aleatoria y genética de sistemas, etc.
Una vez configuras todos tus comportamientos, indicadores, money management y demás, SQX empieza a crear estrategias en combinación de todos los parámetros habilitados y, a medida que las va creando, las backtestea por ti. Te dejo un vídeo demostrativo de lo que es SQX:
No te asustes si ves muchos parámetros, configuraciones e indicadores, no es complicando de aprender y más si quieres formar parte de nuestra formación de Trading Cuantitativo con SQX.
Generación de Estrategias en StrategyQuant
Aquí viene una de las partes más espectaculares de esta herramienta: la generación. Cuando hablo de generación me refiero a: diseño, backtesting y filtraje.
Te pondré un ejemplo: estrategia EURUSD timeframe H1 con entrada y salida basada en indicadores y tanto SL como TP con pips fijos, se backtestea a 8 años de histórico y, si cumple con los filtros que hemos configurado previamente, la almacenamos como estrategia generada válida.
Todo esto lo hace en cuestión de milisegundos. No es coña.
Generación Aleatoria
Existen dos tipos de generación de sistemas y el más común es la generación aleatoria. Tal como el nombre indica, se van generando estrategias de forma aleatoria en base a los comportamientos e indicadores que hemos ido seleccionando para tenerse en cuenta. Cuando una estrategia es montada y backtesteada, si cumple son los requisitos, se guarda.
StrategyQuant tiene esta opción, y las demás herramientas del mercado también, como EA Studio. Sin embargo, no es la vía más rápida de obtener sistemas que se adecuen a nuestras necesidades.
Generación Genética
Esta parte es una de las grandes razones de por qué StrategyQuant, para mi, es la herramienta más potente del mercado de generación automática de sistemas de trading.
Parte de la misma base: se recogen una serie de estrategias creadas desde la aleatoriedad hasta un cierto número determinado habiendo pasado por unos filtros iniciales (llamado “initial population”). Una vez tenemos esas estrategias “buenas”, empiezan a crear hijos entre ellos. Me refiero: se intercambian partes de sus estrategias para generar nuevas estrategias.
Un ejemplo: una estrategia da señal de entrada en base a Bollinger y una EMA, y otra estrategia da entrada en base a RSI y MACD, entonces se puede generar una estrategia que dé señal de entrada con Bollinger y RSI.
A eso se le llama generación genética, porque las estrategias base empiezan a crear generaciones de estrategias (hijas) que tienen características de sus creadoras. Así hasta que llega a cierta generación, que vuelve a empezar desde cero.
¿Cuál de las dos es mejor? Para mí es la generación genética porque llegas antes a tener estrategias buenas en base a tus criterios. La posibilidad de que te dé la mejor estrategia posible es igual en las dos generaciones, pero prefiero trabajar con varias estrategias buenas lo antes posible que esperar, puede que años, a que aleatoriamente me surja una muy muy buena.
Tests de Robustez
Ésta es la fase de “pasar el algodón”. Un sistema de trading que muestre unos resultados positivos sacados de un backtesting, salvo que sepas seguro que viene de una estrategia con ventaja estadística, no te asegura que de ahora en adelante siga sacando esos resultados.
Debemos identificar si esos sistemas generados provienen de estrategias que realmente tienen una ventaja estadística en el mercado o bien ha sido una simple combinación de parámetros e indicadores que en el pasado devuelven resultados buenos por casualidad.
Para ello debemos de pasar una serie de test de robustez con el objetivo de llevar ese sistema en condiciones extremas y ver su comportamiento. Existen muchos tipos de test de robustez, pero en este artículo explicaré los 3 más representativos.
Higer Backtest Precision
Es el retesteo de una estrategia pero con datos al mínimo nivel de temporalidad. Cuando se generan sistemas, por ejemplo, con temporalidad H1, realmente lo que hace el generador es coger los datos de ese activo con velas a H1 sin mirar el comportamiento del precio dentro de cada hora. Es decir, sólo mira los cierres de cada hora.
Pueden haber discrepancias cuando pones ese sistema en tiempo real, ya que cuando analizas una vela pasada, no sabes si el precio primero llegó al máximo de la vela para después realizar el mínimo o si fue al revés. Para ello se vuelven a testear aquellas estrategias, que de primeras ya pasaron unos filtros, con datos de velas a M1, es decir, reconstruir la vela H1 analizando cada vela de M1 dentro de ella.
Ya os avanzo que los números cambian drásticamente después de pasar este test de robustez.
Montecarlo – Trades Manipulation
Se trata de cambiar, quitar o modificar parte de los trades que componen un sistema de trading automatizado. La intención de este tipo de test es evaluar si el sistema depende de un porcentaje bajo de trades para ser resntable o bien es fruto de la gran mayoría de ellos.
Te recoge unas estadísticas de todas las simulaciones que hace, por ejemplo, quitando un 10% de los trades, o bien reordenando los trades de forma aleatoria para ver cómo varia el Drawdown (mayor caída de beneficios).
Montecarlo – Retest Methods
En este caso se pretende llevar nuestro sistema de trading a situaciones extremas del mercado constantemente. Por ejemplo: cambiar un 10% el valor de los datos históricos, aumentar la mínima distancia de entrada, aumentar el spread, el slippage, o también cambiar los parámetros de los indicadores que utiliza el sistema.
La manera de cómo recoge las estadísticas es la misma que con el test anterior de Montecarlo. Te agrupa, por un orden basado en un indicador que tú le indicas como el Net Profit (beneficios), diferentes rangos de porcentajes donde se sitúan cada sistema, siendo el 100% el peor de los casos. A partir de aquí tu pones los filtros.
Uno que me gusta poner, por lo general, es que la ganancia neta que tiene el sistema que está situado en el 50% de todas las simulaciones, no sea mayor que el doble del sistema situado en el 80%. Se entiende que es muy muy muy improbable de que el sistema origen, en el futuro, no supere límites como el que aparece en el sistema situado en el 95%.
Aparte de estos 3 tipos de tests de robustez, existen muchos más como probar los sistemas en otros mercados. No es necesario que un sistema deba de pasar por todos los tests, pero sí, como mínimo, los tres que hemos comentado.
Optimización
Ya llegamos al último paso para poder decidir si elegimos un sistema automatizado de trading para nuestro porfolio o no. El objetivo de este paso no es el de optimizar lo mejor posible nuestro sistema para que nos arroje los resultados más “vistosos”, sino ver una gran cantidad de variantes (optimizaciones) de nuestro sistema original y coger aquella configuración más segura.
Yendo al nivel más técnico: una estrategia está formada por la combinación de indicadores o comportamientos de indicadores. A estos indicadores / comportamientos van asociados unos parámetros, por ejemplo, la media de 54 va bajando. Este 54 no es casualidad, viene de toda la generación de esa estrategia pasando por unos test de robustez. En esta estrategia se detectó que la bajada de la media de 54 períodos tiene una ventaja estadística en el mercado al cual opera.
Sin embargo, es posible que la media de 53 períodos vaya mejor, o la de 55. Entonces SQX, en el módulo de optimización, irá a probar miles y miles de combinaciones de parámetros (los indicadores utilizados son fijos en esta fase ya) y evaluará cuál es la que mejor resultados da. Pero la cosa no termina aquí.
Walk Forward Matrix
Este proceso es muy clave, es quien nos dirá si podemos utilizar una optimización de una estrategia generada o no. Sobre-optimizar sería coger la combinación que mejor va en los últimos, por ejemplo, 8 años. Eso no sería correcto ya que no tienes garantías de que la curva de tu capital siga en el futuro igual que en el pasado.
El truco está en que debemos de ir cambiando esos parámetros cada cierto tiempo. ¿Y cómo lo puedo averiguar? Con el test de optimización de Walk Forward Matrix.
Explicar paso a paso y cada concepto de este test, nos lleva todo un módulo de nuestra formación de Trading Cuantitativo pero lo intentaré explicar de forma general para que entiendas el potencial.
Nuestro principal objetivo es predecir lo que va a pasar, o más bien, aumentar las probabilidades de lo que suceda en el futuro próximo, sea lo más parecido a lo que ha pasado históricamente. Entonces, vamos a hacer mini simulaciones dentro de este período histórico de 8 años. Vamos a hacer 5 trozos en el tiempo, por ejemplo, de 400 días cada uno y vamos a coger la mejor combinación de parámetros posible únicamente teniendo en cuenta esos 400 días en cada trozo. Seguidamente, probamos esa misma configuración en los siguientes 100 días (un 25% del período que hemos sacado la configuración) para ver sus resultados. Al período de 400 días se le llama In Sample (IS – en muestra de validación) y en el período de 100 días se le llama Out Of Sample (OOS – fuera de muestra de validación).
Cuando tenemos los resultados de esos 5 trozos probando la configuración sacada de sus IS en los OOS, le pasamos unos filtros de aceptación como: 4 de los 5 trozos (llamémosles “run” en lugar de trozo) sus respectivos OOS dan un beneficio positivo. Y unos cuantos más filtros. Si pasan esos filtros, la cajita en la imagen aparecerá en verde para 5 runs (trozos) y el 25% de OOS. Si te fijas bien, es una matriz de Runs y % de OOS con el que tira simulaciones para cada combinación. Y finalmente nosotros cogemos la configuración de parámetros que toque en el último Run de: la intersección de Runs y %OOS que sea verde y tenga más verdes a sus lados.
¿Por qué? Porque el mercado es cambiante, y si cambia ligeramente justo en el futuro inmediato, tiene altas probabilidades de que sea como las cajitas verdes de al lado y nuestra estrategia seguirá siendo robusta y rentable. No buscamos la mejor optimización sino la optimización más segura.
Validación de sistemas
Una vez tenemos la estrategia que se ha generado pasando unos filtros de aceptación, ha sufrido unos tests de robustez y hemos podido coger una optimización buena, ya la tenemos lista para ser exportada a la plataforma de trading. En nuestro caso utilizamos Metatrader 4 y Metatrader 5. Allí probaremos que el Expert Advisor funciona correctamente, tirando un backtest, y la daremos por buena.
A partir de aquí, yo recomiendo que se vaya a buscar un porfolio diversificado de sistemas automatizados de trading para no depender sólo de un robot. Ya que un robot puede estar meses y meses sin ganar ni perder. Buscamos rentabilidad al menor riesgo posible, no buscamos pelotazos. Así que deberás repetir el mismo proceso para tantos sistemas como quieras en tu porfolio.
Conclusión
Lo que acabas de leer es una metodología muy simplificada para que te hagas una idea de que generar un sistema automatizado de trading no sólo es darle a un botón y esperar a que gane dinero. Hay un trabajo detrás cuyo explico de forma detallada en nuestra Academia de Trading Cuantitativo.
Sin embargo, pienso que esta oportunidad de poder utilizar herramientas es una ventaja superlativa para aumentar tu éxito en los mercados. Es que no sólo te sacan el sistema ya codificado sino que también hace una búsqueda que ningún humano puede realizar.
Lo más interesante de todo esto es que, personalmente, estoy constantemente mejorando la metodología y también absorbiendo las nuevas funcionalidades que estas herramientas van sacando. Es muy importante no quedarse estancado e ir evolucionando aquí también.
Nada más por mi parte, espero que te haya arrojado un poco de luz en este nuevo mundo de hacer trading en el que cada vez más hay traders que se transforman para aprovechar las nuevas tecnologías que nos van llegando en este sector.
Si te ha gustado lo que has visto y te ha despertado curiosidad, aquí te dejo el enlace a mi formación express gratuita para que puedas ver con tus propios ojos cómo creo porfolios de sistemas y sus resultados:
Para cualquier duda me tienes en Instagram, Telegram o bien enviando un correo electrónico a admin@hobbiecode.com.
Un afectuoso saludo. Ramón.
Muy interesante, pero Sirve para Cripto Monedas ? Puedo evaluar una estrategia en trading View y despues venir aqui a re evaluarla , para confirmar. Se supone que esta plataforma es años luz mejor, pero se puede…..yo creo que no. Estoy en lo cierto ?
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me?
Can you be more specific about the content of your article? After reading it, I still have some doubts. Hope you can help me.
Your point of view caught my eye and was very interesting. Thanks. I have a question for you.
Thank you for your sharing. I am worried that I lack creative ideas. It is your article that makes me full of hope. Thank you. But, I have a question, can you help me? https://accounts.binance.com/bn/register?ref=UM6SMJM3
Your point of view caught my eye and was very interesting. Thanks. I have a question for you. https://accounts.binance.com/el/register?ref=IQY5TET4
I don’t think the title of your article matches the content lol. Just kidding, mainly because I had some doubts after reading the article.
Your article helped me a lot, is there any more related content? Thanks!
Thanks for sharing. I read many of your blog posts, cool, your blog is very good.