Upload files and click Analyze, or open the History tab to load a saved session.
Actual vs Signal
Upload files and click Analyze, or open the History tab to load a saved session.
Counterfactual P&LCumulative P&L over time, actual vs if fills had matched the signal exactly. Both lines net of the same modeled fees, so the gap between them is pure slippage cost. The wider the gap grows, the more edge you're losing to execution.
Latency by time of dayEach dot is one fill, placed by clock time (x-axis) and how long it took to execute after the signal fired (y-axis). Dots clustered at specific times reveal when fills are consistently slow — e.g. a stack at the top of each bar usually means TradingView is queueing webhooks at bar-close.
Entry slip vs Exit slipEach dot is one trade. X = entry leg's slip in $, Y = exit leg's slip. Top-right = both legs helped; bottom-left = both legs hurt. A cluster in one quadrant tells you whether entries or exits are the systemic problem.
Drift by day of weekSigned drift % per weekday (Σ net slip ÷ Σ |signal|). Green = fills beat signal on that weekday; red = they hurt. Same cancellation-proof formula as the heatmap so the two views agree.
Drift by monthSigned drift % per calendar month (Σ net slip ÷ Σ |signal|). Shows whether your fill quality is trending better or worse over time, month-over-month.
Net slip by symbolPost-fee net slip totaled per instrument. Green bars = that symbol's fills beat the signal on aggregate; red = they hurt. Count of trades per symbol is shown in the tooltip.
Saved sessions
Each Analyze run is saved to your browser automatically and kept for 6 months. Data stays local.
Date range→
No saved sessions yet. Run an analysis to save your first one.