# QUANT-PLAN.md — Crypto Perpetual Futures Backtesting & Execution

> **Missão:** Identificar as melhores plataformas de backtest e exchanges com APIs acessíveis para trading de perpetual futures em crypto.
> **Data:** 2026-03-23 | **Autor:** Gandalf Quant Researcher 🧙‍♂️

---

## 1. TOP 5 PLATAFORMAS DE BACKTESTING

### 🥇 1. TradingView (Pine Script)
- **Linguagem:** Pine Script v5 (baseada em Python-ish)
- **Custo:** Gratuito (com limites) / Premium ~$15-60/mês
- **Vantagens:**
  - IDE integrada no browser
  -built-in backtesting de estratégias
  - Biblioteca enorme de indicadores comunitários
  - Dados de crypto de graça (com delay ou premium)
  - Simulador de trades (paper trading)
- **Desvantagens:**
  - Limitado a dados de TradingView
  - Pine Script é meio limitado vs. Python puro
  - Não conecta diretamente em exchanges (precisa de webhooks)
- **Melhor para:** Ideação rápida, estratégias visuais, community sharing
- **Link:** https://www.tradingview.com

### 🥈 2. Backtrader (Python)
- **Linguagem:** Python
- **Custo:** 100% Gratuito e Open Source
- **Vantagens:**
  - Extremamente flexível e personalizável
  - Suporte a múltiplas timeframes
  - AnalyzersBuilt-in robusto (Sharpe, Drawdown, etc.)
  - Suporta dados de CSV, Panda, Yahoo, etc.
  - Live trading com Interactive Brokers, Oanda, etc.
  - Slippage e commission schemes configuráveis
- **Desvantagens:**
  - Não tem dados de cryptobuiltin — precisa combinar com CCXT ou outro source
  - Curva de aprendizado íngreme
  - Documentação esparsa
- **Melhor para:** Traders que já sabem Python e querem controle total
- **Link:** https://www.backtrader.com
- **Install:** `pip install backtrader`

### 🥉 3. Jesse (Python)
- **Linguagem:** Python
- **Custo:** Gratuito (MIT License) / Versão Pro ~$29/mês
- **Vantagens:**
  - **Desenhado especificamente para crypto**
  - Suporte nativo a múltiplas exchanges via CCXT
  - Walk-forward analysis
  - Rotational strategies
  - UI web para visualização de resultados
  - Cálculo automático de position sizing
- **Desvantagens:**
  - Comunidade menor
  - Menos Flexible que Backtrader para casos exóticos
- **Melhor para:** Quem foca exclusivamente em crypto e quer setup rápido
- **Link:** https://jesse-ai.com / https://github.com/jesse-ai/jesse

### 4. QuantConnect (Lean Engine)
- **Linguagem:** Python, C#, F#, Java
- **Custo:** Gratuito (cloud com limites) / Pro ~$30-180/mês
- **Vantagens:**
  - **Institutional-grade** — processa $45B/month em volume
  - 15,000+ backtests/dia
  - Cloud + On-Premise (Lean Engine é open source)
  - Multi-asset: Crypto, Equity, Options, Futures, Forex
  - 20+ integrações de broker
  - Dados de crypto de múltiplas exchanges
  - Otimização de parâmetros em paralelo
  - **Mia — AI assistant para construir estratégias**
- **Desvantagens:**
  - Cloud pode ser caro para uso pesado
  - Lean Engine é complexo de configurar localmente
- **Melhor para:** Equipes sérias, Institutional-grade, multi-asset
- **Link:** https://www.quantconnect.com
- **Lean Engine:** https://github.com/QuantConnect/Lean

### 5. CCXT (Biblioteca — Não é backtester, mas essencial)
- **Linguagem:** JavaScript/TypeScript, Python, PHP, Go, C#, Java
- **Custo:** 100% Gratuito e Open Source
- **Papel:** **Não é plataforma de backtest** — é biblioteca de API para 100+ exchanges
- **Vantagens:**
  - Conecta em praticamente TODA exchange de crypto
  - Unified API — mesmo código para Binance, Bybit, Hyperliquid, etc.
  - Fetch OHLCV, orderbook, trades, colocar ordens
  - Pode ser usado COM Backtrader/Jesse para alimentar dados
- **Desvantagens:**
  - Só API client — precisa de outro framework para backtest
- **Melhor para:** Quem quer construir stack customizada
- **Link:** https://github.com/ccxt/ccxt
- **Install:** `pip install ccxt`

---

## 2. EXCHANGES COM PERPETUAL FUTURES + APIs ACESSÍVEIS

### ⚡ Hyperliquid
| Aspecto | Detalhe |
|---------|---------|
| **Tipo** | L1 Blockchain próprio (não EVM) |
| **Throughput** | 200k orders/second |
| **Finalidade** | 1 block (muito rápido) |
| **Fees Maker** | -0.01% (rebate!) |
| **Fees Taker** | 0.02% |
| **API** | REST + WebSocket |
| **KYC** | NÃO (sem KYC) |
| **Docs** | https://hyperliquid.gitbook.io/hyperliquid-docs |
| **Perps** | ✅ Sim, nativas (HyperCore) |
| **Gás** | Mínimo (L1 otimizado) |
| **Observações** | **TOP ESCOLHA** para trading de perps. Sem KYC, ultra-rápido, fees baixos |

### 🔵 dYdX
| Aspecto | Detalhe |
|---------|---------|
| **Tipo** | L1 Blockchain (Cosmos-based) |
| **Fees Maker** | -0.02% (rebate) |
| **Fees Taker** | 0.05% |
| **API** | REST + WebSocket + Indexer API |
| **KYC** | NÃO (sem KYC) |
| **Docs** | https://docs.dydx.exchange |
| **Perps** | ✅ Sim, nativas |
| **Observações** | Forte para trading, mas menos líquido que Binance/Bybit |

### 🟢 GMX (Arbitrum)
| Aspecto | Detalhe |
|---------|---------|
| **Tipo** | Decentralized perps (Arbitrum One) |
| **Fees** | Depende do pool — ~0.1% |
| **API** | Subgraph GraphQL + Smart Contract reads |
| **KYC** | NÃO (decentralized) |
| **Docs** | https://docs.gmx.io |
| **Perps** | ✅ Sim |
| **Observações** | Excelente para trading decentralized, mas APIs são menos tradicionais |

### 🔴 Apex (Arbitrum)
| Aspecto | Detalhe |
|---------|---------|
| **Tipo** | Decentralized perps (copy trading) |
| **API** | REST |
| **KYC** | NÃO |
| **Perps** | ✅ Sim |
| **Observações** | Foco em copy trading, mais novo |

### 🟣 Vertex Protocol
| Aspecto | Detalhe |
|---------|---------|
| **Tipo** | L2 perps (Arbitrum) |
| **Fees Maker** | 0.02% |
| **Fees Taker** | 0.05% |
| **API** | REST + WebSocket |
| **KYC** | NÃO |
| **Perps** | ✅ Sim |
| **Observações** | Mercado money market + perps |

### 🟡 Drift Protocol (Solana)
| Aspecto | Detalhe |
|---------|---------|
| **Tipo** | Decentralized perps (Solana) |
| **API** | TypeScript SDK |
| **KYC** | NÃO |
| **Perps** | ✅ Sim |
| **Observações** | Baseado em Solana — muito rápido, fees baixos |

### 🟠 Perpetual Protocol (Optimism)
| Aspecto | Detalhe |
|---------|---------|
| **Tipo** | Decentralized perps (Optimism) |
| **API** | Subgraph + Smart Contracts |
| **KYC** | NÃO |
| **Perps** | ✅ Sim |
| **Observações** | Um dos mais antigos, mais estabelecido |

---

## 3. COMPARAÇÃO DE FEES E VELOCIDADE

| Exchange | Taker Fee | Maker Fee | Latência | KYC | API Ease |
|----------|-----------|-----------|----------|-----|----------|
| **Hyperliquid** | 0.02% | **-0.01%** | ⚡⚡⚡⚡⚡ (200k/s) | ❌ | ⭐⭐⭐⭐⭐ |
| **dYdX** | 0.05% | -0.02% | ⚡⚡⚡⚡ (L1 Cosmos) | ❌ | ⭐⭐⭐⭐ |
| **GMX** | ~0.1% | ~0.1% | ⚡⚡⚡ (L2) | ❌ | ⭐⭐⭐ |
| **Vertex** | 0.05% | 0.02% | ⚡⚡⚡⚡ | ❌ | ⭐⭐⭐ |
| **Drift** | varies | varies | ⚡⚡⚡⚡⚡ (Solana) | ❌ | ⭐⭐⭐ |

> **Veredicto:** **Hyperliquid é a melhor escolha** — fees baixos (maker rebate!), velocidade absurda, sem KYC.

---

## 4. ESTRATÉGIAS E INDICADORES PARA PERPETUAL FUTURES

### 📊 Mean Reversion
**Conceito:** Preço desvia da média → volta para média.

**Indicadores:**
- Bollinger Bands (BB)
- RSI (Relative Strength Index) — sobrecompra/sobrevenda
- Keltner Channels
- Z-Score

**Funciona bem em:** Mercados com ranges definidos, menos em trends fortes.

**Código básico (pseudocódigo):**
```
if price < lower_BB_band:
    BUY (long)
elif price > upper_BB_band:
    SELL (short)
```

### 🚀 Momentum Breakout
**Conceito:** Preço quebra máxima/mínima de X períodos → entra na direção do breakout.

**Indicadores:**
- Donchian Channels (HHV/LLV)
- ATR (Average True Range) para stop
- Volume spike confirmation
- MACD crossovers

**Funciona bem em:** Mercados com trends definidos, crypto em alta volatilidade.

**Código básico (pseudocódigo):**
```
if high > HHV(high, 20) AND volume > avg_volume * 1.5:
    BUY
    set stop_loss = low - 2*ATR(14)
```

### 📐 Grid Trading
**Conceito:** Coloca ordens em níveis de preço equidistantes. Lucra em volatilidade lateral.

**Setup:**
- Defina range (suporte/resistência)
- Número de grids (10-50)
- Size por grid
- Buy limit nas grades inferiores, sell limit nas superiores

**Funciona bem em:** Mercados laterais (range-bound), exchanges com fees baixos.

**Cuidado:** Não funciona bem em trends fortes — pode acumular posições perdedoras.

### 💎 Scalping com Orderbook
**Conceito:** Analisa book de ordens (L2) para identificar walls, Icebergs, e ordens escondidas.

**Indicadores/Flags:**
- **Bid-Ask Spread** — spread estreito = mercado líquido
- **Wall detection** — grandes ordens estáticas indicam suporte/resistência
- **Delta** — diferença entre trades buyer-initiated vs seller-initiated
- **VPIN** (Volume Probability Informed Noise)

**Ferramentas:**
- CCXT para capturar orderbook snapshots
- Plotar heatmap de volume
- Detectar "iceberg orders" (ordens que aparecem aos poucos)

**Código básico (pseudocódigo):**
```
while True:
    ob = exchange.fetch_order_book(symbol)
    bid_walls = [p for p in ob['bids'] if p[1] > threshold]
    if bid_walls:
        # Wall detectado — preço tende a bouncing
        execute_grid_strategy()
    sleep(0.1)
```

---

## 5. STACK RECOMENDADO

```
┌─────────────────────────────────────────────────────────┐
│                    QUANT STACK                          │
├─────────────────────────────────────────────────────────┤
│                                                         │
│   DATA + BROKER          BACKTEST ENGINE     RESULTS    │
│   ─────────────          ───────────────     ───────   │
│                                                         │
│   CCXT ─────────────────► Backtrader ──────► QuantStats│
│   (100+ exchanges)       ou                 ou         │
│                          Jesse            TradingView   │
│                          ou                           │
│   Hyperliquid ──────────► QuantConnect                │
│   (via CCXT)             (Lean Engine)                │
│                                                         │
│   LIVE TRADING                                         │
│   ───────────                                         │
│   Hyperliquid API (via CCXT)                           │
│   dYdX API (via CCXT)                                  │
│                                                         │
└─────────────────────────────────────────────────────────┘
```

### Recomendação por Perfil:

| Perfil | Stack Recomendada |
|--------|-------------------|
| **Iniciante** | TradingView (Pine Script) + Hyperliquid paper |
| **Intermediário** | Jesse + CCXT + Hyperliquid |
| **Avançado** | Backtrader/Jesse + CCXT + Hyperliquid + QuantConnect |
| **Institutional** | QuantConnect Lean Engine + múltiplas exchanges |

---

## 6. MELHORES PRÁTICAS PARA BACKTESTING

### ⚠️ Armadilhas Comuns

1. **Look-ahead Bias**
   - Nunca use dados futuros no momento da decisão
   - Sempre use timestamps point-in-time

2. **Survivorship Bias**
   - Incluir apenas ativos que "sobreviveram" até hoje
   - Solução: Usar dados históricos de ativos descontinuados também

3. **Overfitting (Curve Fitting)**
   - Parâmetros demais no seu backtest = não funciona no live
   - Regra: Mais parâmetros = mais dados necessários
   - Use **Walk-Forward Analysis**

4. **Ignorar Fees e Slippage**
   - Fees compostos destroem estratégias
   - Slippage em ordens grandes é crítico em crypto
   - Sempre modelar: taker fee + maker rebate + slippage

5. **Não testar em Out-of-Sample**
   - Separe dados: 70% train, 30% test
   - Ideal: Walk-forward validation (rolling window)

6. **Psychological Bias**
   - Backtest bom ≠ estratégia boa
   - Quantificar drawdown aceitável
   - Plan de risk management

### ✅ Checklist Antes de Live

- [ ] Sharpe Ratio > 1.0 (ajustado para crypto > 0.5 pode ser bom)
- [ ] Max Drawdown < 20% (ou seu limite de risco)
- [ ] Win rate > 50% ou expectancy positivo
- [ ] Profit Factor > 1.2
- [ ] Testado em pelo menos 2 anos de dados
- [ ] Walk-forward validation passou
- [ ] Sensibilidade a fees testada (0.02%, 0.05%, 0.1%)
- [ ] Slippage modelado (pelo menos 1-2 ticks)
- [ ] Paper trading por 2+ semanas

---

## 7. LINKS ÚTEIS

### Documentação
- **Hyperliquid Docs:** https://hyperliquid.gitbook.io/hyperliquid-docs
- **dYdX Docs:** https://docs.dydx.exchange
- **GMX Docs:** https://docs.gmx.io
- **CCXT:** https://github.com/ccxt/ccxt
- **Backtrader:** https://www.backtrader.com
- **Jesse:** https://jesse-ai.com
- **QuantConnect:** https://www.quantconnect.com
- **TradingView:** https://www.tradingview.com

### Data Sources para Backtest
- **CCXT Historical Data:** `exchange.fetch_ohlcv()`
- **Hyperliquid:** Dados on-chain, disponíveis via API
- **CoinAPI:** https://www.coinapi.io (dados históricos)

### Ferramentas de Análise
- **QuantStats:** https://github.com/ranaroussi/quantstats (Python)
- **PyFolio:** https://github.com/quantopian/pyfolio
- **QuantRocket:** (QuantConnect-like, mais focado em equities)

---

## 8. PRÓXIMOS PASSOS

- [ ] **Fase 1:** Setup Hyperliquid testnet wallet + paper trade
- [ ] **Fase 2:** Implementar data fetcher com CCXT (BTC/USDT perps)
- [ ] **Fase 3:** Backtest mean reversion com Backtrader ou Jesse
- [ ] **Fase 4:** Walk-forward validation
- [ ] **Fase 5:** Live paper trading por 2 semanas
- [ ] **Fase 6:** Gradual live deployment com capital mínimo

---

*Documento gerado por Gandalf Quant Researcher 🧙‍♂️*
*Última atualização: 2026-03-23*
