Resultados do Backtest
Cada simulação gera métricas de resumo, gráficos, um registro de mensagens e os dados completos da execução. As ferramentas de Portfólio e Algo Trading mostram os mesmos resultados, e ambas permitem baixá-los em JSON.
Resumo:
- Inicial / Final: o valor da carteira no início e no fim, e o lucro (realizado mais não realizado).
- Mín / Máx: o menor e o maior valor da carteira durante a execução.
- Var Total / Var Anual: o retorno total e anualizado. Os aportes não contam como retorno.
- Volatilidade: o desvio padrão anualizado dos retornos diários.
- Drawdown Máximo: a maior queda a partir de um pico anterior.
- Sharpe: o retorno acima da configuração Taxa Livre de Risco, dividido pela volatilidade.
- Alfa / Beta: o retorno excedente e a volatilidade em relação à configuração Benchmark de Mercado (^SPX por padrão).
- #Operações: o número de ordens executadas, incluindo as ordens que encerram todas as posições após a última data.
Altere a Taxa Livre de Risco e o Benchmark de Mercado em Configurações.
Abas:
- Mensagens: o registro da execução, como ordens, aportes, rebalanceamentos e as mensagens impressas pelo algoritmo.
- Avisos: problemas nos dados (ex.: um símbolo sem dados em parte do intervalo, ou em outra moeda) e erros que interrompem a simulação.
- Desempenho: o saldo e o lucro da carteira ao longo do tempo.
- Drawdown: a queda a partir do pico anterior ao longo do tempo.
- Posições: o valor de cada posição ao longo do tempo.
- Quantidades: a quantidade de cada ativo mantida ao longo do tempo.
- Preços: o preço de cada ativo ao longo do tempo.
- Séries Temporais: uma tabela com a posição diária de cada ativo, que pode ser baixada em JSON.
Ao comparar carteiras, uma visão de comparação mostra as principais métricas lado a lado, com um gráfico de desempenho combinado. Clique em View Results para ver os resultados completos de uma carteira.
Dados do resultado (AlgoResult):
Este é o objeto passado ao evento end no Algo Trading e salvo pelos botões de download:
- inputs: AlgoInputs - As entradas da execução.
- code: string - O código-fonte do algoritmo.
- summary: AlgoResultSummary - As métricas de resumo:
- initCash, finalCash, profit: number
- low, high: number (menor e maior valor da carteira)
- totalVar, annualVar: number (retornos como decimais)
- annualStdDev: number (volatilidade como decimal)
- maxDrawdown: number (decimal negativo)
- sharpe: number
- alpha, beta: Promise<number> (resolvidos após a execução, undefined sem benchmark)
- nTrades: number
- performance: AlgoResultPerformance[] - Um item por data:
- date: Date
- value: number (valor da carteira)
- prevVariation: number (retorno desde a data anterior como decimal, sem os aportes)
- drawdown: number (queda a partir do pico anterior como decimal negativo)
- portfolio: AssetPortfolio - O estado final da carteira, com caixa e posições.
- portfolioHist: AssetPortfolio[] - O estado da carteira em cada data.
- assetHist: Record<string, AssetPortfolioItem & { date }[]> - A posição diária de cada ativo (quantity, avgPrice, value, currency), indexada por símbolo.
- tradeHist: Record<string, AssetTrade[]> - As ordens de cada data, indexadas por data.