| Crates.io | tucano-analytics |
| lib.rs | tucano-analytics |
| version | 0.1.0 |
| created_at | 2025-08-14 02:18:33.377549+00 |
| updated_at | 2025-08-14 02:18:33.377549+00 |
| description | Métricas e summaries (drawdown, Sharpe, TearSheet) para o ecossistema Tucano |
| homepage | |
| repository | https://github.com/brbtavares/tucano |
| max_upload_size | |
| id | 1794340 |
| size | 220,065 |
Camada de métricas, estatísticas e sumarização de performance para estratégias e backtests na B3.
A crate analytics fornece cálculos de retorno, risco e eficiência operacional consumidos por core (auditoria), risk (limites dinâmicos) e interfaces externas (dashboards / relatórios). Ela transforma eventos (trades, posições, PnL acumulado) em indicadores consolidados dentro do ecossistema Tucano.
| Responsabilidade | Descrição |
|---|---|
| Métricas Financeiras | Sharpe, Sortino, Calmar, Profit Factor, Win Rate, Drawdown Máximo / Recuperação |
| Agregação Temporal | Normalização de séries por intervalos (time.rs) |
| Sumários de Trading | Geração de resumos consolidados por instrumento / exchange / janela |
| Abstração de Algoritmos | Cálculos estatísticos reutilizáveis (algorithm.rs) |
| Interface Coesa | API estável para outras crates sem expor detalhes internos |
algorithm.rs – Funções utilitárias estatísticas (médias, desvios, normalização de retornos).*metric/ – Implementações específicas:
sharpe.rs (SharpeRatio)sortino.rs (SortinoRatio)calmar.rs (CalmarRatio)profit_factor.rs (ProfitFactor)win_rate.rs (WinRate)drawdown/ (cálculo de séries de drawdown)time.rs – Intervalos e granularidades de tempo para agregações.summary/ – Montagem de relatórios (por ativo, sessão, janela) e exibição (display.rs).| Depende de | Motivo |
|---|---|
core (eventos/audit) |
Fonte de sequências de trades / ordens (futuro) |
execution |
Origem de fill / trade events |
markets |
Identificadores de instrumentos e exchanges |
| Consumido por | Uso |
|---|---|
core |
Consolidação pós-backtest e monitoramento runtime |
risk |
Alimentar limites adaptativos (ex: volatilidade realizada) |
strategy |
Feedback loop para otimização / adaptação |
execution).use analytics::metric::sharpe::SharpeRatio; // assinatura ilustrativa
let returns = vec![0.01, -0.005, 0.012, 0.003];
let sharpe = SharpeRatio::compute(&returns, 0.0);
println!("Sharpe: {:.2}", sharpe.value());
Os cálculos irão suportar classes de instrumentos típicos (ações, índice, mini‑índice, dólar, mini‑dólar, ouro, bitcoin futuros) com normalização de retornos por contrato ou fator de ajuste (a definir). Ajustes específicos (ex: multiplicadores de pontos do índice e dólar) ainda precisam ser integrados.
Alguns nomes podem mudar quando a API pública for estabilizada. Até lá, evitar dependência rígida externa.