GaiaEx AcademyGaiaEx Academy
Python para finanzas: bibliotecas, datos y tu primer script
DesarrolladorProgramación10 min read

Python para finanzas: bibliotecas, datos y tu primer script

El lenguaje más popular en finanzas cuantitativas — empieza aquí

Compartir Publicaciones

Python como lenguaje de flujo de trabajo, no solo sintaxis

Los equipos de finanzas cuantitativas raramente eligen un lenguaje solo por elegancia abstracta. Eligen lo que permite a un investigador pasar de un CSV desordenado a una señal probada sin reescribir el mundo cada semana. Python gana porque es legible, scriptable y se sitúa en el centro de un enorme ecosistema numérico: ingesta, limpieza, trabajo de características, visualización y (con cuidado) servicios de producción.

Tres restricciones aparecen en casi todas las mesas:

  • Tiempo hasta el primer gráfico —¿puedes cargar una porción de historia y ver valores atípicos en minutos?
  • Interoperabilidad —¿puedes llamar a APIs de exchanges, bases de datos y bibliotecas de ML en un solo proceso?
  • Reproducibilidad —¿puede otra persona reconstruir tu entorno y obtener los mismos números?

Python no es el lenguaje más rápido por ciclo de CPU. A menudo es el camino más rápido desde la pregunta hasta la evidencia —que es el verdadero cuello de botella.

Pila cuantitativa típica en Python (capas lógicas) API / archivos REST, WS, CSV pandas alinear, reagrupar NumPy álgebra vectorial viz / ML matplotlib, sklearn… Notebook para explorar → módulo para reutilizar → job o servicio programado Mismo lenguaje; endurece los límites a medida que la idea sobrevive al escrutinio
Los datos fluyen hacia dentro desde los feeds; las bibliotecas se apilan; el endurecimiento mueve el código de notebooks hacia módulos.

Entornos que puedes reconstruir

Empieza cada proyecto serio desde un entorno aislado para que los experimentos con pip install no contaminen trabajos no relacionados. El camino clásico es python -m venv .venv, activarlo, y después fijar las dependencias en requirements.txt o un lockfile de Poetry o pip-tools.

En finanzas, también fija las semillas aleatorias donde importen las simulaciones, y registra instantáneas de los datos (incluso un hash del archivo de entrada) junto a los resultados. La reproducibilidad supera a los gráficos ingeniosos de un solo uso cuando un comité de riesgo pregunta qué cambió.

python -m venv .venv
source .venv/bin/activate
pip install pandas numpy matplotlib

Bibliotecas que conviene conocer de memoria

NumPy te da arrays contiguos y matemática elemento a elemento rápida. pandas añade encima tablas etiquetadas, índices temporales, combinaciones (merges) y agrupamientos (groupbys). Matplotlib (o Plotly) convierte las series en gráficos que puedes defender en una reunión.

Para la conectividad con cripto, ccxt normaliza muchas APIs de exchanges detrás de una sola interfaz —aun así, lee la precisión y los límites de velocidad de cada plataforma. Para las acciones tradicionales, los SDK de proveedores o los cargadores al estilo Yahoo son habituales para datos de entrenamiento, no para trading en vivo sensible a la latencia.

Un boceto mínimo de rendimientos y volatilidad

La mayoría de los flujos de trabajo se reducen a: cargar precios → calcular rendimientos → derivar estadísticas rolling. Aquí tienes un patrón compacto usando cierres diarios:

import pandas as pd
import numpy as np

df = pd.read_csv("prices.csv", parse_dates=["date"]).set_index("date")
df["ret"] = df["close"].pct_change()
df["vol_20d"] = df["ret"].rolling(20).std() * np.sqrt(252)

La volatilidad anualizada multiplica la desviación típica diaria por √252 solo si tratas los días de calendario de forma consistente —las barras intradía necesitan un escalado distinto. Documenta el tamaño de tu barra junto a cualquier número que publiques.

De precios brutos a estadísticas de riesgo Pₜ cierre rₜ ΔP/P σ, VaR ventanas rolling señal La basura en la ingesta contamina cada caja posterior — valida primero las marcas de tiempo y los splits.
Los rendimientos son la bisagra entre los niveles de precio y casi cualquier métrica posterior de riesgo o alfa.

Del backtest a las llamadas de API

El código de investigación y el código de producción divergen: el primero tolera bucles lentos; el segundo necesita timeouts, reintentos con backoff, IDs de orden idempotentes y logs estructurados. Si automatizas contra plataformas como GaiaEx sobre Hyperliquid, trata las claves del monedero, la disciplina de nonces y la finalidad on-chain como parte del sistema —no como una ocurrencia tardía atornillada a un notebook.

Python sigue siendo una buena capa de orquestación: llama a la API de trading, empuja las ejecuciones a pandas para analítica, y alerta en Slack cuando se disparan los límites de riesgo. Mantén el camino crítico lo bastante simple para razonar sobre él cuando los mercados dan saltos (gaps).