Cuando empezamos a generar estrategias con StrategyQuant X, una de las decisiones más importantes es elegir correctamente los Building Blocks que vamos a permitir utilizar al Builder.
Esta selección forma parte de un proceso mucho más amplio. En el artículo Cómo crear estrategias automáticas con StrategyQuant X explico la metodología completa que utilizo, desde la idea inicial y la generación hasta las pruebas de robustez y la construcción de la cartera.
En este artículo vamos a detenernos únicamente en una de esas fases: cómo elegir los Building Blocks y utilizarlos para investigar hipótesis concretas de mercado.
Y aquí es muy fácil cometer un error.
Podemos pensar que cuantos más indicadores, operadores y condiciones activemos, más posibilidades tendrá StrategyQuant de encontrar buenas estrategias.
Yo prefiero trabajar justo al contrario.
Antes de comenzar una minería intento definir qué comportamiento del mercado quiero investigar y, a partir de esa idea, selecciono únicamente los Building Blocks que tienen sentido para ese experimento.
Porque el objetivo no es darle más posibilidades a StrategyQuant.
El objetivo es darle mejores posibilidades.
¿Qué son los Building Blocks en StrategyQuant X?
Indice de contenidos
ToggleLos Building Blocks son las piezas que StrategyQuant X puede combinar para construir las reglas de nuestras estrategias.
Dentro de ellos podemos encontrar indicadores técnicos, comparaciones de precios, operadores y diferentes tipos de señales que posteriormente StrategyQuant puede utilizar para crear las condiciones de entrada y salida.
Por ejemplo, podemos permitir que el Builder trabaje con elementos como:
- Bollinger Bands.
- Highest y Lowest.
- ATR.
- Standard Deviation.
- Keltner Channels.
- Comparaciones entre precios e indicadores.
- Diferentes señales y condiciones personalizadas.
El problema no está en utilizar muchos o pocos indicadores.
El verdadero problema aparece cuando no sabemos por qué los estamos utilizando.
Si activamos una gran cantidad de Building Blocks sin ningún criterio, StrategyQuant tendrá que explorar un espacio de combinaciones enorme.
Por eso, antes de seleccionar indicadores, prefiero empezar por algo mucho más sencillo:
observar el mercado.
Antes de elegir Building Blocks, estudio el comportamiento del activo
Vamos a verlo con un ejemplo.
Imaginemos que queremos desarrollar estrategias para GBPJPY.
Antes de comenzar a generar sistemas puedo abrir un gráfico diario y colocar un ATR de periodo 1.
No estoy utilizando todavía el ATR para crear una estrategia.
Simplemente quiero observar cuánto se mueve aproximadamente GBPJPY cada día y cómo cambia ese movimiento a lo largo del tiempo.
Podemos encontrar periodos donde el rango diario es relativamente reducido y otros donde la volatilidad aumenta considerablemente.
Esto nos permite identificar diferentes regímenes de mercado.

Todavía no hemos generado absolutamente nada.
Pero ya estamos empezando a formular preguntas.
¿Qué ocurre cuando aumenta la volatilidad?
¿El precio tiende a continuar el movimiento?
¿Se producen más rupturas?
¿O después de movimientos muy fuertes aparecen comportamientos de reversión?
Aquí comienza realmente la investigación.
De observar el mercado a plantear una hipótesis
A partir de esa observación podemos definir diferentes hipótesis.
Por ejemplo, podríamos investigar dos comportamientos completamente distintos:
Breakout: buscar situaciones donde el precio rompe determinados niveles y continúa desplazándose.
Mean Reversion: buscar situaciones donde el precio se aleja demasiado de una zona y posteriormente regresa hacia ella.
Es importante entender que en este momento no sabemos cuál de las dos ideas funcionará.
Y precisamente eso es lo interesante.
No quiero decidir de antemano que GBPJPY es un activo de Breakout o de Mean Reversion.
Quiero diseñar experimentos que me permitan comprobarlo.
Y ahora sí podemos empezar a elegir los Building Blocks.
Building Blocks para buscar estrategias de Breakout
Si quiero investigar estrategias de Breakout, puedo seleccionar bloques capaces de representar ese comportamiento.
Uno de los ejemplos más sencillos son Highest y Lowest.
Podemos utilizarlos para identificar situaciones donde el precio supera máximos o mínimos anteriores.
También podemos trabajar con:
- Bollinger Bands.
- Keltner Channels.
- Máximos y mínimos.
- Comparaciones del precio respecto a determinados niveles.
El objetivo no es utilizar todos estos elementos necesariamente en una misma estrategia.
Lo importante es que todos pertenecen a una familia lógica relacionada con la hipótesis que quiero investigar.

Ejemplo de selección de Building Blocks relacionados con estrategias de ruptura. En lugar de activar todos los indicadores disponibles, limitamos el espacio de búsqueda a bloques coherentes con nuestra hipótesis.
De esta forma estamos diciendo al Builder:
Quiero que busques estrategias, pero dentro de una idea concreta.
Esto cambia bastante la forma de utilizar StrategyQuant.
Building Blocks para buscar Mean Reversion
Podemos realizar exactamente el mismo proceso para estudiar comportamientos de Mean Reversion.
Por ejemplo, podemos investigar situaciones donde el precio sale fuera de una banda o canal y posteriormente vuelve a entrar.
Aquí pueden tener sentido Building Blocks relacionados con:
- Bollinger Bands.
- Keltner Channels.
- Distancias respecto a determinados niveles.
- Sobreextensiones del precio.
- Regresos hacia bandas o zonas anteriores.
Imaginemos una vela que rompe una Bollinger Band.
Una posibilidad sería interpretar esa ruptura como el inicio de una continuación.
Pero también podemos plantear exactamente la hipótesis contraria:
¿qué ocurre si después de salir de la banda el precio vuelve a entrar?
Eso podría representar una posible señal de Mean Reversion.
Una misma situación de mercado puede investigarse desde hipótesis diferentes. Una ruptura puede buscar continuación mediante Breakout o regreso hacia la media mediante Mean Reversion.
No estamos afirmando que una idea sea mejor que la otra.
Estamos construyendo diferentes experimentos para poder comprobarlo posteriormente con datos.
Incorporar la volatilidad a nuestros Building Blocks
Además del comportamiento del precio, también podemos estudiar el entorno en el que se produce una señal.
Aquí entra otra familia de Building Blocks especialmente interesante: la volatilidad.
Podemos trabajar, por ejemplo, con:
- ATR.
- Standard Deviation.
- Bollinger Bands Ratio.
- Keltner Channels.
Estos indicadores pueden ayudarnos a diferenciar entre dos situaciones:
expansión de volatilidad y contracción de volatilidad.
Y esto nos permite hacer preguntas mucho más concretas.
¿Funcionan mejor las rupturas después de una contracción de volatilidad?
¿Funcionan mejor cuando la volatilidad ya está aumentando?
¿Aparecen mejores estrategias de Mean Reversion después de movimientos de expansión?
¿Existen diferencias entre unos activos y otros?
Aquí es donde empezamos a pasar de simplemente generar estrategias a investigar el comportamiento del mercado.
Organizar los Building Blocks con Random Groups
StrategyQuant X nos permite llevar esta idea un paso más allá utilizando los Random Groups.
En lugar de introducir todos nuestros Building Blocks dentro de un único grupo, podemos organizarlos según la función que queremos que desempeñen.
Por ejemplo, podríamos crear grupos como:
- BREAKOUT
- MEAN REVERSION
- VOLATILIDAD
- EXPANSIÓN
- CONTRACCIÓN
Incluso podemos separar determinadas condiciones entre BUY y SELL cuando queremos controlar con mayor precisión la lógica que puede utilizar StrategyQuant en cada dirección.

Esto nos permite construir un espacio de búsqueda mucho más estructurado.
Y, sobre todo, nos permite repetir después el experimento modificando únicamente una variable.
📩 ¿Quieres recibir los próximos artículos?
Nuevas investigaciones, pruebas y recursos sobre StrategyQuant y trading algorítmico directamente en tu email.
Sin spam. Puedes darte de baja cuando quieras.
El error de activar demasiados Building Blocks
Uno de los errores más habituales cuando empezamos a trabajar con StrategyQuant es pensar:
“Si activo todos los indicadores, StrategyQuant tendrá más posibilidades de encontrar una buena estrategia.”
En cierto modo es verdad.
Tendrá muchas más combinaciones disponibles.
Pero ese es precisamente el problema.
Cada nuevo indicador, periodo, operador o condición que añadimos aumenta el número de combinaciones que el Builder puede explorar.
Si dejamos que StrategyQuant combine prácticamente cualquier cosa con cualquier cosa, podemos terminar encontrando estrategias excelentes sobre los datos utilizados durante la generación.
Pero eso no significa necesariamente que hayamos encontrado un comportamiento real y repetible.
Podemos haber encontrado simplemente una combinación que encajó especialmente bien con esos datos.
Por eso prefiero dividir la investigación en experimentos más pequeños.
Por ejemplo:
- Breakout + expansión de volatilidad.
- Breakout + contracción de volatilidad.
- Mean Reversion + expansión.
- Mean Reversion + contracción.
Ahora cada minería intenta responder una pregunta.
Y después podemos comparar los resultados.
La generación es solo el principio
Aquí aparece uno de los conceptos más importantes de mi forma de trabajar con StrategyQuant.
Supongamos que realizamos cuatro minerías diferentes.
En cada una generamos miles de estrategias utilizando distintas combinaciones de Building Blocks.
Podríamos encontrar estrategias espectaculares en las cuatro.
Pero todavía no sabemos cuál de las hipótesis es realmente interesante.
Porque todas esas estrategias han sido construidas utilizando unos determinados datos históricos.
Necesitamos enfrentarlas a información que StrategyQuant no haya utilizado durante la generación.
Y aquí entra el Out of Sample.

La calidad de una configuración de Building Blocks no debería evaluarse únicamente por las estrategias que genera, sino también por cuántas mantienen su comportamiento cuando llegan a datos desconocidos.
En el artículo “Out of Sample en StrategyQuant: cómo validar estrategias en datos desconocidos” explico con más detalle cómo utilizo esta parte del proceso.
Lo importante aquí es entender que la generación no demuestra nuestra hipótesis.
Solo crea candidatos.
¿Qué configuración de Building Blocks funciona mejor?
Ahora podemos empezar a medir.
Imaginemos que generamos el mismo número de estrategias en diferentes experimentos y posteriormente las enfrentamos a un periodo que no participó en la generación.
Podemos analizar, entre otras cosas:
- cuántas estrategias sobreviven;
- qué porcentaje representa sobre la población inicial;
- cómo cambia el Profit Factor;
- cómo se comporta el beneficio neto;
- qué estabilidad mantienen;
- cuántas operaciones realizan;
- cuánto se deterioran respecto al periodo utilizado para generarlas.
Entonces podemos encontrarnos, por ejemplo, con que una configuración de Breakout genera muchas estrategias aparentemente buenas, pero muy pocas sobreviven al Out of Sample.
Mientras que otra configuración genera menos candidatos inicialmente, pero un porcentaje mucho mayor mantiene su comportamiento en datos desconocidos.
Para mí, esta segunda información es mucho más interesante.
Ya no estamos preguntando:
¿Qué indicador ha producido la estrategia con más beneficio?
Estamos preguntando:
¿Qué configuración ha producido una población de estrategias más consistente?
La diferencia es enorme.
No busco el mejor indicador
Este punto me parece especialmente importante.
Cuando realizo este tipo de investigación no intento descubrir si el ATR es mejor que las Bollinger Bands o si un Keltner Channel es mejor que Standard Deviation.
No creo que esa sea la pregunta correcta.
Lo que intento estudiar es si determinadas combinaciones de ideas, señales y condiciones de mercado producen estrategias que posteriormente son capaces de mantener su comportamiento.
Un indicador aislado no es una estrategia.
Es simplemente una herramienta que nos permite representar una determinada característica del mercado.
Por eso los Building Blocks tienen sentido cuando forman parte de una hipótesis.
Los Building Blocks son solo una fase del proceso
La elección de los Building Blocks no debería verse de forma aislada.
Forma parte de un proceso de desarrollo mucho más amplio en el que primero investigamos una idea, después generamos estrategias y finalmente intentamos demostrar que los resultados encontrados no dependen únicamente de los datos utilizados para crearlas.
De forma simplificada, mi proceso sería:
- Observar el comportamiento del activo.
- Plantear una hipótesis.
- Seleccionar Building Blocks relacionados con esa hipótesis.
- Generar una población suficientemente amplia.
- Realizar el backtest y analizar los resultados.
- Reservar datos que no participen en la generación.
- Analizar la supervivencia en Out of Sample.
- Continuar con las pruebas de robustez.
- Aplicar Monte Carlo, Tick Data y permutación de parámetros.
- Seleccionar finalmente las estrategias que pueden formar parte de una cartera.
Todo este flujo lo explico desde el principio en Cómo crear estrategias automáticas con StrategyQuant X, que funciona como artículo principal de esta serie.
A partir de ahí estamos profundizando individualmente en cada una de las fases.
Conclusión: no elijas Building Blocks al azar
Elegir los Building Blocks en StrategyQuant X no debería consistir en abrir la lista de indicadores y activar todos los que conocemos.
Antes de hacerlo, intento responder una pregunta:
¿Qué comportamiento del mercado quiero investigar?
A partir de ahí selecciono Building Blocks capaces de representar esa idea, genero diferentes poblaciones de estrategias y posteriormente compruebo qué ocurre cuando llegan a datos que no participaron en su creación.
Algunas hipótesis funcionarán mejor.
Otras funcionarán peor.
Y otras directamente tendremos que descartarlas.
Pero precisamente eso es investigar.
Con el tiempo, este proceso nos permite construir nuestro propio conocimiento sobre los activos, los tipos de estrategia y las condiciones de mercado que estamos trabajando.
Y esa información se puede utilizar después para diseñar nuevas minerías cada vez más específicas.
Por eso, cuando configuro StrategyQuant, intento recordar siempre una idea:
No se trata de darle más posibilidades a StrategyQuant. Se trata de darle mejores posibilidades.
📚 Continúa aprendiendo sobre StrategyQuant
Este artículo forma parte de una serie en la que estoy explicando paso a paso mi proceso para desarrollar, validar y seleccionar estrategias automáticas con StrategyQuant X.
Si quieres empezar desde el principio, puedes consultar primero Cómo crear estrategias automáticas con StrategyQuant X, donde encontrarás la visión general de todo el proceso.
A partir de ahí puedes profundizar en cada fase:
- Cómo hacer backtesting con StrategyQuant X
- Out of Sample: cómo validar estrategias en datos desconocidos
- Cómo elegir Building Blocks en StrategyQuant X ← Estás aquí
- Pruebas de robustez en StrategyQuant
- Monte Carlo en StrategyQuant: cómo configurarlo
- Tick Data en StrategyQuant y MetaTrader 5
- Permutación de parámetros en StrategyQuant
- Cómo crear una cartera de estrategias con StrategyQuant
De esta manera puedes seguir toda la metodología en orden y, al mismo tiempo, consultar directamente la fase que necesites.
¿Quieres aprender este proceso paso a paso?
Si estás empezando en trading algorítmico, puedes comenzar con mi formación gratuita de 10 lecciones.
No necesitas disponer previamente de StrategyQuant. Durante la formación tendrás acceso a una licencia de prueba durante 14 días para poder seguir las prácticas y conocer el software.
Empezar gratis: Trading Algorítmico en 10 lecciones
Si ya conoces StrategyQuant y quieres aprender el proceso completo que utilizo para desarrollar estrategias, realizar pruebas de robustez, construir carteras y hacer seguimiento de los sistemas:
Conoce la Metodología Ángel Talavera con StrategyQuant
Si te ha gustado el artículo compártelo en tus redes.