Annualized Sharpe Ratio (sharpeRatio × √tradesPerYear), null if unsafe. Higher is better.
Average sum of pnl across consecutive losing streaks. Null if no loss streak. Closer to 0 is better.
Average sum of pnl across consecutive winning streaks. Null if no win streak.
Average trade duration in minutes ((timestamp - pendingAt) / 60_000), null if unsafe.
Average fall PNL percentage across all closed signals (_fall.pnlPercentage), null if unsafe. Closer to 0 is better.
Average duration in minutes of losing trades.
Average peak PNL percentage across all closed signals (_peak.pnlPercentage), null if unsafe. Higher is better.
Average PNL per closed signal as percentage, null if unsafe. Higher is better.
Average duration in minutes of winning trades.
Fraction of up-moves among decisive close-to-close moves. 0..1. Higher = buyers more frequent.
Share of upward absolute movement in total close-to-close movement. 0..1.
Calmar Ratio (annualized expected return / max drawdown), null if unsafe. Higher is better.
Certainty Ratio (avgWin / |avgLoss|), null if unsafe. Higher is better.
Array of all events (idle, opened, active, closed) with full details
Per-trade Expectancy (winProbavgWin + lossProbavgLoss), null if unsafe. Higher is better.
Expected yearly returns based on average trade duration and PNL, null if unsafe. Higher is better.
Number of losing closed signals (PNL < 0)
Median pnl — robust to outliers; reveals distribution skew when paired with avgPnl.
Median |close[i] - close[i-1]| / close[i-1] across trade closes, in %. Robust to outliers.
buyerStrength - sellerStrength ∈ [-1, 1]. Positive = bullish bias on magnitude.
Recovery Factor (totalPnl / max drawdown), null if unsafe. Higher is better.
Fraction of down-moves among decisive moves. 0..1. Equals 1 - buyerPressure.
Share of downward absolute movement in total close-to-close movement. 0..1.
Sharpe Ratio (risk-adjusted return = avgPnl / stdDev), null if unsafe. Higher is better.
Sortino Ratio (avgPnl / downside deviation — RMS of losing trades only), null if unsafe. Higher is better.
Standard deviation of returns (volatility metric), null if unsafe. Lower is better.
Total number of closed signals only
Total number of all events (includes idle, opened, active, closed)
Cumulative PNL across all closed signals as percentage, null if unsafe. Higher is better.
Bivariate trend classification (slope × R²).
R² of the log-price regression, in [0, 1].
Log-price regression slope, in %/day.
Number of winning closed signals (PNL > 0)
Win rate as percentage (0-100) based on closed signals, null if unsafe. Higher is better.
Statistical data calculated from live trading results.
All numeric values are null if calculation is unsafe (NaN, Infinity, etc). Provides comprehensive metrics for live trading performance analysis.
Example