Algoritmo genético en StrategyQuant X: cómo construye sus estrategias

Selección, cruce, mutación y sustitución: cómo funciona el algoritmo genético del Builder de StrategyQuant X, qué controla cada parámetro y por qué mejores métricas no garantizan mejores estrategias.

StrategyQuant X genera estrategias mediante un algoritmo genético: un método de búsqueda inspirado en la evolución biológica. No es la única forma de generar estrategias en el programa —también existe la generación puramente aleatoria, y la construcción dirigida mediante Algo Wizard—, pero es la que se usa por defecto en la mayoría de flujos de trabajo del Builder.

NOTA

El Builder no explora combinaciones al azar de forma continua. Parte de una población aleatoria y la mejora generación tras generación combinando lo que ya funciona. Entender ese proceso cambia cómo configuras el programa y, sobre todo, dónde merece la pena poner exigencia y dónde no

Tabla de contenidos

La analogía biológica

Cada estrategia candidata es un individuo. Un conjunto de individuos generados al azar, con indicadores, condiciones y parámetros también aleatorios, constituye la población inicial. Cada individuo tiene un valor de aptitud —la función objetivo o fitness— que mide qué tan bueno es como estrategia según el criterio configurado.

A partir de esa población inicial, el algoritmo genera una primera generación combinando los individuos entre sí. La media de aptitud de cada generación tiende a superar a la de la anterior, porque el proceso combina preferentemente a los mejores, mientras que la población de partida se generó completamente al azar.

NOTA

El algoritmo repite este ciclo generación tras generación hasta la última configurada. Salvo excepciones puntuales, las últimas generaciones tienden a superar en aptitud media a las primeras.

Las cuatro fases del proceso genético

FaseQué ocurreDetalle
SelecciónSe eligen dos estrategias, «padre» y «madre»Se seleccionan preferentemente entre los individuos con mejor aptitud dentro de la población
CruceSe combinan las lógicas de ambasSi el padre usa un cruce de medias y la madre un nivel de RSI, la hija puede combinar ambas condiciones
MutaciónLos parámetros heredados pueden variarNo ocurre siempre: se aplica con una probabilidad configurable, no a cada cruce
SustituciónParte de la población se renuevaCada cierto número de generaciones, un % de las estrategias más débiles se reemplaza por individuos nuevos

La selección y el cruce ocurren en cada ciclo de creación de una nueva generación. La mutación y la sustitución son procesos intermitentes, regidos por su propia probabilidad y periodicidad.

Qué controla cada parámetro configurable

ParámetroQué controla
Número de islasCuántas poblaciones independientes se ejecutan en paralelo, cada una con su propio ciclo completo
Migración entre islas (% y periodicidad)Cada N generaciones, qué % de una isla pasa a otra, introduciendo diversidad cruzada
Tamaño de la población por islaCuántos individuos componen la población dentro de cada isla
Número de generacionesCuántas veces se repite el ciclo antes de reiniciar con una nueva población aleatoria
Probabilidad de cruceCon qué frecuencia se produce el cruce entre estrategias
Probabilidad de mutaciónCon qué frecuencia los parámetros heredados sufren variaciones adicionales
Reemplazo de estrategias débilesQué % de las poblaciones más débiles se sustituye por individuos nuevos
Coeficiente multiplicador de islasMultiplica el número efectivo de islas iniciales antes de cruzarlas entre sí

CLAVE PRÁCTICA

Además de estos parámetros estructurales, se puede definir un criterio mínimo para la población inicial —por ejemplo, Profit Factor superior a 1—. Este filtro no determina la calidad final de las estrategias que salen del Builder: solo actúa como condición de entrada para arrancar el ciclo.

Islas, generaciones y cercanía al comportamiento aleatorio

Cuanto mayor es el número de islas y de generaciones, más tiempo pasa el algoritmo «trabajando» su propia lógica de mejora, y más se aleja del comportamiento de una generación puramente aleatoria. Con pocas poblaciones y pocas generaciones, el proceso tiene menos margen para que la evolución produzca mejoras, y el resultado se aproxima más al de una búsqueda al azar.

    ATENCIÓN

    Un número muy alto de islas y generaciones no es perjudicial en sí mismo —es una cuestión de tiempo de cómputo—, pero cuanto más se prolonga el proceso de cruces sucesivos dentro de una población relativamente cerrada, mayor es el riesgo de que las estrategias converjan hacia combinaciones muy similares entre sí. La migración entre islas y el reemplazo periódico de estrategias débiles existen precisamente para mitigar ese riesgo.

    Un ejemplo ilustrativo: si la población inicial termina incluyendo solo indicadores como MACD, RSI y medias móviles, todas las estrategias de ese ciclo quedan limitadas a combinaciones de esos mismos indicadores. Introducir más aleatoriedad con mayor frecuencia —reduciendo el número de generaciones antes de reiniciar— amplía el abanico de indicadores que pueden aparecer, a costa de un menor refinamiento por ciclo.

    El ranking del algoritmo genético frente al ranking del Builder

    Ubicación del filtroFunciónConsideración
    Criterio de la población inicialCondición mínima para arrancar el ciclo evolutivoMantenerlo laxo evita que completar la población se alargue en exceso
    Ranking del BuilderDetermina qué estrategias finales se conservanEs donde suele concentrarse la exigencia real

    OBJETIVO

    Exigir un criterio muy estricto en la población inicial —por ejemplo, un Retorno/Drawdown muy alto— puede alargar mucho el tiempo necesario para completarla, porque encontrar por azar individuos que ya cumplan ese umbral requiere tiempo. Hay ejemplos documentados de configuraciones así que tardaron del orden de doce horas solo en completar la población inicial, y del orden de una semana en producir medio centenar de estrategias en el banco de datos. Son cifras ilustrativas de una configuración concreta, no una referencia universal.

    Por qué mejores métricas no garantizan mejores estrategias

    Asumir que un mejor Profit Factor, un mejor Retorno/Drawdown o un mejor R² implican automáticamente una mejor estrategia real es un error conceptual frecuente. Si eso fuera cierto, bastaría con buscar exclusivamente las estrategias con la métrica más alta y el problema de la selección estaría resuelto.

    La dificultad real no es encontrar buenas métricas de backtest —eso es relativamente sencillo—: es identificar, entre un volumen grande de candidatas con métricas parecidas, cuáles se van a comportar bien en datos que todavía no existen. Esa es precisamente la función de las pruebas de robustez que complementan al Builder.

    CLAVE PRÁCTICA

    Al revisar la curva de equity de una estrategia, configúrala con la misma métrica que se usó como función objetivo durante la búsqueda. Si la función objetivo fue Retorno/Drawdown, visualiza la curva en función de esa métrica — visualizarla en función del Net Profit puede dar una lectura poco representativa de lo que realmente optimizó el proceso.

    Preguntas frecuentes (FAQs)

    ¿Cuántas islas y generaciones debería configurar?

    No existe un número universal recomendado. La relación general es: más islas y generaciones acercan el resultado a una búsqueda más refinada pero más lenta; menos islas y generaciones se aproximan más al comportamiento de una generación aleatoria, con menos tiempo de cómputo. La elección depende del proyecto y del tiempo disponible.

    ¿Debería poner los filtros exigentes en el algoritmo genético o en el ranking del Builder?

    La práctica documentada es concentrar la exigencia en el ranking del Builder y dejar el criterio de la población inicial relativamente laxo. El argumento es de eficiencia de tiempo de cómputo: exigir demasiado en la población inicial, generada al azar, puede alargar mucho el proceso.

    ¿Un número alto de islas y generaciones da siempre mejores estrategias?

    No necesariamente mejores, pero sí más refinadas dentro de esa ejecución concreta. El riesgo asociado es una convergencia excesiva hacia combinaciones muy similares si el proceso se prolonga demasiado — la migración entre islas y el reemplazo de estrategias débiles existen para mitigar ese riesgo.

    ¿Por qué mi estrategia con excelente Retorno/Drawdown falla en real?

    Porque esa métrica describe el comportamiento sobre el histórico usado, no garantiza nada sobre datos futuros. Es exactamente el motivo por el que existen las pruebas de robustez adicionales.

    Sigue leyendo el contenido de esta serie

    WikiSQX - Builder > Algoritmo genético: cómo construye sus estrategias

    Buscar en la wikiSQX:

    Seguir a Quantified Models:

    Base de conocimiento:

    Índice de esta entrada: