Skip to content

Repository files navigation

MARS-TITAN

Memoria causal adaptativa para predicción bursátil multimodal

Proyecto de investigación y desarrollo de Gonzalo García Lama sobre memoria neural y predicción financiera multimodal.

Licencia: MIT

Tablero Kanban privado · Issues · Hitos · Documentación

Observatorio de experimentos · Uso, contrato y límites

Qué se quiere investigar

Los mercados cambian, las noticias llegan a distintas horas y una parte de la información financiera se publica después del periodo al que se refiere. En estas condiciones, una buena predicción sobre un histórico no basta para demostrar que un modelo generaliza.

MARS-TITAN estudia si una memoria neural adaptativa, que selecciona eventos financieros relevantes y conserva información útil de distintos contextos de mercado, aporta valor frente a modelos más sencillos. El trabajo combina precios, noticias y, cuando su disponibilidad temporal pueda justificarse, información fundamental y representaciones de gráficos de FinMultiTime.

La investigación incorpora mecanismos de aprendizaje y memoria, recurrencia interna de pocos pasos y contexto macroeconómico. La inspiración biológica se traduce en hipótesis sobre retención, adaptación y reaprendizaje. Los antecedentes recientes, incluidos DeepSeek y modelos financieros con memoria, sirven para decidir qué comparar y qué técnicas pueden ser útiles en una GPU pequeña.

La pregunta principal es: ¿mejora una memoria adaptativa de eventos la predicción de retornos residuales fuera de muestra, con un presupuesto de cómputo comparable y después de controlar la fuga temporal? La utilidad financiera se examinará mediante simulaciones con costes. Una mejora predictiva no implica por sí sola rentabilidad.

Estado actual: preparación documental, configuración, fuentes y observatorio, sin implementación científica iniciada. La arquitectura está propuesta. Los experimentos y sus resultados están pendientes. Las utilidades conservan la biblioteca, verifican el repositorio, descargan fuentes públicas y exportan resúmenes permitidos. El observatorio muestra inicialmente un registro vacío, no entrenamientos simulados. Los diagramas muestran el diseño del estudio, no rendimiento observado. «Causal» se refiere al orden de disponibilidad de la información. No implica haber identificado causas económicas.

Alcance y recursos

El equipo de trabajo tiene 32 GB de RAM y una RTX 4070 Max-Q de 8 GB. Se propone un piloto de hasta 64 activos y una comparación principal de hasta 128, seleccionados con información del periodo de desarrollo. La lectura por bloques permite preparar el recorrido de toda la copia, que ocupa unos 109 GiB. Ampliar el entrenamiento a más activos o a China dependerá del coste medido y del calendario.

Los entrenamientos prolongados deberán guardar y restaurar optimizador, semillas, cursor de datos y memoria adaptativa. La política de checkpoints está especificada, pero no existen todavía pesos entrenados. El plan de cómputo contempla la disponibilidad del equipo durante las 24 horas.

Diseño del estudio

flowchart LR
    D[FinMultiTime<br/>precios · noticias · tablas · gráficos] --> P[Disponibilidad temporal<br/>calidad y procedencia]
    P --> X[Representaciones<br/>y objetivo residual]
    X --> B[Modelos base<br/>cero · Ridge · árboles · GRU]
    X --> M[MARS-TITAN<br/>memoria · sorpresa · régimen]
    M --> A[Ablaciones<br/>componentes y modalidades]
    B --> E[Evaluación walk-forward<br/>predicción · incertidumbre · costes]
    A --> E
    E --> C[Análisis crítico<br/>mejoras, fallos y límites]
Loading

Una predicción solo puede usar datos disponibles en su instante de decisión. La memoria se actualiza con errores de predicciones anteriores cuando sus etiquetas ya han madurado. Las tablas contables necesitan fechas de publicación y los gráficos se construirán exclusivamente con ventanas pasadas.

Objetivos y evidencias

Objetivo / fase Resultado que se deberá demostrar
1. Datos multimodales Subconjunto reproducible, contrato temporal, procedencia y controles contra fuga de información.
2. Problema predictivo Objetivo residual respecto al mercado. Extensión sectorial solo si los datos permiten justificarla.
3. Memoria adaptativa Prototipo compacto, actualización temporal verificable, regímenes e incertidumbre.
4. Comparativa Modelos base y ablaciones con iguales datos, particiones y presupuesto documentado.
5. Evaluación Walk-forward, métricas predictivas y financieras, costes y estimación de incertidumbre de las diferencias.
6. Análisis crítico Interpretación por periodo, modalidad y régimen. Resultados negativos, limitaciones y trabajo futuro.

Los objetivos se gestionan como seis hitos y 64 tareas canónicas, con prioridad, tamaño, dependencias y criterios de aceptación. Cada issue concreta herramientas, entradas, pasos, artefactos previstos y pruebas. Cinco tareas redundantes se han consolidado conservando su historial. El código y la documentación se organizan por su función, no por fase. El plan de trabajo, el catálogo del tablero y la guía de implementación explican cómo avanzar sin convertir las extensiones en obligaciones del núcleo.

Documentación

Estructura del repositorio

src/mars_titan/       Espacio reservado para los futuros módulos científicos
native/              C/C++ y CUDA con CMake, optimización guiada por perfilado
configs/             Configuraciones de datos y experimentos
tests/               Verificación documental y plan de pruebas científicas
scripts/             Biblioteca, captura de fuentes y mantenimiento
site/                Observatorio estático, sin ejecutar modelos en el navegador
notebooks/           Exploraciones acotadas y reproducibles
data/                Contratos y manifiestos, derivados locales ignorados
dataset/             Copia local existente de FinMultiTime, fuera de Git
docs/                Investigación, ingeniería y bibliografía
thesis/              Documento de investigación en LaTeX
reports/             Plantillas de resultados y fichas de experimentos
.github/             Planificación y plantillas de revisión

Empezar

Requisitos: Git, uv y ripgrep. La comprobación nativa necesita CMake y compiladores C/C++. El entorno de desarrollo usa Python 3.12, gestionado por uv. La guía de entorno recoge las dependencias del sistema.

git clone https://github.com/GonxKZ/mars-titan.git
cd mars-titan
uv sync --locked
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv run python scripts/check_repository.py

Las comprobaciones se ejecutan localmente antes de publicar cambios. La única excepción autorizada de GitHub Actions es publicar la página de GitHub Pages, sin pruebas ni entrenamientos en GitHub.

Para preparar análisis y entrenamiento en Linux x86-64 con NVIDIA:

uv sync --locked --extra data --extra research --extra cuda
nvidia-smi
uv run python - <<'PY'
import torch

if not torch.cuda.is_available():
    raise RuntimeError("CUDA no está disponible")
device = torch.device("cuda:0")
print(torch.cuda.get_device_name(device))
print(torch.ones(1, device=device).item())
PY

La comprobación falla si no hay CUDA. Los experimentos seleccionarán cuda:0. La instalación de PyTorch tiene un índice CUDA explícito y los controles de calidad no requieren descargarlo. Para tareas independientes existe además un entorno compartido compatible: véase reproducibilidad.

La biblioteca se obtiene desde las fuentes registradas:

uv run python scripts/fetch_references.py

Los fallos de acceso quedan registrados. El catálogo no autoriza redistribuir publicaciones. Los PDF de terceros se conservan en docs/references/library/, fuera de Git. Un clon contiene las referencias y el procedimiento de descarga.

Para consultar las fuentes públicas habilitadas y obtener una captura nueva del RSS monetario oficial:

uv run python scripts/refresh_public_sources.py --list
uv run python scripts/refresh_public_sources.py --source fed_monetary_rss

El actualizador necesita curl. Sin --source, consulta las ocho fuentes renovables validadas. Cada ejecución crea su propio manifiesto y conserva las capturas anteriores. No mezcla actualizaciones con el benchmark ni instala tareas periódicas. Los límites, la selección explícita de documentos PDF y las precauciones temporales se detallan en la guía de actualización.

Datos, resultados y licencia

Para generar una instantánea del observatorio desde estados locales:

uv run --locked python scripts/export_observatory.py --output site/data/observatory.json
node --test site/tests/*.test.mjs

El exportador no usa GPU, red ni logs completos. Generar una instantánea no la publica. La web puede consultar el último resumen publicado o importar un JSON local sin enviarlo a un servidor. La guía del observatorio explica la integración futura con los entrenadores, el historial privado y la protección del test.

La copia de FinMultiTime y sus derivados no se suben al repositorio. La selección experimental se fijará tras auditar cobertura, fechas y derechos de uso. No se presentan aquí resultados de rentabilidad ni recomendaciones de inversión.

El código y la documentación originales se distribuyen bajo MIT, una licencia gratuita y permisiva. Los documentos de terceros, los datos, los artículos y los libros mantienen sus condiciones originales: avisos de terceros.

Para citar el proyecto, utilizar CITATION.cff. Las normas de desarrollo están en CONTRIBUTING.md.

About

MARS-TITAN: investigación en memoria adaptativa para predicción bursátil multimodal y comparativa reproducible de soluciones.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages