Angel Talavera

Cómo Crear una Estrategia Algorítmica Rentable

como crear una estrategia algoritmica rentable

Crear una estrategia algorítmica rentable puede parecer una tarea complicada, pero con las herramientas adecuadas, como StrategyQuant X, este proceso se vuelve más accesible, incluso si no tienes experiencia en programación. En este artículo, te mostraré cómo llevar una idea de trading desde la conceptualización hasta la automatización, utilizando el poderoso software StrategyQuant X.


¿Porqué StrategyQuant X?

StrategyQuant X es una plataforma diseñada para traders que buscan crear estrategias algorítmicas rentables de forma eficiente y profesional. Sus principales ventajas incluyen:

  • Generación automática de estrategias: Basado en reglas predefinidas o personalizadas.
  • Optimización avanzada: Ajusta tus estrategias para maximizar la rentabilidad y minimizar riesgos.
  • Pruebas de robustez: Evalúa cómo se comportan tus estrategias en condiciones de mercado cambiantes.

Con esta herramienta, puedes convertir cualquier idea de trading en un sistema automatizado, rentable y robusto.


Paso a Paso para Crear tu Estrategia Algorítmica

Paso 1: Conceptualización de la estrategia

El primer paso para crear una estrategia automática con StrategyQuant es definir claramente la idea que deseas automatizar. Esto incluye:

  1. Mercado y temporalidad: Decide en qué activos operarás (Forex, acciones, criptomonedas, etc.) y en qué marco temporal (M15, H1, D1).
  2. Reglas de entrada y salida: Escribe las condiciones que deben cumplirse para abrir y cerrar una operación. Por ejemplo:
    • Comprar cuando el RSI esté por debajo de 30.
    • Vender cuando el precio cruce por debajo de una media móvil de 50 periodos.
  3. Gestión del riesgo: Define el tamaño de posición, niveles de stop loss y take profit.

Tip: Asegúrate de que tu idea sea simple y lógica. Las estrategias complejas son más difíciles de optimizar y evaluar.


Paso 2: Crear la Estrategia en StrategyQuant X

1. Configura AlgoWizard:

  • Abre StrategyQuant X y accede a AlgoWizard.
  • Define el mercado (por ejemplo, AUDCAD) y las reglas iniciales para entradas y salidas.

2. Usa la Generación Automática:

Si no tienes una idea clara, puedes usar la función de Generador en StrategyQuant X para explorar cientos de posibles estrategias basadas en tus configuraciones iniciales.

  1. Define el rango de indicadores y parámetros que quieres usar.
  2. Deja que el software cree y evalúe múltiples estrategias automáticamente.
  3. Filtra las mejores según métricas clave como el profit factor, drawdown y ratio de Sharpe.

Sugerencia: Guarda las estrategias generadas para compararlas más adelante.


Paso 3: Evaluación y Optimización

Pruebas de Backtesting

  • Usa datos históricos para probar el desempeño de tu estrategia en diferentes condiciones de mercado. StrategyQuant X permite importar datos de alta calidad y ejecutar backtest en cuestión de minutos.

Optimización de Parámetros

Ajusta parámetros como el período de medias móviles, niveles de stop loss y take profit para maximizar el rendimiento. StrategyQuant X ofrece varias técnicas de optimización, como:

  • Optimización completa.
  • Optimización genética (más rápida y eficiente).

Importante: Evita el sobreajuste, asegurándote de que los resultados no dependan exclusivamente de los datos históricos usados para que la estrategia sea robusta y adaptable.


Paso 4: Evaluar la Robustez de la Estrategia

Una estrategia rentable debe ser robusta y adaptable a diferentes escenarios de mercado. Para esto, StrategyQuant X ofrece herramientas avanzadas como:

  • Pruebas Monte Carlo: Simula miles de escenarios para evaluar la estabilidad de tu estrategia.
  • Walk-Forward Analysis: Divide los datos históricos en bloques y prueba la estrategia en diferentes periodos para evitar el sobreajuste.

Paso 5: Automatización y Exportación

Una vez que tu estrategia esté optimizada y validada, es momento de automatizarla:

  • Exporta tu estrategia como un Expert Advisor (EA) compatible con MetaTrader 5.
  • Prueba tu EA en una cuenta demo antes de usarlo en una cuenta real para confirmar su rendimiento en tiempo real.

Bonus: StrategyQuant X también permite exportar estrategias a otras plataformas, dándote flexibilidad para operar en múltiples entornos.


Ejemplo Práctico: Estrategia Mean Reversión en AUDCAD

Paso 1: Idea Inicial de la Estrategia:

Vamos hacer un ejemplo de un proceso con una estrategia para el AUDCAD tipo Reversión a la media por su carácter de este activo de estar mucho tiempo en rangos. Sabemos que se comporta bien cuando hacemos estos tipos de test aqui te dejo un video explicando como saber si funciona bien el activo para estrategias tendenciales o de reversión a la media. He seleccionado el ejemplo de esta web pro real time para probar esta estrategia.

Paso 2: Crear la Estrategia en StrategyQuant X

Estrategia Algowizard AUDCAD

Inicio StrategyQuant y me dirijo a la pestaña AlgoWizard para configurar el activo AUDCAD, marco temporal H1, crear las reglas simples de entrada, y la gestión de las salidas.


Realizo una prueba preliminar sin comisiones y otra con comisiones claramente la estrategia sin comisiones es ganadora por su comportamiento regresivo por eso busco una plantilla para crear algún filtro para solo escoger las mejores entradas a mercado asi, la diferencia en comisiones hará tener una estrategia rentable en el mercado.

Estrategia AUDCAD modo plantilla estrategia algoritmica rentable

Establezco el programa en modo plantilla para poder crear algunas reglas aleatorias para que el software haga su trabajo y en el modo genético establezca unos filtros a mi entradas.


Paso 3: Generación de estrategias y primer test fuera de muestra.

Fecha creación de estrategias desde 2015 hasta el 2021, periodo reservado datos no vistos desde 01.09.2021 hasta 31.12.2023. En poco más de unas horas tenemos más de 2000 candidatos para hacer pruebas de robustez y seleccionar las más aptas para pasar a la siguiente fase desarrollo de nuestra estrategia mean reversión AUDCAD H1.

Primer test fuera de muestra a 2000 estrategias y 1125 han salido positivas en los datos reservados más de un 50% eso es garantía de no es pura casualidad es un porcentaje alto.

Test fuera de muestra estrategia algoritmica rentable AUDCAD

Paso 4: Evaluar la Robustez de la Estrategia

Vamos hacer unos test de estrés para ver el comportamiento de la estrategia cuando le cambiamos un porcentaje los parámetros por ejemplo al ser una estrategia que entra a mercado cuando el precio es mayor o menor que la banda superior e inferior vamos a mover un poco el parámetro 20 periodos y su media central de las desviaciones de las bandas de Bollinger condición de salida. Si el comportamiento es aceptable es que la estrategia es robusta en el juego de parámetros.

estrategia algoritmica rentable montecarlo parametros

Aunque habido algunas simulaciones superiores casi todas obtienes rentabilidad inferior pero aceptable, arriesgando 2% por trade con una confianza del 95% la estrategia no pierde más de un 10% de perdida máxima con un promedio de ganancia 7.35% al año.

El siguiente test que vamos hacer es el de permutación de los parámetros del sistema es similar pero diferente me gusta ver las medianas de todas las optimizaciones para ver donde se encuentra la central de alejada y ver que numero tiene ya que es mucho más probable que nuestra estrategia se encuentre en un futuro en esos números centrales. Te dejo por aquí un articulo del blog explicando más a detalle ese articulo.

El retorno sobre la máxima perdida es mayor a 3 un 6.32 lo cual es más que aceptable y la máxima perdida de las 1000 optimizaciones es de 782, nuestra estrategia se encuentra centrada al lado de la mediana con un Sharpe Ratio de 0.93 casi llegando al uno.

estrategia algoritmica rentable permutacion de los parametros

Paso 5: Automatización y Exportación

La automatización es bastante sencilla ya que strategyquant exporta el código en varios formatos lenguaje mql para metatrader4/5, Easy Lenguage para Tradestation y Multicharts en formato Pseudocódigo de fácil lectura para poder leer sus reglas como este que acabamos de crear.

//--------------------------------------------------------------------
// Pseudo Source Code of Strategy 10.46.77
//
//   Generated by StrategyQuant 3.9.132 for MetaTrader
//   at 06/23/2022 06:52
//
//   Backtested on AUDCAD_Dk2 / H1, 2015.01.01 - 2024.12.27
//   Backtest engine: MetaTrader5 (hedged)
//--------------------------------------------------------------------

//--------------------------------------------------------------------
//  Strategy Parameters
//--------------------------------------------------------------------
int MagicNumber = 11111;
int BollingerBandsPrd1 = 20;
int SMAPeriod1 = 20;
double StopLoss1 = 140;
double StopLossCoef1 = 3.5;

Main chart = Current Symbol / Current TF;

//--------------------------------------------------------------------
// Trading options logic
//--------------------------------------------------------------------

Don't Trade On Weekends = false (Friday 2300 - Sunday 2300);
Exit at End Of Day = false (2355);
Exit On Friday = true (2000);
LimitSignalsTimeRange = true (0200 - 2200, Exit at End: false, Orders to close: All);
LimitMaxDistanceFromMarketPrice = false;   //Limit max distance
MaxDistanceFromMarketPct = 6;   //Max distance %
MaxTradesPerDay = 0;
Min SL: 0, Max SL: 0, Min PT: 0, Max PT: 0; // in ticks/pips, 0 means unlimited


//--------------------------------------------------------------------
// Trading rule: Trading signals (On Bar Open)
//--------------------------------------------------------------------           
LongEntrySignal = ((Close(Main chart)[1] < BollingerBands(Main chart,BollingerBandsPrd1, 2, PRICE_CLOSE).Lower[1])
   and (SessionClose(1:0)[1] is lower than Low(Main chart)[3] for 6 bars  at 2 bar ago));

ShortEntrySignal = ((Close(Main chart)[1] > BollingerBands(Main chart,BollingerBandsPrd1, 2, PRICE_CLOSE).Upper[1])
   and (SessionClose(1:0)[1] is higher than High(Main chart)[3] for 6 bars  at 2 bar ago));

LongExitSignal = (Close(Main chart)[1] > SMA(Main chart,SMAPeriod1, PRICE_CLOSE)[1]);

ShortExitSignal = (Close(Main chart)[1] < SMA(Main chart,SMAPeriod1, PRICE_CLOSE)[1]);


//--------------------------------------------------------------------
// Trading rule: Long entry (On Bar Open)
//--------------------------------------------------------------------           
if LongEntrySignal
{
    // Action #1
    Open Long order at Market;
        Duplicate trades: disabled;
        Stop Loss = StopLoss1 pips;

}

//--------------------------------------------------------------------
// Trading rule: Short entry (On Bar Open)
//--------------------------------------------------------------------           
if ShortEntrySignal
{
    // Action #1
    Open Short order at Market;
        Duplicate trades: disabled;
        Stop Loss = StopLossCoef1 * ATR(20);

}

//--------------------------------------------------------------------
// Trading rule: Long exit (On Bar Open)
//--------------------------------------------------------------------           
if (LongExitSignal
   and (MarketPosition("Any", MagicNumber, "") is Long))
{
    // Action #1
    Close Full position for Symbol = Any and Magic Number = MagicNumber;

}

//--------------------------------------------------------------------
// Trading rule: Short exit (On Bar Open)
//--------------------------------------------------------------------           
if (ShortExitSignal
   and (MarketPosition("Any", MagicNumber, "") is Short))
{
    // Action #1
    Close Full position for Symbol = Any and Magic Number = MagicNumber;

}



Broker: No filter

El siguiente paso será exportar la estrategia a nuestra plataforma de trading y tenerla unos meses en fase de prueba para después guardar la estrategia en nuestro repositorio de estrategias para una cartera diversificada de activos con baja correlación. Los ajustes de riesgo se miden a la hora de incluir esta estrategia en una cartera para ver que peso tiene y cual es el capital necesario para incluirla asi ajustar el apalancamiento de los lotes.

Conclusión

Convertir una idea de trading en una estrategia algorítmica rentable es un proceso que requiere herramientas adecuadas y una metodología clara. Con StrategyQuant X, puedes conceptualizar, crear, optimizar y automatizar tus estrategias de forma eficiente y profesional.

¿Estás listo para transformar tus ideas en estrategias rentables?

¡Empieza hoy y lleva tu trading algorítmico al siguiente nivel!

Si te ha gustado el artículo compártelo en tus redes.

Texto
1
Hola estoy aquí para ayudarte.
Hola! Necesitas ayuda? hablemos por WhatsApp 😉