Interface HeatmapStatisticsModel

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

interface HeatmapStatisticsModel {
    portfolioAnnualizedSharpeRatio: number;
    portfolioAvgConsecutiveLossPnl: number;
    portfolioAvgConsecutiveWinPnl: number;
    portfolioAvgDuration: number;
    portfolioAvgFallPnl: number;
    portfolioAvgLossDuration: number;
    portfolioAvgPeakPnl: number;
    portfolioAvgWinDuration: number;
    portfolioCalmarRatio: number;
    portfolioCertaintyRatio: number;
    portfolioExpectancy: number;
    portfolioExpectedYearlyReturns: number;
    portfolioMaxDrawdownPnl: number;
    portfolioMedianPnl: number;
    portfolioPeakProfitPnl: number;
    portfolioRecoveryFactor: number;
    portfolioSharpeRatio: number;
    portfolioSortinoRatio: number;
    portfolioStdDev: number;
    portfolioTotalPnl: number;
    portfolioTotalTrades: number;
    portfolioTradesPerYear: number;
    symbols: IHeatmapRow[];
    totalSymbols: number;
}

Properties

portfolioAnnualizedSharpeRatio: number

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

portfolioAvgConsecutiveLossPnl: number

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

portfolioAvgConsecutiveWinPnl: number

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

portfolioAvgDuration: number

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

portfolioAvgFallPnl: number

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

portfolioAvgLossDuration: number

Pooled average duration in minutes of losing trades.

portfolioAvgPeakPnl: number

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

portfolioAvgWinDuration: number

Pooled average duration in minutes of winning trades.

portfolioCalmarRatio: number

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

portfolioCertaintyRatio: number

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

portfolioExpectancy: number

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

portfolioExpectedYearlyReturns: number

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

portfolioMaxDrawdownPnl: number

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

portfolioMedianPnl: number

Pooled median pnlPercentage across all trades of all symbols.

portfolioPeakProfitPnl: number

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

portfolioRecoveryFactor: number

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

portfolioSharpeRatio: number

Portfolio-wide Sharpe Ratio

portfolioSortinoRatio: number

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

portfolioStdDev: number

Pooled sample standard deviation of returns across all symbols.

portfolioTotalPnl: number

Portfolio-wide total PNL

portfolioTotalTrades: number

Portfolio-wide total trades

portfolioTradesPerYear: number

Pooled observed trade frequency extrapolated to one year.

symbols: IHeatmapRow[]

Array of symbol statistics

totalSymbols: number

Total number of symbols tracked