⚠ El trading implica un riesgo significativo de pérdida. Todo el contenido de este sitio es únicamente educativo y no constituye asesoramiento financiero.
Lección 1 de 13 · Gratis

Configurar un entorno de investigación: Python, entornos virtuales, Jupyter y VS Code

Instala Python, crea un entorno de proyecto aislado, añade pandas, numpy y matplotlib, y ejecuta tu primer cálculo en un notebook.

Autor: Moustafa HijaziContenido revisado: 2026-10-306 min de lecturaCurso de autoaprendizaje

Qué aprenderás

  • Qué versión de Python instalar en 2026 y por qué «una versión por detrás de la más reciente» suele ser la opción más segura.
  • Cómo crear un entorno virtual para que cada proyecto de trading tenga su propio conjunto de paquetes, reproducible.
  • Cómo instalar pandas, numpy, matplotlib y Jupyter, y cómo fijar las versiones en un archivo requirements.txt.
  • Cómo organizar una carpeta de investigación para que los datos, los notebooks y el código reutilizable no se mezclen.

Explicación

Python es un lenguaje de programación de propósito general que se ha convertido en la herramienta estándar para la investigación cuantitativa en finanzas gracias a sus bibliotecas de datos. El curso Trading sistemático y backtesting probó una regla en una hoja de cálculo; este curso lleva las mismas ideas al código.

¿Qué versión? A finales de 2026, la serie más reciente de Python es la 3.15, y pandas 3.0 (publicado en enero de 2026) requiere Python 3.11 o posterior. Una regla práctica: instala la última versión que tenga al menos unos meses, porque las versiones recién publicadas a veces carecen de paquetes precompilados («wheels») para las bibliotecas científicas. Consulta siempre la página de descargas actual y, en Windows, marca «Add python to PATH» (añadir Python al PATH) durante la instalación. Compruébalo con python --version en una terminal (en macOS y Linux quizá necesites python3).

Entornos virtuales. Un entorno virtual (venv) es una carpeta privada que contiene su propia copia de los paquetes de Python de un proyecto. Sin él, actualizar pandas para el proyecto A puede romper en silencio el proyecto B. El módulo integrado crea uno:

python -m venv .venv

Actívalo con .venv\Scripts\activate (Windows) o source .venv/bin/activate (macOS/Linux). El indicador de la terminal muestra entonces (.venv) y, a partir de ese momento, pip instala solo en esa carpeta. La herramienta pip es el instalador de paquetes de Python; PyPI (Python Package Index, el índice de paquetes de Python) es el repositorio público del que descarga.

Las bibliotecas básicas. numpy ofrece arrays numéricos rápidos; pandas construye tablas etiquetadas (DataFrames) sobre numpy y es la herramienta principal de este curso; matplotlib dibuja gráficos; Jupyter te da notebooks, documentos que combinan código, resultados y notas. Instálalas en una sola línea:

pip install pandas numpy matplotlib jupyterlab pyarrow

El paquete pyarrow es opcional, pero el equipo de pandas lo recomienda porque pandas 3.0 lo usa para su nuevo tipo de texto predeterminado y para leer archivos más rápido.

Reproducibilidad. Después de instalar, ejecuta pip freeze > requirements.txt. El archivo enumera las versiones exactas, por ejemplo pandas==3.0.1. Más adelante, pip install -r requirements.txt recrea un entorno idéntico, de modo que un backtest de hoy produce los mismos números; un resultado que no puedes reproducir no es un resultado.

¿Notebook o script? Los notebooks de Jupyter (que se inician con jupyter lab) son ideales para explorar, porque cada celda se ejecuta por separado y muestra su resultado. VS Code (Visual Studio Code, un editor gratuito) abre los mismos notebooks .ipynb y los scripts .py normales, ofrece un depurador y muestra los errores mientras escribes. Selecciona en VS Code el intérprete que está dentro de .venv; de lo contrario, tus importaciones fallarán con «No module named pandas» aunque lo hayas instalado.

Una estructura de carpetas que escala:

  • data/raw/ para los archivos descargados que nunca editas a mano, data/processed/ para las versiones limpias.
  • notebooks/ para la exploración, numerados (01_load.ipynb, 02_returns.ipynb).
  • src/ para las funciones reutilizables (indicadores, métricas), tests/ para las pruebas unitarias que escribirás en la lección 9.
  • requirements.txt y un .gitignore que excluya .venv/, los archivos de datos grandes y cualquier archivo que contenga claves de API.

Ejemplo práctico

Ejemplo hipotético: una primera celda de notebook que sustituye un cálculo del tamaño de posición que quizá hiciste a mano en el curso Gestión del riesgo y de las operaciones. Supuestos: cuenta de €10,000, riesgo del 1% por operación, entrada en €50.00, stop en €47.00. Se ignoran comisiones, spread y deslizamiento.

account = 10_000

risk_pct = 0.01

entry, stop = 50.0, 47.0

risk_eur = account * risk_pct

per_share = entry - stop

shares = int(risk_eur // per_share)

print(shares, shares * entry, shares * per_share)

Paso a paso: riesgo en euros = 10,000 × 0.01 = €100. Riesgo por acción = 50 − 47 = €3. Acciones = 100 ÷ 3 = 33.3, y el operador de división entera // redondea hacia abajo a 33 (redondear hacia arriba superaría el presupuesto de riesgo). Valor de la posición = 33 × €50 = €1,650. Riesgo planificado real = 33 × €3 = €99. El resultado es 33 1650.0 99.0.

El guion bajo en 10_000 solo sirve para facilitar la lectura. Y el riesgo planificado no es la pérdida máxima: un gap que salte el stop puede hacer perder más de €99.

Error frecuente

Instalarlo todo de forma globalLos principiantes suelen ejecutar pip install sin un entorno activado, a veces con permisos de administrador. Meses después, dos proyectos necesitan versiones distintas de pandas, una actualización rompe notebooks antiguos y nadie sabe qué versiones produjeron el backtest del año pasado. Crea un .venv por proyecto, guarda requirements.txt en el control de versiones y no instales nunca en el Python del sistema.

Actividad práctica

En papel, escribe la secuencia exacta de comandos de terminal para: crear una carpeta de proyecto llamada momentum_research, crear y activar un entorno virtual dentro de ella, instalar pandas, numpy, matplotlib y JupyterLab, guardar las versiones e iniciar JupyterLab. Después indica qué debería imprimir python -c "import pandas; print(pandas.__version__)" si la instalación ha funcionado.

Mostrar solución
  1. mkdir momentum_research y después cd momentum_research
  2. python -m venv .venv
  3. source .venv/bin/activate (macOS/Linux) o .venv\Scripts\activate (Windows)
  4. pip install pandas numpy matplotlib jupyterlab
  5. pip freeze > requirements.txt
  6. jupyter lab

El comando de comprobación imprime una cadena de versión como 3.0.1 (tu número exacto depende de la versión vigente cuando instales).

Limitaciones: los portátiles de empresa y algunas distribuciones de Linux restringen las rutas de instalación; si no se encuentra python, usa python3 o la ruta completa que muestre tu instalador.

Ideas clave

  • Usa una versión de Python 3 reciente, pero no recién publicada; pandas 3.0 necesita Python 3.11 o posterior.
  • Un entorno virtual por proyecto más un requirements.txt con versiones fijadas hace que cada backtest sea reproducible.
  • pandas, numpy, matplotlib y Jupyter son las cuatro herramientas en las que se basa este curso; VS Code une notebooks y scripts.
  • Separa desde el primer día los datos brutos, los datos procesados, los notebooks y el código reutilizable.

Siguiente paso

La lección 2 cubre la pequeña parte de Python básico que necesitas antes de tocar pandas: tipos de datos, listas, diccionarios, bucles, funciones y cómo leer un mensaje de error.

Autoevaluación

Responde a las preguntas y luego comprueba tus respuestas. Puedes volver a intentarlo tantas veces como quieras.

1. ¿Por qué recomienda este curso crear un entorno virtual independiente para cada proyecto de investigación?

2. Instalaste pandas en tu .venv activado, pero un notebook en VS Code muestra 'No module named pandas'. ¿Cuál es la causa más probable?

3. Cuenta de €25,000, riesgo del 0.5% por operación, entrada en €120.00, stop en €114.00. Con la lógica del notebook del ejemplo práctico, ¿cuántas acciones devuelve el código?

Autoevaluación automática para tu propio repaso. Tus respuestas se comprueban en tu navegador y no las vemos ni evaluamos. No es un examen ni una titulación.

Tu progreso

«Completada» solo significa que marcaste la lección como terminada. No es una prueba de tu comprensión. El progreso y las notas se guardan solo en este navegador y en este dispositivo, no en una cuenta.