{"version":"v1.5","published_at":"2026-10-10","summary":"Performance is computed from the platform's own order, fill and position rows under this versioned definition. No figure is supplied by a user, an admin, or a strategy author, and no backtest result is ever presented as a realised track.","inputs":["trading.order_fills — every fill the book wrote, strategy or ticket","trading.order_events — the deployment timeline; counted only where no order_fills row carries the same fill, so a fill written to both tables is measured once","trading.equity_curve — end-of-session marks of the REFERENCE book (the platform's own paper portfolio for this strategy, which holds nothing else, so its marks are the strategy's alone)","strategy.strategy_deployments — the reference deployment (the platform principal's simulated paper deployment of the published version, started at publication) and the deployer deployments (every other account's paper deployment of any version of the strategy with at least one fill)","strategy.deployment_events — pauses of the reference deployment, carried as reference_track_interrupted_days and never bridged"],"formula":{"net_pnl":"Σ(sell notional) − Σ(buy notional) − Σ(fees), in integer minor units. Fees are the full country fee stack as charged, never a bps estimate.","equity_series":"End-of-session marks from trading.equity_curve when present (basis EOD_MARK); otherwise starting capital plus the cumulative realised cash flow of the fill spine (basis REALISED_CASH_FLOW), which does not mark an open position to market. The basis in force is reported beside every figure derived from it.","total_return":"last(equity) / first(equity) − 1","cagr":"(last/first) ^ (365 / days) − 1","sharpe":"(mean(R) − r_f) / stdev(R) × sqrt(252) over the equity series' period returns, with r_f = 0 (see risk_free_rate).","max_drawdown":"min over the series of (equity / running peak − 1)","win_rate":"closed round trips with net P&L > 0, over all closed round trips","profit_factor":"Σ gross profit / Σ gross loss over closed round trips","raw_return":"annualised, time-weighted return of the track (cagr)","risk_penalty":"1 / (1 + realised_volatility), realised_volatility = stdev(R) × sqrt(252)","drawdown_penalty":"1 − 0.5 × min(1, |max_drawdown| / raw_return)","concentration_penalty":"1 − 0.3 × herfindahl, herfindahl = Σ(wᵢ²) over per-instrument shares of gross contribution; applied only when the top 3 exceed 50% of the book","sample_penalty":"min(1, sample / sample_floor)","skill_score":"raw_return × risk_penalty × drawdown_penalty × concentration_penalty × sample_penalty, expressed as a percentage","implementation_gap":"reference (backtest) return − realised return"},"weights":{"volatility_multiplier":1.0,"drawdown_multiplier":0.5,"concentration_multiplier":0.3,"concentration_top3_threshold":0.5},"minimum_track_length_days":90,"low_sample_trades":30,"sample_floor":{"DEPLOYERS":60,"OWN_TRADES":30},"risk_free_rate":0.0,"risk_free_note":"RISK_FREE_ASSUMED_ZERO","risk_free_rationale":"The metrics catalog requires r_f as a per-period series from the country pack. This deployment ingests no risk-free series, so r_f = 0 and every figure derived from it carries the RISK_FREE_ASSUMED_ZERO note. A Sharpe computed at r_f = 0 is NOT comparable with a published Sharpe that subtracts a T-bill; it is an upper bound on it.","gap_decomposition":{"basis":"measured on the median deployer (the deployer whose window return ranks at the median, lower middle for an even count) against the reference track, round trip by round trip. A round trip matches when both closed one on the same instrument entered within one session of each other.","delay":"matched round trips filled on a different bar from the reference: the price difference × reference quantity, over reference capital","drift":"matched round trips filled on the same bar at a different price: the price difference × reference quantity, over reference capital","partial":"reference round trips the deployer did not take, minus deployer round trips the reference did not take, each over its own capital","sizing":"the residual: gap − delay − drift − partial (capital, lot rounding, fee and quantity differences), so the four legs sum to the gap"},"quality_flags":[{"key":"low_sample","meaning":"fewer than 30 closed round trips — every trade statistic is shown with a caveat rather than bare"},{"key":"short_track","meaning":"fewer than 90 days of track — no skill score is published"},{"key":"no_eod_marks","meaning":"no end-of-session marks exist, so the equity series is realised cash flow and open positions are not marked to market"},{"key":"RISK_FREE_ASSUMED_ZERO","meaning":"no risk-free series available for the span; ratios use r_f = 0"},{"key":"reference_track_interrupted_days","meaning":"days since publication on which the reference deployment was not running (not yet started, or paused) — shown, never bridged"},{"key":"longest_flat_days","meaning":"the longest stretch of the reference track with no change in equity"},{"key":"cycle_coverage","meaning":"how many days the track spans and whether it covers a full year; a full market cycle is never asserted on a shorter track"},{"key":"deployer_n_own_settings","meaning":"of the deployers excluded as modified, those whose excluded deployments ran their own settings or a universe the author did not test (settings_meta.changed, or settings_meta.universe_tested false); withheld between 1 and 4 like every deployer count"},{"key":"deployer_n_other_universes","meaning":"deployers whose deployments ran one of the author's additional reference universes, left out of the primary universe's figures. An account that also deploys on the primary universe is counted there, not here; withheld between 1 and 4 like every deployer count"},{"key":"deployer_n_modified","meaning":"deployers excluded because they changed the published strategy (removed an instrument, gated entries at deploy or later, ran their own settings, chose a universe the author did not test, or had one of their own loss or drawdown limits pause the book)"}],"not_computed_from":["any value supplied by a user, an admin, or a strategy author","any backtest result presented as a realised track","any provider or third-party performance report"],"changelog":[{"version":"v1.5","date":"2026-10-10","change":"Protective overlays: a deployment is also MODIFIED when a daily loss limit or a drawdown halt tighter than the strategy's own, set by its deployer, pauses it, and when it starts with an entry gate chosen at deploy; a limit that never fires changes nothing, and the strategy's own halt never marks. A modified deployment now counts up to its mark instead of being dropped from every window, if it traded by then. The deploy dialog did not offer these limits before this version; a limit set through the API that fired before it is not re-marked, so such a deployment is still counted. No weight, penalty, threshold or formula changed. Snapshots computed under v1.4 are invalidated, not restated: until a strategy's first v1.5 snapshot is computed, its v1.4 snapshot is served, labelled v1.4."}],"deprecated":true,"definitions":{"reference_return":"total_return of the reference paper track over the window, net of the full fee stack, measured on the reference book's end-of-session marks (cash-flow basis, open lots marked at the close, when it has none). Where the track moved to a new book (a frozen book, or a flatten stuck past its deadline), each book is measured on its own marks and the returns are CHAINED, time-weighted: the move from one book's equity to the next is never a return and never a drawdown. Never a backtest.","deployer_distribution":"p10, p25, median and p75 of total_return over the window, ONE value per deployer account — its earliest-started qualifying deployment, measured on its own fills against its own allocated capital with open lots marked at the close. Never a single blended average. Below 5 accounts no quantile is published (and no implementation gap); the count is shown with the words 'the range appears from 5'.","deployer_set":"ACCOUNTS with a paper deployment of any version of the strategy with at least one fill by the window's end, EXCLUDING every system account (is_system: the platform's own reference track), the creator, fork-to-edit copies (derived), and accounts whose every qualifying deployment is MODIFIED — an instrument removed, a non-OPEN entry gate applied, settings other than the version's defaults, or a universe that is not a reference universe of the version — those are counted in flags.deployer_n_modified; an account whose deployment cannot be marked is counted in flags.deployer_n_unmarked. deployer_n and the skill-score sample count accounts. From v1.4 the set is PARTITIONED by the reference universe each deployment recorded at admission, and that record is never moved: a deployment on one of the author's additional reference universes is not in the primary universe's figures — not in deployer_n, the distribution, the skill-score sample or deployer_n_modified — and is counted in flags.deployer_n_other_universes, including after the author stops listing that universe. An account that also deploys on the primary universe is counted there, not here. A deployment on no chosen universe, on the authored one, or on one the author did not test (MODIFIED) counts in the primary universe's figures. Deployer figures are published for the primary universe only. From v1.5 a deployment is also MODIFIED when one of the deployer's own protective limits fires — a daily loss limit, or a drawdown halt tighter than the strategy's own, pauses it (RISK_HALT) — and when it starts with an entry gate other than OPEN chosen at deploy. The strategy's own drawdown halt (the author's) never marks a deployment, and a deployer's halt equal to it is not accepted as a limit. A limit that never fires leaves the deployment unmodified. The mark is set once and never cleared. From v1.5 a deployment admitted in the reference configuration COUNTS in every window up to the day of its mark (modified_at): its fills and marks up to that day stay in the deployer set — a book whose loss limit paused it is never dropped for having lost — and nothing after it counts. It counts only if it filled on or before that day: one marked before it ever traded is counted as modified, never as a 0% deployer. For a fired limit the mark is the session that breached; for any other change it is the time the change was applied (an advance's or a command's clock, so a late catch-up can date it after the sessions it covers). An upgrade that moves a reference deployment into a variant marks it when the upgrade applies. A deployment that was not in the reference configuration at admission (its own settings, a universe the author did not test, a gate at deploy) is never counted, even if an upgrade later makes it the reference configuration. An account counts by its earliest-started deployment that is in the reference configuration for the window, whatever its outcome. A fixed window (1M, 3M, 6M, 1Y) leaves out a deployment stopped before the window starts; the since-publication window includes it.","implementation_gap":"reference_return − deployer_median","skill_score":"raw_return × risk_penalty × drawdown_penalty × concentration_penalty × sample_penalty, expressed as a percentage, computed on the reference track with sample = deployer_n (accounts) against the 60-deployer floor","as_of":"the last COMPLETED trading session of the primary exchange, in its own timezone, at the time the writer runs — never the UTC wall-clock date","track_building":"no return is shown until the reference track is 90 days old and has closed 30 round trips; the card names the threshold that is unmet","reference_universe":"a universe the author tested the strategy on. The PRIMARY reference universe is the strategy's own (authored) universe; the author may list up to three more. Each reference universe has its own reference paper track at the strategy's defaults, in a book of its own; its figures are computed exactly as reference_return is, on that track alone. Only reference figures are published per universe."}}