Si has leído sobre sistemas de trading habrás escuchado hablar sobre los constructores de estrategias. Lo que hacen estos constructores o builders como StrategyQuant es buscar sistemas en base a unas condiciones que nosotros fijamos.
Imagina que quieres crear una estrategia que sólo compre los lunes en el índice Sp&500. Que opere con un indicador de entrada y otro de salida. A partir de esta simple configuración, hay herramientas con las que automáticamente puedes buscar sistemas o estrategias que han sido rentables.
Esto tiene un gran inconveniente, el encontrar estrategias que no tienen mucho sentido pero que son ganadoras y parece que funcionan pero es fruto del azar (combinación de condiciones que pueden no tener sentido).
Bien aplicadas, le podemos sacar mucho partido. De hecho, estas herramientas las usamos nuestra comunidad en La City para crear sistemas de trading sin programar.
Una de las más avanzadas y que más integraciones tiene con otras plataformas es StrategyQuant. Últimamente he creado la mayoría de mis estrategias aquí, por lo que merecía un artículo hablando de este software, que en mi opinión es el mejor del mercado. También tienes un curso completo sobre StrategyQuant con algunas plantillas y filtros que uso para buscar sistemas.
Bueno, vamos al lío.
En este post te voy a explicar todo lo que necesitas saber para comenzar a usar Strategy Quant y que entiendas como funciona. Apunta:
1. ¿Qué es StrategyQuant?
StrategyQuant es un software que utiliza técnicas para crear sistemas de trading sin necesidad de saber programación.
Además de generar y encontrar sistemas algorítmicos, StrategyQuant, es una herramienta de análisis para probar nuestras ideas de trading (test de robustez), analizar estrategias y portfolios, encontrar optimizaciones, realizar búsquedas dirigidas a partir de patrones estaciones, etc.
2. ¿Cómo funciona StrategyQuant?
StrategyQuant consta de tres bloques o secciones bien diferenciadas:
- Generación de estrategias.
- Test de Robustez.
- Optimización.
Veamos en qué consiste cada una de estas etapas, para que desarrolles tus estrategias fácilmente.
3. Generación de estrategias con StrategyQuant
Básicamente existen dos formas de generación de sistemas en esta plataforma:
3.1. Generación Aleatoria
Consiste en ir generando estrategias por fuerza bruta, tal como su nombre lo indica, de forma aleatoria en función de los parámetros y condiciones que has configurado.
3.2. Generación Genética
Aquí la idea es crear la mejor estrategia o la más cercana a ella, dentro de un universo de combinaciones de estrategias base, llamadas estrategias padre, utilizando aprendizaje automático. La generación genética es el enfoque más rápido.
Veamos un ejemplo para entenderlo mejor. Supongamos que tenemos dos estrategias base. Una estrategia utiliza el indicador estocástico y el RSI para generar la señal de entrada y la otra estrategia utiliza el indicador ATR y el MACD como señal de entrada.
A partir de estas estrategias base, se crean nuevas combinaciones intercambiando sus partes. Estas nuevas estrategias se denominan estrategias hijas y contienen características de sus estrategias padres.
Este proceso de generación genética por medio del aprendizaje automático nos permite ir mejorando gradualmente las estrategias hasta dar como resultado que la mejor estrategia, por ejemplo, es una estrategia que utilice el indicador Estocástico y el MACD para dar la señal de entrada. Es decir, una combinación de las estrategias base.
Hace poco escribí un artículo sobre algoritmos genéticos en el trading, ahí explico más en detalle todo esto.
3.3. Cómo crear de estrategias con el software StrategyQuant X
Lo primero que debemos hacer antes de empezar, es descargar y agregar los datos del activo donde queremos crear la estrategia en la sección “Data Manager (Administrador de datos)”
Te habrás dado cuenta que este administrador de datos es QuantData Manager, una plataforma que está integrada dentro del Software de SQ (ambas creadas por la misma empresa) y que hace que podamos descargar datos de de manera muy cómoda.
Lo primero que necesitamos para validar y crear nuestras estrategias son datos de los activos, por eso es tan importante. Te dejo también un vídeo sobre QuantData Manager donde explico cómo funciona. Dentro de La City tienes un curso completo donde explico todo en detalle.
Retomemos. Todo el proceso de configuración de parámetros para la generación de estrategias lo tienes en la pestaña sección “Builder”. Haciendo clic en “Builder”, nos lleva a una ventana principal con tres pestañas: Progress, Full Settings y Results.
En la pestaña “Full Settings”, encontraremos todas las opciones detalladas de los parámetros iniciales que necesitamos configurar para generar nuestra estrategia.
Entre los parámetros que debemos configurar en el caso de una estrategia de Forex, tenemos:
- Tipo de estrategia.
Aunque StrategyQuant X nos ofrece la opción de generar estrategias Multi-Timeframe o Multi-Símbolo, si eres un principiante usando la plataforma te recomiendo comenzar usando la opción “Simple strategy”.
- Modo de generación (Build mode).
Aquí hay dos opciones: Genetic evolution y Random generation. Escoger una u otra, depende del objetivo que te has planteado.
- Activo.
- Timeframe.
- Condiciones o reglas de entrada y salida.
StrategyQuant X ofrece una gran cantidad de condiciones base predefinidas basadas en indicadores. Durante el proceso de generación el software mezcla los componentes básicos que hemos seleccionado y busca la mejor combinación de condiciones de entrada y salida.
- Stop Loss y Profit Target.
Puedes optar por usar un SL o TP Fijo, usando niveles de indicador y basados en los cambios de ATR (indicador de volatilidad). Este último es una opción que deberías tener muy en cuenta.
- Gestión de nuestro dinero.
El capital inicial de partida. En mi caso, suelo poner 10.000 dólares y luego adapto a mi cuenta en función de los fondos que quiera asignar. Para simplificar.
- Tiempo histórico de backtesting.
- Plataforma de trading.
- Filtros o criterios de aceptación.
- Y muchos más.
Aquí va un vídeo sobre creación de estrategias con StrategyQuant, tanto por el buscador como con Algowizard:
5. Prueba de Robustez
Después de que tu estrategia de trading haya pasado los filtros de aceptación puedes hacer pequeños cambios y medir cómo han funcionando. Haciendo , aumentas la probabilidad de que genere ganancias en el futuro.
StrategyQuant X te da también la opción de realizar la prueba de robustez inmediatamente durante el proceso de generación de estrategia, el cual configuras en la pestaña “Cross Check (Robustness)”. También puedes realizar la prueba de robustez después del proceso de generación en la sección “Retester”, esta última es la opción que yo te recomiendo.
Ahora puedes aplicar pruebas más sencillas, cambiando cambiando de activo o timeframe inicial. De todas las opciones de test disponibles, considero que claves estas tres:
5.1. Higher Backtest Precision
Cuando seleccionas el timeframe para generar tu estrategia, el software utiliza sus datos históricos para generar velas en la temporalidad seleccionada, por lo que estas analizando el comportamiento del precio de cierre de cada vela ignorando lo que ocurrió dentro de la vela.
Esta prueba lo que hace es retestear la estrategia generada previamente, pero ahora con velas mas precisas de un minuto M1 que se encuentran dentro de la vela te temporalidad mayor, por ejemplo, una hora H1.
5.2. Monte Carlo – Tardes Manipulation
Mediante este test se modifican los trades que componen el sistema de trading recién generado, así evalúas si el rendimiento o rentabilidad de nuestro sistema es producto de la gran mayoría de trades o si, por el contrario, depende solo de una pequeña porción de trades. Esto último lo deberías evitar.
Las simulaciones podrían ser, por ejemplo: eliminar un porcentaje de trades y ver como varían nuestras ganancias, reordenar un porcentaje de trades y mirar cómo cambia el Drawdown, etc.
5.3. Monte Carlo – Retest Methods.
Dependiendo del mercado que decidamos operar, vamos a estar expuesto a mayor o menor volatilidad. Esta volatilidad puede hacer que las condiciones de mercado cambien bruscamente y hacer que nuestro sistema de trading deje de ser rentable.
A través de este método expones el sistema a situaciones extremas y evaluas cómo responde. Por ejemplo: cambiando en un cierto porcentaje el valor de los datos históricos de la simulación original, aumentando el spread, el deslizamiento como suele pasar en periodos de mucha volatilidad, modificando los parámetros de los indicadores usados por el sistema de trading, etc.
6. Optimización de estrategias
Hemos llegamos a la fase de pulir los últimos detalles de nuestra estrategia. Aquí no se trata de sobre optimizar la estrategia para obtener los mayores beneficios, se trata de probar una buena cantidad de optimizaciones y encontrar la más robusta.
StrategyQuant X tiene una opción muy interesante para realizar la optimización, Walk Forward Matrix.
Como sabes, ganancias pasadas no nos aseguran ganancias futuras, es por ellos que nuestro objetivo no es predecir lo que va a suceder sino encontrar el escenario que es más probable que ocurra en función de lo que a ocurrido en el pasado.
El Walk Forward Matrix te permite segmentar el tiempo histórico de backtesting, en el cual ya sabemos que nuestra estrategia funciona, en periodos de tiempo más pequeños.
Supongamos que has escogido un histórico de 10 años. Entonces, puedes probar optimizaciones en periodos más pequeños de 1 año (In Sample IS – En muestra) llamados “runs” y escoger la mejor optimización de parámetros en cada runs. Luego se pruebas esta optimización en los 3 meses (Out of Sample OOF – Fuera de la muestra) siguientes a cada runs y ves los resultados de cada runs.
Los resultados de cada runs son pasados por los filtros de aceptación y se muestran en forma de una matriz (runs Vs % OOF). Si pasan los filtros aparecerán en color verde o en caso contrario en rojo.
Selecciona la optimización de la caja de la matriz que tenga más cajas verdes a su alrededor porque esto aumenta las probabilidades de que nuestra estrategia continúe siendo rentable si el mercado cambia en el futuro próximo.
7. Conclusión
StrategyQuant es ahora mismo de los softwares más versátiles que hay porque nos permite crear estrategias, evaluarlas y optimizarlas, evaluando su robustez. Puedes guardar y exportar el código a las principales plataformas de trading, como MetaTrader4 (MT4), MetaTrader5 (MT5) y Tradestation.
Aunque con estas herramientas puedes aplicar sistemas de trading de forma automática sin necesidad de saber programación, vas a tirar tu dinero a la basura si no conoces cómo funciona el trading, no sabes cómo evaluar y testear una estrategia correctamente o no tienes una idea clara de lo que quieres construir desde el inicio.
Dicho esto y si , aquí puedes descargar una versión de prueba (demo) para usarla gratis durante dos semanas.
También tienes aquí un podcast donde hablo de StrategyQuant y cómo le saco partido a esta plataforma.