$ whoami

José Ángel Carretero Montes

> Computer Engineering & Business Administration | Data Science

Open to internships now · Full-time availability summer 2027

About Me

about.md

Fifth-year student of the double degree in Computer Engineering (Computation and Intelligent Systems) and Business Administration at the University of Granada. I specialize in Data Science and artificial intelligence algorithms, with experience in full-stack development, infrastructure automation, and distributed systems. I'm looking to apply analytical models and machine learning techniques to real-world problems in finance and business.

Languages

C++ C Python SQL Java JavaScript Ruby Bash

Frameworks

Django React Vite

Infrastructure

Docker Ansible Linux Oracle

Data Science

Jupyter Pandas NumPy Matplotlib

Projects

01

Talk to Your Money — AI Financial Assistant

Conversational financial assistant built for the Cátedra Unicaja challenge (University of Granada): natural-language questions about your transactions with LLM-generated charts, and operations (Bizum transfers, investments) that never run without your approval.

  • LangGraph graph that separates deciding from executing: the LLM only proposes, a deterministic step checks funds and limits, the graph pauses until you approve, and execution happens in a single idempotent transaction.
  • No free-form SQL: the agent picks from 18 tools, each a parameterized SQLAlchemy query, which rules out SQL injection by design.
  • 86.4% accuracy in an evaluation on the real pipeline, checked against values computed with direct SQL; ~4.2 s median full response time.
  • Nightly proactive dashboard, user memory (RAG), fully local voice mode, and 56 pytest tests.
PythonFastAPILangGraphSQLAlchemyReactDocker
02

Portfolio Selection with Metaheuristics

C++17 implementation and experimental comparison of 14 metaheuristics (Greedy, local search, ILS, simulated annealing, genetic and memetic algorithms) to build investment portfolios that maximize return against risk.

  • Evaluated on the IBEX 35, S&P 100, and S&P 500 (up to 457 assets): trained on 2015-2024 data with out-of-sample validation on 2025, 50 seeds per algorithm.
  • The memetic AM-Best algorithm achieves the best training and test results on all three indices.
  • O(N²) evaluation parallelized with OpenMP and optimized builds (up to ~40× faster), with multi-platform CI on GitHub Actions.
  • Parameter sensitivity studies (BLX-α's α, simulated annealing temperature and neighborhood) documented in three technical reports.
C++OpenMPMetaheuristicsOptimization
03

Danger Theory — Financial Crisis Detection

Research applying immunology's Danger Theory to early detection of currency crises: a genetic algorithm evolves agents that learn their own rules from market stress signals.

  • The agent predicts "Black Wednesday" (the 1992 sterling crisis) one day in advance, relying almost entirely on Bank of England intervention and unemployment, without looking at the price.
  • Validated with a synthetic "value trap" test and by transfer to the 1994 Mexican peso crisis, where it recalibrates its threshold, avoids false positives, and predicts the collapse.
  • Academic paper and interactive book published on GitHub Pages, co-authored and supervised by Dr. José Luis Sáez Lozano (University of Granada).
PythonPandasGenetic AlgorithmsJupyter

GitHub

Featured public repositories

reto-unicaja

Python

portfolio

Trabajo de gestión de carteras para asignatura MH.

C++

DANGER-THEORY-DT-

Jupyter Notebook

web

Portfolio personal

Astro

practica2IA

C++

Irrgarten-ruby

Ruby

Activity

263contributions in the last year

OctNovDecJanFebMarAprMayJunJulAugSepOct2025-10-26: 0 contributions2025-10-27: 0 contributions2025-10-28: 0 contributions2025-10-29: 0 contributions2025-10-30: 0 contributions2025-10-31: 0 contributions2025-11-01: 0 contributions2025-11-02: 0 contributions2025-11-03: 0 contributions2025-11-04: 1 contribution2025-11-05: 0 contributions2025-11-06: 0 contributions2025-11-07: 0 contributions2025-11-08: 0 contributions2025-11-09: 5 contributions2025-11-10: 0 contributions2025-11-11: 2 contributions2025-11-12: 0 contributions2025-11-13: 1 contribution2025-11-14: 0 contributions2025-11-15: 0 contributions2025-11-16: 2 contributions2025-11-17: 0 contributions2025-11-18: 0 contributions2025-11-19: 0 contributions2025-11-20: 1 contribution2025-11-21: 0 contributions2025-11-22: 2 contributions2025-11-23: 3 contributions2025-11-24: 0 contributions2025-11-25: 0 contributions2025-11-26: 0 contributions2025-11-27: 3 contributions2025-11-28: 1 contribution2025-11-29: 1 contribution2025-11-30: 0 contributions2025-12-01: 0 contributions2025-12-02: 12 contributions2025-12-03: 2 contributions2025-12-04: 0 contributions2025-12-05: 0 contributions2025-12-06: 0 contributions2025-12-07: 0 contributions2025-12-08: 1 contribution2025-12-09: 0 contributions2025-12-10: 0 contributions2025-12-11: 2 contributions2025-12-12: 0 contributions2025-12-13: 1 contribution2025-12-14: 0 contributions2025-12-15: 0 contributions2025-12-16: 0 contributions2025-12-17: 0 contributions2025-12-18: 0 contributions2025-12-19: 0 contributions2025-12-20: 0 contributions2025-12-21: 0 contributions2025-12-22: 0 contributions2025-12-23: 0 contributions2025-12-24: 2 contributions2025-12-25: 0 contributions2025-12-26: 0 contributions2025-12-27: 0 contributions2025-12-28: 0 contributions2025-12-29: 2 contributions2025-12-30: 2 contributions2025-12-31: 2 contributions2026-01-01: 0 contributions2026-01-02: 3 contributions2026-01-03: 0 contributions2026-01-04: 1 contribution2026-01-05: 0 contributions2026-01-06: 0 contributions2026-01-07: 0 contributions2026-01-08: 0 contributions2026-01-09: 0 contributions2026-01-10: 0 contributions2026-01-11: 0 contributions2026-01-12: 4 contributions2026-01-13: 0 contributions2026-01-14: 0 contributions2026-01-15: 0 contributions2026-01-16: 0 contributions2026-01-17: 1 contribution2026-01-18: 6 contributions2026-01-19: 1 contribution2026-01-20: 1 contribution2026-01-21: 6 contributions2026-01-22: 0 contributions2026-01-23: 1 contribution2026-01-24: 0 contributions2026-01-25: 0 contributions2026-01-26: 0 contributions2026-01-27: 0 contributions2026-01-28: 0 contributions2026-01-29: 4 contributions2026-01-30: 0 contributions2026-01-31: 0 contributions2026-02-01: 0 contributions2026-02-02: 0 contributions2026-02-03: 0 contributions2026-02-04: 0 contributions2026-02-05: 0 contributions2026-02-06: 0 contributions2026-02-07: 0 contributions2026-02-08: 0 contributions2026-02-09: 0 contributions2026-02-10: 0 contributions2026-02-11: 0 contributions2026-02-12: 0 contributions2026-02-13: 0 contributions2026-02-14: 0 contributions2026-02-15: 0 contributions2026-02-16: 0 contributions2026-02-17: 0 contributions2026-02-18: 0 contributions2026-02-19: 0 contributions2026-02-20: 0 contributions2026-02-21: 0 contributions2026-02-22: 0 contributions2026-02-23: 0 contributions2026-02-24: 0 contributions2026-02-25: 0 contributions2026-02-26: 0 contributions2026-02-27: 0 contributions2026-02-28: 0 contributions2026-03-01: 0 contributions2026-03-02: 2 contributions2026-03-03: 0 contributions2026-03-04: 0 contributions2026-03-05: 0 contributions2026-03-06: 0 contributions2026-03-07: 0 contributions2026-03-08: 0 contributions2026-03-09: 1 contribution2026-03-10: 1 contribution2026-03-11: 0 contributions2026-03-12: 0 contributions2026-03-13: 2 contributions2026-03-14: 1 contribution2026-03-15: 4 contributions2026-03-16: 1 contribution2026-03-17: 0 contributions2026-03-18: 1 contribution2026-03-19: 0 contributions2026-03-20: 0 contributions2026-03-21: 0 contributions2026-03-22: 0 contributions2026-03-23: 0 contributions2026-03-24: 0 contributions2026-03-25: 3 contributions2026-03-26: 0 contributions2026-03-27: 0 contributions2026-03-28: 0 contributions2026-03-29: 0 contributions2026-03-30: 0 contributions2026-03-31: 0 contributions2026-04-01: 3 contributions2026-04-02: 0 contributions2026-04-03: 0 contributions2026-04-04: 0 contributions2026-04-05: 1 contribution2026-04-06: 1 contribution2026-04-07: 0 contributions2026-04-08: 0 contributions2026-04-09: 0 contributions2026-04-10: 0 contributions2026-04-11: 2 contributions2026-04-12: 1 contribution2026-04-13: 0 contributions2026-04-14: 0 contributions2026-04-15: 0 contributions2026-04-16: 0 contributions2026-04-17: 0 contributions2026-04-18: 0 contributions2026-04-19: 1 contribution2026-04-20: 1 contribution2026-04-21: 1 contribution2026-04-22: 1 contribution2026-04-23: 0 contributions2026-04-24: 1 contribution2026-04-25: 1 contribution2026-04-26: 1 contribution2026-04-27: 0 contributions2026-04-28: 2 contributions2026-04-29: 0 contributions2026-04-30: 0 contributions2026-05-01: 0 contributions2026-05-02: 0 contributions2026-05-03: 1 contribution2026-05-04: 2 contributions2026-05-05: 0 contributions2026-05-06: 4 contributions2026-05-07: 0 contributions2026-05-08: 1 contribution2026-05-09: 3 contributions2026-05-10: 0 contributions2026-05-11: 1 contribution2026-05-12: 0 contributions2026-05-13: 0 contributions2026-05-14: 0 contributions2026-05-15: 0 contributions2026-05-16: 0 contributions2026-05-17: 0 contributions2026-05-18: 0 contributions2026-05-19: 0 contributions2026-05-20: 2 contributions2026-05-21: 0 contributions2026-05-22: 0 contributions2026-05-23: 0 contributions2026-05-24: 0 contributions2026-05-25: 0 contributions2026-05-26: 0 contributions2026-05-27: 2 contributions2026-05-28: 0 contributions2026-05-29: 0 contributions2026-05-30: 1 contribution2026-05-31: 0 contributions2026-06-01: 0 contributions2026-06-02: 0 contributions2026-06-03: 0 contributions2026-06-04: 0 contributions2026-06-05: 0 contributions2026-06-06: 0 contributions2026-06-07: 0 contributions2026-06-08: 0 contributions2026-06-09: 0 contributions2026-06-10: 0 contributions2026-06-11: 3 contributions2026-06-12: 0 contributions2026-06-13: 0 contributions2026-06-14: 0 contributions2026-06-15: 0 contributions2026-06-16: 0 contributions2026-06-17: 1 contribution2026-06-18: 0 contributions2026-06-19: 0 contributions2026-06-20: 0 contributions2026-06-21: 0 contributions2026-06-22: 0 contributions2026-06-23: 0 contributions2026-06-24: 0 contributions2026-06-25: 0 contributions2026-06-26: 0 contributions2026-06-27: 0 contributions2026-06-28: 0 contributions2026-06-29: 0 contributions2026-06-30: 0 contributions2026-07-01: 0 contributions2026-07-02: 0 contributions2026-07-03: 0 contributions2026-07-04: 2 contributions2026-07-05: 3 contributions2026-07-06: 0 contributions2026-07-07: 2 contributions2026-07-08: 0 contributions2026-07-09: 3 contributions2026-07-10: 0 contributions2026-07-11: 3 contributions2026-07-12: 0 contributions2026-07-13: 3 contributions2026-07-14: 0 contributions2026-07-15: 0 contributions2026-07-16: 0 contributions2026-07-17: 0 contributions2026-07-18: 0 contributions2026-07-19: 0 contributions2026-07-20: 0 contributions2026-07-21: 2 contributions2026-07-22: 0 contributions2026-07-23: 0 contributions2026-07-24: 0 contributions2026-07-25: 0 contributions2026-07-26: 1 contribution2026-07-27: 0 contributions2026-07-28: 0 contributions2026-07-29: 2 contributions2026-07-30: 0 contributions2026-07-31: 0 contributions2026-08-01: 0 contributions2026-08-02: 0 contributions2026-08-03: 0 contributions2026-08-04: 0 contributions2026-08-05: 0 contributions2026-08-06: 0 contributions2026-08-07: 0 contributions2026-08-08: 0 contributions2026-08-09: 1 contribution2026-08-10: 0 contributions2026-08-11: 0 contributions2026-08-12: 0 contributions2026-08-13: 0 contributions2026-08-14: 0 contributions2026-08-15: 0 contributions2026-08-16: 0 contributions2026-08-17: 0 contributions2026-08-18: 0 contributions2026-08-19: 0 contributions2026-08-20: 0 contributions2026-08-21: 0 contributions2026-08-22: 0 contributions2026-08-23: 0 contributions2026-08-24: 0 contributions2026-08-25: 0 contributions2026-08-26: 0 contributions2026-08-27: 0 contributions2026-08-28: 0 contributions2026-08-29: 0 contributions2026-08-30: 0 contributions2026-08-31: 0 contributions2026-09-01: 0 contributions2026-09-02: 0 contributions2026-09-03: 0 contributions2026-09-04: 0 contributions2026-09-05: 0 contributions2026-09-06: 0 contributions2026-09-07: 0 contributions2026-09-08: 0 contributions2026-09-09: 0 contributions2026-09-10: 0 contributions2026-09-11: 0 contributions2026-09-12: 0 contributions2026-09-13: 0 contributions2026-09-14: 0 contributions2026-09-15: 0 contributions2026-09-16: 0 contributions2026-09-17: 0 contributions2026-09-18: 0 contributions2026-09-19: 0 contributions2026-09-20: 0 contributions2026-09-21: 0 contributions2026-09-22: 0 contributions2026-09-23: 0 contributions2026-09-24: 0 contributions2026-09-25: 9 contributions2026-09-26: 11 contributions2026-09-27: 0 contributions2026-09-28: 0 contributions2026-09-29: 0 contributions2026-09-30: 1 contribution2026-10-01: 0 contributions2026-10-02: 1 contribution2026-10-03: 0 contributions2026-10-04: 0 contributions2026-10-05: 0 contributions2026-10-06: 3 contributions2026-10-07: 0 contributions2026-10-08: 0 contributions2026-10-09: 12 contributions2026-10-10: 5 contributions2026-10-11: 0 contributions2026-10-12: 0 contributions2026-10-13: 16 contributions2026-10-14: 0 contributions2026-10-15: 14 contributions2026-10-16: 0 contributions2026-10-17: 0 contributions2026-10-18: 0 contributions2026-10-19: 0 contributions2026-10-20: 0 contributions2026-10-21: 0 contributions2026-10-22: 1 contribution2026-10-23: 0 contributions2026-10-24: 18 contributions2026-10-25: 20 contributions2026-10-26: 0 contributions2026-10-27: 0 contributions
Less
More

Education

Double Degree in Computer Engineering + Business Administration

University of Granada

2022 - Present
  • Specialization in Computation and Intelligent Systems

$ ls certifications/

Aptis ESOL — English C1

British Council

September 2026
  • Overall CEFR level C1 · 179/200
  • Listening C1 · Reading C1 (50/50) · Speaking B2 · Writing B2
Verify credential