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.
Reuní y depuré indicadores macroeconómicos, financieros y series del NASDAQ100 para alimentar tanto el bloque macro como el técnico.
Filtra el entorno con variables macro-financieras y estima si el contexto es favorable.
Combina señales del NASDAQ100 con el contexto macro para modular la agresividad.
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.

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
| Bloque | Decisión final | Qué aporta |
|---|---|---|
| Macro final | Random Forest sobre Y_favorable_bin_6m | balanced accuracy 0.5714, F1 0.6667, ROC AUC 0.8571 |
| Técnico con mejor señal | Extra Trees binario agresivo | balanced accuracy 0.55, F1 0.3333, ROC AUC 0.65 |
| Lectura financiera | Test limpio: binario_agresivo vs dca_base | Mejora ligera en retorno sobre capital: 18.34% vs 17.35%, pero con más capital invertido: 2700 vs 1900 |
| Lectura histórica | walk-forward frente a DCA base | dca_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.

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.

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.
