Pooled Annualized Sharpe Ratio (portfolioSharpeRatio × √portfolioTradesPerYear). Higher is better.
Trade-count-weighted mean of per-symbol avgConsecutiveLossPnl. Null if no symbol has a loss streak.
Trade-count-weighted mean of per-symbol avgConsecutiveWinPnl. Null if no symbol has a win streak.
Pooled average trade duration in minutes across all trades of all symbols.
Trade-count-weighted average fall PNL across all symbols. Closer to 0 is better.
Pooled average duration in minutes of losing trades.
Trade-count-weighted average peak PNL across all symbols. Higher is better.
Pooled average duration in minutes of winning trades.
Pooled Calmar Ratio: pooled compound annual / equity drawdown. Capped at ±MAX_CALMAR_RATIO.
Pooled Certainty Ratio (pooledAvgWin / |pooledAvgLoss|). Higher is better.
Pooled Expectancy: winProbavgWin + lossProbavgLoss (per-trade expected %).
Pooled expected yearly returns (geometric annualization of pooled equity, capped at ±MAX_EXPECTED_YEARLY_RETURNS).
Minimum fall PNL across all trades of all symbols (worst worst-case). Closer to 0 is better.
Pooled median pnlPercentage across all trades of all symbols.
Maximum peak PNL across all trades of all symbols (best best-case). Higher is better.
Pooled Recovery Factor: (equityFinal-1)*100 / equityMaxDrawdown. Capped at ±MAX_CALMAR_RATIO.
Portfolio-wide Sharpe Ratio
Pooled Sortino Ratio over all trades. Same canonical formula as per-symbol.
Pooled sample standard deviation of returns across all symbols.
Portfolio-wide total PNL
Portfolio-wide total trades
Pooled observed trade frequency extrapolated to one year.
Array of symbol statistics
Total number of symbols tracked
Portfolio heatmap statistics structure. Contains aggregated data for all symbols in the portfolio.