HeatmapStatisticsModel

Portfolio heatmap statistics structure. Contains aggregated data for all symbols in the portfolio.

symbols: IHeatmapRow[]

Array of symbol statistics

totalSymbols: number

Total number of symbols tracked

portfolioTotalPnl: number

Portfolio-wide total PNL

portfolioSharpeRatio: number

Portfolio-wide Sharpe Ratio

portfolioTotalTrades: number

Portfolio-wide total trades

portfolioAvgPeakPnl: number

Trade-count-weighted average peak PNL across all symbols. Higher is better.

portfolioAvgFallPnl: number

Trade-count-weighted average fall PNL across all symbols. Closer to 0 is better.

portfolioPeakProfitPnl: number

Maximum peak PNL across all trades of all symbols (best best-case). Higher is better.

portfolioMaxDrawdownPnl: number

Minimum fall PNL across all trades of all symbols (worst worst-case). Closer to 0 is better.

portfolioAvgDuration: number

Pooled average trade duration in minutes across all trades of all symbols.

portfolioMedianPnl: number

Pooled median pnlPercentage across all trades of all symbols.

portfolioAvgConsecutiveWinPnl: number

Trade-count-weighted mean of per-symbol avgConsecutiveWinPnl. Null if no symbol has a win streak.

portfolioAvgConsecutiveLossPnl: number

Trade-count-weighted mean of per-symbol avgConsecutiveLossPnl. Null if no symbol has a loss streak.

portfolioAvgWinDuration: number

Pooled average duration in minutes of winning trades.

portfolioAvgLossDuration: number

Pooled average duration in minutes of losing trades.

portfolioStdDev: number

Pooled sample standard deviation of returns across all symbols.

portfolioSortinoRatio: number

Pooled Sortino Ratio over all trades. Same canonical formula as per-symbol.

portfolioCalmarRatio: number

Pooled Calmar Ratio: pooled compound annual / equity drawdown. Capped at ±MAX_CALMAR_RATIO.

portfolioRecoveryFactor: number

Pooled Recovery Factor: (equityFinal-1)*100 / equityMaxDrawdown. Capped at ±MAX_CALMAR_RATIO.

portfolioExpectancy: number

Pooled Expectancy: winProbavgWin + lossProbavgLoss (per-trade expected %).

portfolioAnnualizedSharpeRatio: number

Pooled Annualized Sharpe Ratio (portfolioSharpeRatio × √portfolioTradesPerYear). Higher is better.

portfolioCertaintyRatio: number

Pooled Certainty Ratio (pooledAvgWin / |pooledAvgLoss|). Higher is better.

portfolioExpectedYearlyReturns: number

Pooled expected yearly returns (geometric annualization of pooled equity, capped at ±MAX_EXPECTED_YEARLY_RETURNS).

portfolioTradesPerYear: number

Pooled observed trade frequency extrapolated to one year.