TFM de Inteligencia Artificial: sistema macro-técnico para modular una estrategia DCA
IA / Finanzas cuantitativas

TFM de Inteligencia Artificial: sistema macro-técnico para modular una estrategia DCA

Diseñé y evalué un sistema que combina contexto macroeconómico, señales técnicas y backtesting para decidir cuánto aportar cada mes a una estrategia DCA sobre el NASDAQ100.

Tecnologías

Python Pandas Scikit-learn Machine Learning Series temporales Backtesting Finanzas cuantitativas
Cliente: Proyecto personal · TFM de máster
Año: 2026

Resumen

Este Trabajo Fin de Máster parte de una pregunta muy concreta: si una inversión periódica tipo DCA puede hacerse un poco más inteligente sin caer en la promesa irreal de “predecir el mercado”. En lugar de buscar un oráculo financiero, diseñé una arquitectura que decide cuánto aportar cada mes al NASDAQ100 según el contexto macroeconómico y técnico.

La idea central del proyecto no es adivinar el siguiente movimiento del mercado, sino transformar señales imperfectas en una política de aportación disciplinada, medible y defendible. Por eso el foco no terminó en la métrica predictiva aislada, sino en cómo esas predicciones impactan sobre capital invertido, retorno, drawdown y eficiencia del capital extra.

El resultado es un sistema modular que conecta machine learning, series temporales y evaluación financiera seria. Más que una demo puntual, fue un ejercicio de criterio: formular bien el problema, evitar data leakage, comparar enfoques y aceptar con honestidad cuándo una mejora es real y cuándo solo viene de invertir más dinero.

Recopilación y selección de datos
Reuní y depuré indicadores macroeconómicos, financieros y series del NASDAQ100 para alimentar tanto el bloque macro como el técnico.
Analista macro
Filtra el entorno con variables macro-financieras y estima si el contexto es favorable.
Analista técnico
Combina señales del NASDAQ100 con el contexto macro para modular la agresividad.
Evaluación financiera
Convierte predicciones en aportaciones `0.5x / 1x / 2x` y las compara frente a `DCA base` y `Buy & Hold`.

Qué construí

Construí un pipeline en dos capas. La primera capa, el analista macro, trabaja con 19 features macro-financieras para detectar entornos favorables a seis meses. La segunda capa, el analista técnico, añade señales del NASDAQ100 para decidir si la aportación mensual debe reducirse, mantenerse o intensificarse.

La lógica operativa del sistema se resume en una regla muy simple de entender pero exigente de validar: transformar cada predicción en un multiplicador de aportación 0.5x, 1x o 2x. Eso permitió conectar el modelo con una decisión financiera concreta, en lugar de quedarse en una clasificación abstracta sin traducción práctica.

El dataset se trabajó con frecuencia mensual, split temporal hasta 2023-12, test limpio desde 2024-01 y una validación walk-forward para ver si la señal se sostenía mejor fuera de una única foto puntual.

Multiplicadores de aportación en el backtest limpio

Cómo lo validé

La validación fue una parte central del TFM. Se usaron particiones cronológicas, pipelines con imputación y escalado cuando correspondía, y una evaluación separada entre entrenamiento histórico, tramo limpio fuera de muestra y recorrido walk-forward anual.

También puse mucho cuidado en el control del data leakage: las etiquetas se construyen con información futura, pero esa información no entra como feature en el entrenamiento. Además, el bloque macro no se usa para “mirar el futuro”, sino como contexto histórico pseudo out-of-sample para el bloque técnico.

Para no quedarme con una única intuición, comparé varios algoritmos y formulaciones del problema: logistic_regression, random_forest, extra_trees y ridge. Ese contraste fue importante porque el proyecto mejoró precisamente cuando dejó de intentar resolver “todo” y pasó a definir mejor qué señal merecía la pena modelar.

Resultados que sí merecen contarse

BloqueDecisión finalQué aporta
Macro finalRandom Forest sobre Y_favorable_bin_6mbalanced accuracy 0.5714, F1 0.6667, ROC AUC 0.8571
Técnico con mejor señalExtra Trees binario agresivobalanced accuracy 0.55, F1 0.3333, ROC AUC 0.65
Lectura financieraTest limpio: binario_agresivo vs dca_baseMejora ligera en retorno sobre capital: 18.34% vs 17.35%, pero con más capital invertido: 2700 vs 1900
Lectura históricawalk-forward frente a DCA basedca_base sigue siendo la referencia DCA más robusta: 2.4589 vs 2.2598

La conclusión interesante está en el matiz: el sistema sí genera señales aprovechables, pero la parte más valiosa del trabajo fue demostrar cómo juzgarlas con rigor. En el tramo limpio hay una mejora modesta de algunas variantes, mientras que en el recorrido histórico amplio DCA base sigue defendiendo mejor la comparación cuando se normaliza por capital invertido.

Eso, lejos de restar valor al proyecto, lo hace más serio: el TFM no vende una máquina de batir al mercado, sino una arquitectura que ayuda a decidir mejor cuánto riesgo y cuánto capital asumir en cada momento.

La gráfica de cartera en el backtest limpio ayuda a leer ese matiz de forma muy visual: algunas variantes terminan con una cartera final mayor, pero lo hacen porque el sistema eleva la aportación acumulada en determinados tramos. Por eso en este proyecto no basta con mirar solo el valor final de la cartera.

Valor de cartera en el backtest limpio

La curva de rentabilidad acumulada sobre capital invertido complementa esa lectura, porque normaliza el resultado y permite comparar mejor si la mejora viene de una decisión más eficiente o simplemente de haber puesto más capital a trabajar.

Rentabilidad acumulada sobre capital invertido en walk-forward

Por qué este proyecto importa

Técnicamente, porque aterriza conceptos que suelen quedarse en teoría: series temporales, validación temporal, feature engineering, clasificación, regresión y backtesting dentro de una misma arquitectura coherente.

Como proyecto, porque no se quedó en entrenar modelos sueltos. Hubo diseño de pipeline, evolución metodológica, generación de artefactos reutilizables y una integración real entre contexto macro, decisión táctica y evaluación económica.

Desde criterio financiero, porque obliga a distinguir entre “ganar más” y “decidir mejor”. Una estrategia dinámica puede parecer superior si invierte bastante más capital, así que medir eficiencia del capital extra fue una parte importante de la honestidad del trabajo.

Aprendizajes y siguientes pasos

  • Extender el sistema a otros índices o activos para comprobar si la arquitectura generaliza fuera del NASDAQ100.
  • Incorporar nuevas fuentes de contexto, como volatilidad implícita, spreads de crédito o indicadores alternativos.
  • Mejorar la política de asignación de capital para que la modulación de aportaciones sea más fina que el esquema 0.5x / 1x / 2x.
  • Utilizarlo como base de un sistema de apoyo a la toma de decisiones de inversión más detallado, robusto y sofisticado.