The comparison section (Analysis → Comparison, right after the per-strategy breakdown) puts 2–6
items side by side so you can judge how they differ — and how they compensate each other. An item can
be:
Items mix freely: Current against two variants, a variant against the strategy you are thinking of dropping, three strategies among themselves.
The section never computes a metric of its own. Every number is the same number shown elsewhere: a strategy's figures come from the per-strategy breakdown (its real behaviour inside the portfolio, with weight, dynamic sizing and compounding active), Current's from the Metrics ledger, a variant's from the figures frozen with it — or, on a framed period, recomputed by the same engine as the live session.
The chips at the top come in two rows. Portfolio lists Current and every saved variant, pinned or not; Strategies lists the strategies of the session. Click a chip to add it, click it again to remove it. Up to 6 items can be compared at once; the counter on the right shows how many are selected.
Each item keeps the look it has on the Workspace chart, so you recognise it at a glance:
| Item | Colour | Line |
|---|---|---|
| Current | the accent colour | solid, slightly thicker |
| Variant | its slot in the variant palette (by position in the registry) | dashed |
| Strategy | its own colour, the same as its individual line | solid |
Hovering a selected chip highlights that item in the radar and the equity chart. The selection is remembered per session while the browser tab lives. On first opening, the section compares Current against the most recent variant when you have saved variants, otherwise the first two visible strategies.
Two marks can appear on a chip:
Mixing a portfolio with its strategies
A strategy's figures measure its contribution: its P/L as it runs inside the portfolio, on the portfolio's whole initial capital. Its growth, drawdown % and risk-adjusted ratios are therefore all measured on that capital — and since Sharpe and Sortino subtract the risk-free rate from a small return, a single leg can read negative there while adding money to the portfolio. Comparing Current with one of its strategies answers "how much of the portfolio is this leg?", not "which one is better". Profit factor, win rate and correlations don't depend on the capital base and compare directly.
The radar draws one polygon per selected item over six axes:
| Axis | Metric | Direction |
|---|---|---|
| CAGR | annualized growth rate | higher is better |
| Sharpe | Sharpe ratio | higher is better |
| Calmar | CAGR ÷ max drawdown | higher is better |
| Profit factor | gross profits ÷ gross losses | higher is better |
| Max DD | maximum drawdown, % (a value ≤ 0) | closer to zero is better |
| CVaR 95 | expected shortfall of the worst 5% of trading days | lower is better |
Raw metrics live on incompatible scales (a Sharpe near 1.5, a CAGR near 20%, a drawdown near −30%), so the radar plots a normalized score, computed like this:
for each axis, the reference frame is the roster of what you are comparing:
The best value in the roster maps to the outer edge, the worst to the inner end of the scale:
score = (value − worst) / (best − worst);
the two risk axes are oriented so that further out always means better: Max DD is a negative percentage (closer to zero plots further out), CVaR is a positive magnitude (smaller plots further out);
the drawn scale has a small visual floor (15 on a 0–100 radius): the worst item of the roster keeps a visible polygon instead of collapsing into the centre. The semantics are unchanged — the innermost vertex still reads "worst of the roster";
if every item in the roster has the same value on an axis, all polygons sit at mid-scale on that axis; an item missing a metric sits at the floor and shows "—" in the tooltip.
Because the scale is anchored to the roster rather than to the current selection, adding or removing an item of a kind already on the radar never reshapes the others. Adding the other kind does: the roster grows, and so does the reference frame. Strategies are compared with strategies and portfolios with portfolios, because a portfolio usually beats any single leg on growth and trails it on drawdown — measured on one scale, the strategies' differences would shrink to nothing.
Variant polygons are drawn with a dashed outline, like their curves.
The radar is a reading aid, not a measurement
The polygon's shape and area are relative to the roster: they change when strategies enter or leave the session or variants are saved or deleted (the reference min–max moves), and a "full" polygon only means "best of this roster", not "objectively good". Read magnitudes from the tooltip and the table — they always show the raw values.
The table lists the institutional metric set in the same groups as the per-strategy breakdown (performance, risk-adjusted ratios, drawdown and risk, daily distribution), one column per selected item, plus two context rows:
The best value of each row is underlined in the winning item's colour. For risk metrics "best" means least severe: the Max DD closest to zero, the lowest volatility, VaR, CVaR and drawdown duration. Ties are all marked. The two context rows are not marked.
The equity chart overlays the selected items' curves, rebased to cumulative return in % of each curve's own starting value:
Rebasing puts items with different capital footprints on one honest scale, and makes the timing of gains and drawdowns comparable: complementary items visibly zig when the others zag. The date axis is the union of the items' dates — a variant built from another portfolio can cover a different stretch, and its line simply starts and ends where its data does.
Below the chart, one row per selected pair lists the Pearson correlation of daily P/L, computed by the same engine as the correlation matrix: pairwise-complete (only the days both sides actually traded) and only when they share at least 10 such days. Each item contributes one daily P/L series:
A strategy against a portfolio that contains it is correlated by construction: the number says how much of the portfolio's day-to-day movement follows that leg. Between Current and one of its variants a ρ close to 1 means the change barely moved the daily results; a lower one means it changed when the portfolio makes and loses money, not just how much.
The ρ value is coloured on the same scale as the matrix — red for positive correlation (concentration risk), blue for negative (hedge/diversification), neutral near zero. As a rough guide — the same one the matrix documentation uses — pairs below ≈ 0.2 compensate well, pairs above ≈ 0.6 tend to move together. A pair reads "n/a" when the two sides have fewer than 10 trading days in common.
This module follows the workspace's reading calendar, like the Metrics ledger and the Monthly P&L grid. Turn on align starting capital in the workspace and pick a range: radar, table, curves and ρ all move to the framed window together, with a band above them naming the active period. A comparison whose panels covered different stretches would not be a comparison at all — that is why they move as one and never separately.
Inside a window:
Without that checkbox the range selector is a pure zoom and this module stays on the full history.
Next: freeze configurations and overlay them on the Workspace charts with Variants & comparison.