Estoy comenzando una serie de artículos en los que profundizaré en el proceso de creación de estrategias de trading en StrategyQuant X. Como ya sabrás, este increíble software ha pasado de ser un generador de estrategias básico a un complejo marco que permite a los traders aprovechar sus conocimientos y crear rápidamente robots de trading.
Dado que añadimos nuevas funciones continuamente, es posible que algunas de ellas hayan pasado desapercibidas para nuestros usuarios (la transición podría quedar oculta para nuestros usuarios), lo que sería una verdadera lástima.
Así que permítanme comenzar con el nuevo sistema de plantillas, ya que es una de las partes esenciales de la nueva StrategyQuant que define el tipo de estrategias generadas.
En este artículo me centraré principalmente en la introducción y los fundamentos del sistema de plantillas y le mostraré cómo configurar las condiciones básicas en SQ.
¿Qué es el sistema de plantillas StrategyQuant?
Existen muchos tipos de estrategias de negociación. Seguimiento de tendencia, rupturas, pullback, ruptura de Londres, etc. La plantilla es la parte base del proceso de creación de estrategias, que define qué tipo de lógica de estrategia generará StrategyQuant. Para entender mejor el proceso, permítanme describir sus pasos con más detalle.
El primer paso: Construir bloques
Bloques de construcción
Pueden ser indicadores, operadores, valores, etc. En pocas palabras, estos son los ladrillos con los que construye su nueva casa - en este caso - su estrategia de negociación. En StrategyQuant, puede definir fácilmente qué bloques de construcción se utilizarán para generar una estrategia. SQ soporta más de 40 indicadores y varias condiciones predefinidas.
Bloques de construcción en StrategyQuant
El segundo paso: condiciones y niveles creados a partir de bloques de construcción
Condiciones generadoras
En este paso, juntamos bloques de construcción individuales y generamos condiciones de estrategia. En la tabla siguiente, puede ver varios ejemplos de bloques de construcción.
Condición |
Descripción |
Cerrar>Promedio móvil(200) |
Condición de filtrado que define un mercado alcista/creciente. Muy eficaz, especialmente en un marco temporal diario (D1). |
Highest[40]+0.3*ATR[14] |
Nivel de entrada para colocar órdenes stop |
RSI(20) < 50 |
Indica mercado sobrevendido, filtro de compra |
StrategyQuant utiliza un motor genético o aleatorio para generar bloques de construcción, también puede utilizar las condiciones ya hechas que se llaman "Señales".
Condiciones previas - Señales
El tercer paso: reunirlo todo en un modelo de estrategia
Supongamos que tiene dos condiciones comerciales: Condición 1 y Condición 2. Ambas se generan aleatoriamente o durante la evolución a partir de los bloques preconfigurados.
Condición 1: Cerrar>Promedio móvil(200)
Condición 2: RSI(20) < 50
Ahora es el momento de crear su primera estrategia básica. Tenga en cuenta que no es un ejemplo del mundo real y se simplificó para fines de demostración.
La plantilla de estrategia podría ser algo así
------------------------
SI [Condición 1] y [Condición 2]
ENTONCES Comprar a precio de mercado
------------------------
La estrategia final generada será entonces:
SI Cerrar>Promedio móvil(200) y RSI(20) < 50
ENTONCES Comprar a precio de mercado
Los "marcadores de posición" de las condiciones en la plantilla de estrategia se sustituyeron por las condiciones reales. De este modo, la plantilla define exactamente dónde deben utilizarse las condiciones y cómo se generará la estrategia resultante.
Ahora digamos que tenemos esta plantilla de estrategia:
------------------------
SI [Condición 1] y [Condición 2]
ENTONCES Comprar a precio de mercado
SI [Negación de la condición 1] y [Negación de la condición 2]
ENTONCES Vender a precio de mercado
------------------------
Puede ver que la plantilla de estrategia le permite utilizar también una negación de una condición que se creará automáticamente.
Si utilizamos esta plantilla, la estrategia generada será:
SI Cerrar>Promedio móvil(200) y RSI(20) < 50
ENTONCES Comprar a precio de mercado
SI Cerrar<Media móvil(200) y RSI(20) > 50
ENTONCES Vender a precio de mercado
Intentemos un tercer ejemplo de otra plantilla de estrategia:
------------------------
SeñalDeEntradaLarga = [Condición 1] y [Condición 2]
SeñalDeEntradaCorta = [Negación de la condición 1] y [Negación de la condición 2]
IF SeñalEntradaLarga y no SeñalEntradaCorta
ENTONCES Comprar a precio de mercado
IF SeñalEntradaCorta y no SeñalEntradaLarga
ENTONCES Vender a precio de mercado
------------------------
Si utilizamos esta plantilla, la estrategia generada será:
SeñalDeEntradaLarga = Cperder>MovingAverage(200) y RSI(20) < 50
SeñalDeEntradaCorta = Cerrar<Media móvil(200) y RSI(20) > 50
IF SeñalEntradaLarga y no SeñalEntradaCorta
ENTONCES Comprar a precio de mercado
IF SeñalEntradaCorta y no SeñalEntradaLarga
ENTONCES Vender a precio de mercado
Puede ver que hemos utilizado las mismas condiciones, pero hemos sido capaces de generar tres estrategias ligeramente diferentes.
Y así es. Poniendo bloques de construcción en su plantilla, obtendrá fácilmente la lógica de la estrategia. Usted puede ver que mediante el uso de diferentes plantillas de estrategia puede personalizar el proceso de creación de estrategias de StrategyQuant en formas casi ilimitadas. Más adelante dentro de esta serie de artículos, voy a introducir l otros tipos de plantillas que se pueden personalizar en base a sus propias ideas.
En el próximo artículo nos adentraremos en StrategyQuant y probaremos plantillas por nosotros mismos.
Las plantillas son muy útiles. Gracias por esta explicación