Skip to content

QUANTARMY quantstack | One-click quantitative envoirment based in docker, debian, conda, jupyterlabs,zipline-reloaded and arcticdb

Notifications You must be signed in to change notification settings

quantarmyz/quantstack

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

About

QUANTARMY quantstack | One-click quantitative envoirment based in docker, debian, conda, jupyterlabs,zipline-reloaded and arcticdb

Topics

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages