O que vectorbt-backtesting-skills faz?
Fornece habilidades abrangentes de backtesting para estratégias de negociação nos mercados indiano, americano e de criptomoedas usando VectorBT e agentes de codificação de IA.
Visão Geral
Esta skill permite que agentes de IA realizem backtesting de estratégias de negociação nos mercados:
- 🇮🇳 Índia (NSE, BSE)
- 🇺🇸 EUA (NYSE, NASDAQ)
- ₿ Criptomoedas (Binance, Coinbase, etc.)
Funcionalidades
- Coleta de Dados: Busca automática de dados históricos de preços das principais bolsas.
- Estratégias Pré-definidas: Implementa estratégias comuns como cruzamento de médias móveis, RSI, MACD e Bandas de Bollinger.
- Estratégias Personalizadas: Suporte para criação de regras de entrada e saída customizadas.
- Métricas de Desempenho: Cálculo de Sharpe ratio, drawdown máximo, retorno total, volatilidade e alpha/beta.
- Otimização: Otimização de parâmetros usando busca em grade (grid search).
- Relatórios: Geração de relatórios em Markdown com gráficos de equity curve, drawdown e trades.
- Exportação: Exportação de resultados para CSV, JSON e PDF.
Configuração
-
Instale as dependências:
pip install vectorbt pandas numpy yfinance ccxt -
Configure as fontes de dados (opcional):
- Para dados do mercado indiano, instale
nsepyouyfinance. - Para criptomoedas, instale
ccxt.
- Para dados do mercado indiano, instale
Exemplo de Uso
import vectorbt as vbt
# Buscar dados do S&P 500 (ETF SPY)
price = vbt.YFData.download('SPY', start='2020-01-01', end='2023-01-01').get('Close')
# Definir estratégia: cruzamento de médias móveis (20 e 50 dias)
fast_ma = vbt.MA.run(price, window=20)
slow_ma = vbt.MA.run(price, window=50)
entries = fast_ma.ma_crossed_above(slow_ma)
exits = fast_ma.ma_crossed_below(slow_ma)
# Executar backtesting
pf = vbt.Portfolio.from_signals(price, entries, exits)
# Exibir métricas
print(pf.stats())
# Plotar resultados
fig = pf.plot()
fig.show()
Integração com Agentes de IA
Esta skill foi projetada para ser usada com agentes como:
- Claude Code
- Cursor
- Codex
- GitHub Copilot
O agente pode:
- Gerar código de backtesting sob demanda.
- Responder perguntas sobre desempenho de estratégias.
- Sugerir otimizações baseadas em dados reais.
- Criar relatórios completos com gráficos.
Limitações
- Necessita de conexão com a internet para download de dados.
- Dados históricos podem ter restrições de frequência e profundidade dependendo da fonte.
- Estratégias complexas podem exigir ajustes manuais.
Contribuição
Contribuições são bem-vindas! Consulte o repositório original para mais detalhes.
Licença
Este projeto está licenciado sob a licença MIT.