Plataforma de investigacion y backtesting de trading algoritmico con Zipline, ArcticDB y JupyterLab.
QUANTARMY.COM | PYTHONPARATRADING.COM
- Docker y Docker Compose instalados
- Credenciales de acceso al QA Datalake (S3/ArcticDB)
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
git clone https://github.com/quantarmyz/quantstack.git
cd quantstackCrea 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-keydocker compose build --no-cacheModo interactivo (ver logs):
docker compose upModo segundo plano:
docker compose up -dAbre en tu navegador:
http://localhost:8888
Password por defecto: testing
Para cambiar el password, edita
JUPYTER_TOKENendocker-compose.yml.
Desde un terminal dentro de JupyterLab:
zipline ingest -b qa_datalakeEsto conectara al datalake, descargara los datos de ETFs y los cargara en la base de datos de Zipline.
Navega a la carpeta backtest/ y abre:
template_zipline_jupyterlab.ipynb- Template base para crear nuevos backtests01-bt-zipline-variance.ipynb- Ejemplo: estrategia de volatilidad
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 |
# 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- Web: quantarmy.com | pythonparatrading.com
- Email: jcx@quantarmy.com