Skip to content

Latest commit

 

History

History
142 lines (103 loc) · 3.49 KB

File metadata and controls

142 lines (103 loc) · 3.49 KB

QUANTARMY QUANTSTACK

Plataforma de investigacion y backtesting de trading algoritmico con Zipline, ArcticDB y JupyterLab.

QUANTARMY.COM | PYTHONPARATRADING.COM


Requisitos Previos

  • Docker y Docker Compose instalados
  • Credenciales de acceso al QA Datalake (S3/ArcticDB)

Estructura del Proyecto

quantstack/
├── DockerSource/
│   ├── Dockerfile          # Definicion de la imagen Docker
│   ├── req.txt             # Dependencias Python
│   ├── extension.py        # Extension Zipline (registro de bundles)
│   ├── qa_datalake.py      # Conector ArcticDB -> Zipline
│   ├── overrides.json      # Configuracion JupyterLab (tema, fuentes)
│   └── .env                # Credenciales (NO incluido en git)
├── quantarmy_repo/
│   ├── backtest/           # Notebooks de backtesting
│   ├── datalake/           # Documentacion y ejemplos del datalake
│   ├── models/             # Modelos alpha y estrategias
│   ├── analisis/           # Notebooks de analisis
│   ├── theory/             # Material educativo
│   ├── howtos/             # Guias practicas
│   └── tools/              # Utilidades (gestion de BD Zipline)
├── docker-compose.yml      # Orquestacion Docker
└── readme.md

Inicio Rapido

1. Clonar el Repositorio

git clone https://github.com/quantarmyz/quantstack.git
cd quantstack

2. Crear Archivo de Credenciales

Crea el archivo DockerSource/.env con tus credenciales del datalake:

ENDPOINT=tu-endpoint.com
DB=tu-bucket
ACCESS_KEY=tu-access-key
SECRET_KEY=tu-secret-key

3. Compilar la Imagen Docker

docker compose build --no-cache

4. Iniciar el Stack

Modo interactivo (ver logs):

docker compose up

Modo segundo plano:

docker compose up -d

5. Acceder a JupyterLab

Abre en tu navegador:

http://localhost:8888

Password por defecto: testing

Para cambiar el password, edita JUPYTER_TOKEN en docker-compose.yml.

6. Ingestar Datos del Datalake

Desde un terminal dentro de JupyterLab:

zipline ingest -b qa_datalake

Esto conectara al datalake, descargara los datos de ETFs y los cargara en la base de datos de Zipline.

7. Ejecutar un Backtest

Navega a la carpeta backtest/ y abre:

  • template_zipline_jupyterlab.ipynb - Template base para crear nuevos backtests
  • 01-bt-zipline-variance.ipynb - Ejemplo: estrategia de volatilidad

ETFs Disponibles

El bundle qa_datalake incluye datos historicos desde 2010 para:

Ticker Descripcion
XLE.US Energy Select Sector
XLF.US Financial Select Sector
XLI.US Industrial Select Sector
XLK.US Technology Select Sector
XLP.US Consumer Staples Select Sector
XLU.US Utilities Select Sector
XLV.US Health Care Select Sector
XLY.US Consumer Discretionary Select Sector
XLB.US Materials Select Sector
XLC.US Communication Services Select Sector
ITA.US iShares U.S. Aerospace & Defense

Comandos Utiles

# Ver bundles disponibles
zipline bundles

# Re-ingestar datos
zipline ingest -b qa_datalake

# Limpiar bundles antiguos (mantener ultimos 3)
zipline clean -b qa_datalake --keep-last 3

# Parar el stack
docker compose down

# Reconstruir sin cache
docker compose build --no-cache

Contacto