Nivel 0 · 80–100 h

Python desde cero y mentalidad de datos

El punto de entrada para quien no ha programado nunca: entorno moderno, el lenguaje, cálculo numérico con datos y la estadística mínima para medir rentabilidad y riesgo.

Fig. — Curva de capital de un ETF y su drawdown (esquema)
01/08
Prerrequisito
Ninguno
Perfil
Sin experiencia en programación

Bienvenida y expectativas

  • 0.1.1 Qué es el trading sistemático, algorítmico y cuantitativo frente al discrecional.
  • 0.1.2 Expectativas realistas: costes, tiempo, riesgo de pérdida.
  • 0.1.3 Estructura del curso, tests de entrada y repositorio personal; ética del aprendizaje con IA.

Entorno de trabajo moderno

  • 0.2.1 Instalación de Python 3.13/3.14 con uv; versiones y ciclo de soporte (3.10 fuera de soporte en octubre de 2026; 3.15 publicada).
  • 0.2.2 Entornos virtuales y dependencias: uv init, uv add, pyproject.toml, lockfiles.
  • 0.2.3 Editores (VS Code, Cursor, PyCharm) y Jupyter, JupyterLab o Marimo.
  • 0.2.4 Terminal básica, rutas, variables de entorno, ficheros .env.
  • 0.2.5 Git y GitHub: commits, ramas, pull requests, .gitignore. Nunca subir claves API.
  • 0.2.6 Introducción a los asistentes de código con IA: prompts, revisión y tests.

Fundamentos del lenguaje

  • 0.3.1 Variables, tipos y operadores; coma flotante y decimal para precios y ticks.
  • 0.3.2 Cadenas, f-strings, formato de números y fechas.
  • 0.3.3 Listas, tuplas, diccionarios, conjuntos; comprensiones.
  • 0.3.4 Control de flujo: if/elif/else, for, while, match-case.
  • 0.3.5 Funciones: argumentos, *args/**kwargs, lambdas, ámbito.
  • 0.3.6 Excepciones; módulos y paquetes (los imports perezosos de 3.15 como novedad).

Python intermedio

  • 0.4.1 POO: clases, herencia, composición, dataclasses.
  • 0.4.2 Tipado: type hints, mypy o ty, Pydantic para configuraciones.
  • 0.4.3 Iteradores, generadores, decoradores, context managers.
  • 0.4.4 Ficheros (CSV, JSON, YAML, TOML, pathlib); fechas con zoneinfo y zonas horarias de los mercados.
  • 0.4.5 Logging profesional y testing con pytest.
  • 0.4.6 Concurrencia: threading, multiprocessing y asyncio (base para APIs y websockets); free-threading en 3.14+.

Computación numérica y datos

  • 0.5.1 NumPy 2: arrays, broadcasting, vectorización, álgebra lineal, generadores aleatorios.
  • 0.5.2 pandas 3.0: Series y DataFrame, índices temporales, Copy-on-Write, tipo str con PyArrow, pd.col().
  • 0.5.3 Selección, filtrado, groupby, merge/join, pivot, resample, rolling/expanding.
  • 0.5.4 Polars: API lazy frente a eager, expresiones, rendimiento; cuándo elegir Polars frente a pandas.
  • 0.5.5 DuckDB y SQL esencial: SELECT, JOIN, GROUP BY y funciones de ventana sobre Parquet.

Visualización

  • 0.6.1 Matplotlib (API orientada a objetos), Seaborn y Plotly; velas con mplfinance o Plotly.
  • 0.6.2 Dashboards rápidos con Streamlit.

Matemáticas y estadística mínimas

  • 0.7.1 Rentabilidades simples y logarítmicas, interés compuesto; estadística descriptiva (media, varianza, asimetría, curtosis).
  • 0.7.2 Probabilidad básica y distribuciones (normal, t de Student); correlación frente a causalidad; regresión simple.
  • 0.7.3 Álgebra lineal intuitiva: vectores y matrices, como preparación para carteras.