[{"data":1,"prerenderedAt":3214},["ShallowReactive",2],{"kscript:strategies/stats-reference":3},{"slug":4,"filePath":5,"frontmatter":6,"rawMarkdown":11,"tree":12},"strategies/stats-reference","strategies/stats-reference.md",{"title":7,"description":8,"verified":9},"Stats Reference","Every performance stat the Strategy Tester reports, its exact formula, and its edge cases. All formulas are locked by engine tests.",{"engine":10},"3.0.67","---\ntitle: Stats Reference\ndescription: Every performance stat the Strategy Tester reports, its exact formula, and its edge cases. All formulas are locked by engine tests.\nverified:\n  engine: 3.0.67\n---\n\nEvery number below is computed by the engine with a locked formula (pinned by tests, byte-identical across reruns) and delivered on the run result under `output.strategy.stats`. Percent-scaled fields end in `Pct` and are already multiplied by 100.\n\n## Returns\n\n| Stat | Definition |\n| --- | --- |\n| `netProfit` | Sum of realized trade PnL minus all fees paid. `netProfitPct` is relative to `initialCapital`. |\n| `grossProfit` / `grossLoss` | Sum of winning trades' PnL and (absolute) sum of losing trades' PnL, respectively. |\n| `profitFactor` | `grossProfit / grossLoss`. Reported as `null` when there are no losses (division by zero is not a number worth printing). |\n| `buyHoldReturnPct` | `(lastClose / firstTradableClose - 1) * 100`: what doing nothing would have returned over the same window. If your strategy does not beat this after costs, the market did the work, not the rules. |\n\n## Trades\n\n| Stat | Definition |\n| --- | --- |\n| `totalTrades`, `winTrades`, `lossTrades` | Closed trades, and the win/loss split. `winRatePct` is `winTrades / totalTrades * 100`. |\n| `avgTrade`, `avgWin`, `avgLoss` | Mean PnL per closed trade, per winner, per loser. |\n| `payoffRatio` | `avgWin / abs(avgLoss)`. `null` when there are no losers. Read it WITH the win rate: 40% winners at a 3.0 payoff is profitable, 70% winners at 0.3 is not. |\n| `largestWin`, `largestLoss` | The single best and worst closed trades. If `largestWin` dominates `netProfit`, one trade made the backtest. |\n| `avgBarsInTrade` | Mean holding time in bars. |\n| `rejectedOrders` | Orders the broker refused (pyramiding cap, invalid sizing, non-positive equity, NaN bars; on perps also insufficient margin and post-halt entries). Rejections are counted, never silently dropped. |\n\n## Risk\n\n| Stat | Definition |\n| --- | --- |\n| `maxDrawdown` | Largest peak-to-trough equity decline over the run, in money. `maxDrawdownPct` is relative to the equity peak it fell from. |\n| `maxRunup` | Mirror of drawdown: the largest trough-to-peak climb. |\n| `sharpe` | `mean(r) / sampleStd(r) * sqrt(barsPerYear)`, where `r` are per-bar equity returns over confirmed bars and `barsPerYear = 31,536,000,000 / intervalMs`. Zero when the return series has no variance. Annualized from YOUR chart interval, so compare Sharpe across runs at the same interval. |\n| `sortino` | Same as Sharpe with downside deviation (only returns below zero) in the denominator. Punishes losing volatility, forgives winning volatility. |\n| `exposurePct` | Bars with a nonzero position divided by all confirmed bars, times 100. A strategy in the market 4% of the time with the same net profit as one exposed 90% of the time is taking far less risk per unit of return. |\n\n## Costs\n\n| Stat | Definition |\n| --- | --- |\n| `feesPaid` | Total fees across all fills, already subtracted from equity and `netProfit` (funding is excluded; it has its own stats). Spot: `commissionPercent` of each fill's notional. Perps: exactly `makerFeesPaid + takerFeesPaid` (observed `1.0625991428568167 = 0.7247578990925553 + 0.3378412437642613`). |\n| `makerFeesPaid` / `takerFeesPaid` | Perps fee split by fill type: maker for limit-priced fills, taker for market-crossing fills (including liquidation fills). Both `0` on spot runs, even with maker/taker rates declared (they are ignored with a diagnostic; see [Slippage and Costs](slippage-and-costs.md#one-fee-schedule-per-instrument)). |\n| `fundingPaid` | Net funding settled against open perps positions, signed from the strategy's side: positive means the strategy paid funding, negative means it received it (a probed long under a positive rate paid: `0.36904136169411894`). `0` when `funding=\"off\"` or on spot. |\n| `fundingEventsApplied` | Funding settlements applied to an open position. Events with no open position do not count (38 events in the window, 36 applied to a position opened at bar 10). |\n| `fundingUnavailableCount` | Bars on which an open perps position had no covering funding data under `funding=\"data\"`: a funding window not fully covered, invalid OHLC for funding, or settlement events dropped in a data gap (observed `289` for a position held from bar 10 through a 300-bar run with no funding data). The disclosure counter: no rate is ever invented. |\n\nSlippage is not a separate stat line because it is baked into every fill price; the [slippage disclosure](slippage-and-costs.md#reading-the-slippage-disclosure) in the run details reports how it was priced.\n\n## Perps\n\nPopulated by `instrument=\"perps\"` runs; spot runs report them as `0`/`false`. Mechanics on the [Perps page](perps.md).\n\n| Stat | Definition |\n| --- | --- |\n| `liquidationCount` | Trades force-closed by the broker's implicit liquidation stop. Those trades carry `exitReason: \"liquidation\"` in the trades list (observed: 7 of 7 trades at `leverage=25` under `onLiquidation=\"continue\"`). One liquidation event can close multiple open trade records in the same net position. |\n| `liquidationHalted` | `true` when `onLiquidation=\"halt\"` stopped the run at the first liquidation; every subsequent entry is then rejected and counted (observed: `liquidationCount: 1`, `rejectedOrders: 6`). Always `false` under `\"continue\"` and on spot. |\n| `bankruptcyDeficit` | Shortfall beyond the position's committed margin left by liquidation fills (the amount by which equity would have gone below zero before the engine floored it). `0` in every probed run: each observed liquidation loss (`3.853208734751064`) settled inside its committed margin (`4.381648789802639`). |\n\nPerps runs also add two bar-aligned output series next to the stats, `committedMarginSeries` and `fundingPaidSeries` (cumulative, ending at `stats.fundingPaid`); both are omitted on spot runs. See [Perps output series](perps.md#perps-output-series).\n\n\n## Long / short splits\n\n`stats.long` and `stats.short` carry `netProfit`, `totalTrades`, and `winRatePct` per direction. A \"market-neutral\" idea whose entire profit sits in `stats.long` during a bull-market window is a long-only idea with extra steps.\n\n## Simulation-quality stats\n\nThese describe how the result was produced, not how the strategy performed. They power the disclosures in the run-details popover:\n\n| Stat | Definition |\n| --- | --- |\n| `ambiguousFillCount` | Intrabar ordering decisions settled by the declared `fillModel` assumption rather than data. Details in [fill simulation](fill-simulation.md). |\n| `fineResolvedCount` | Ordering questions settled by walking finer-interval bars (no assumption involved). |\n| `fineFillCoveragePct` | Walked ordering questions over all ordering questions, times 100. `null` when the run posed none (zero of zero is not zero percent). |\n| `fillResolutionByLane` | Walked questions per finer-data lane, e.g. `{ \"1m\": 12, \"5m\": 3 }`. |\n| `bookSlippageFillCount` | Fills priced from recorded order-book depth (`slippageModel=\"bookEstimate\"` only). |\n| `bookSlippageUnavailableCount` | bookEstimate fills that fell back to the declared rate (no usable book for that bar or size). |\n| `bookSlippageAvgBps` | Mean applied book impact in basis points; `null` when nothing was book-priced. |\n\n## Equity accounting, precisely\n\nEquity on every bar `i` is cash plus the open position marked at `close[i]`, minus all fees paid so far, recorded on flat bars too. Per-bar returns for Sharpe and Sortino are `r_i = equity_i / equity_{i-1} - 1` over confirmed bars with positive prior equity. On the live edge, strategy scripts fully recompute on every tick; the forming bar can shift pending-order and stat values once between the initial render and the first tick, and settles when the bar confirms.\n",{"type":13,"children":14,"data":3207,"position":3209},"root",[15,74,76,95,97,450,451,467,469,977,978,993,995,1333,1334,1349,1350,1856,1857,1893,1894,1909,1910,2001,2003,2403,2404,2498,2499,2514,2515,2628,2629,2645,2646,2660,2662,3119,3120,3137,3138],{"type":16,"tagName":17,"properties":18,"children":19,"position":71},"element","p",{},[20,30,44,51,64],{"type":21,"value":22,"position":23},"text","Every number below is computed by the engine with a locked formula (pinned by tests, byte-identical across reruns) and delivered on the run result under ",{"start":24,"end":27},{"line":25,"column":25,"offset":26},1,0,{"line":25,"column":28,"offset":29},154,153,{"type":16,"tagName":31,"properties":32,"children":33,"position":41},"code",{},[34],{"type":21,"value":35,"position":36},"output.strategy.stats",{"start":37,"end":38},{"line":25,"column":28,"offset":29},{"line":25,"column":39,"offset":40},177,176,{"start":42,"end":43},{"line":25,"column":28,"offset":29},{"line":25,"column":39,"offset":40},{"type":21,"value":45,"position":46},". Percent-scaled fields end in ",{"start":47,"end":48},{"line":25,"column":39,"offset":40},{"line":25,"column":49,"offset":50},208,207,{"type":16,"tagName":31,"properties":52,"children":53,"position":61},{},[54],{"type":21,"value":55,"position":56},"Pct",{"start":57,"end":58},{"line":25,"column":49,"offset":50},{"line":25,"column":59,"offset":60},213,212,{"start":62,"end":63},{"line":25,"column":49,"offset":50},{"line":25,"column":59,"offset":60},{"type":21,"value":65,"position":66}," and are already multiplied by 100.",{"start":67,"end":68},{"line":25,"column":59,"offset":60},{"line":25,"column":69,"offset":70},248,247,{"start":72,"end":73},{"line":25,"column":25,"offset":26},{"line":25,"column":69,"offset":70},{"type":21,"value":75},"\n",{"type":16,"tagName":77,"properties":78,"children":80,"position":91},"h2",{"id":79},"returns",[81],{"type":21,"value":82,"position":83},"Returns",{"start":84,"end":88},{"line":85,"column":86,"offset":87},3,4,252,{"line":85,"column":89,"offset":90},11,259,{"start":92,"end":94},{"line":85,"column":25,"offset":93},249,{"line":85,"column":89,"offset":90},{"type":21,"value":96},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":16,"tagName":98,"properties":99,"children":100,"position":447},"table",{},[101,151],{"type":16,"tagName":102,"properties":103,"children":104,"position":148},"thead",{},[105],{"type":16,"tagName":106,"properties":107,"children":108,"position":145},"tr",{},[109,128],{"type":16,"tagName":110,"properties":111,"children":112,"position":122},"th",{},[113],{"type":21,"value":114,"position":115},"Stat",{"start":116,"end":119},{"line":117,"column":85,"offset":118},5,263,{"line":117,"column":120,"offset":121},7,267,{"start":123,"end":125},{"line":117,"column":25,"offset":124},261,{"line":117,"column":126,"offset":127},8,268,{"type":16,"tagName":110,"properties":129,"children":130,"position":140},{},[131],{"type":21,"value":132,"position":133},"Definition",{"start":134,"end":137},{"line":117,"column":135,"offset":136},10,270,{"line":117,"column":138,"offset":139},20,280,{"start":141,"end":142},{"line":117,"column":126,"offset":127},{"line":117,"column":143,"offset":144},22,282,{"start":146,"end":147},{"line":117,"column":25,"offset":124},{"line":117,"column":143,"offset":144},{"start":149,"end":150},{"line":117,"column":25,"offset":124},{"line":117,"column":143,"offset":144},{"type":16,"tagName":152,"properties":153,"children":154,"position":444},"tbody",{},[155,242,308,386],{"type":16,"tagName":106,"properties":156,"children":157,"position":239},{},[158,182],{"type":16,"tagName":159,"properties":160,"children":161,"position":176},"td",{},[162],{"type":16,"tagName":31,"properties":163,"children":164,"position":173},{},[165],{"type":21,"value":166,"position":167},"netProfit",{"start":168,"end":170},{"line":120,"column":85,"offset":169},299,{"line":120,"column":171,"offset":172},14,310,{"start":174,"end":175},{"line":120,"column":85,"offset":169},{"line":120,"column":171,"offset":172},{"start":177,"end":179},{"line":120,"column":25,"offset":178},297,{"line":120,"column":180,"offset":181},15,311,{"type":16,"tagName":159,"properties":183,"children":184,"position":234},{},[185,194,207,214,227],{"type":21,"value":186,"position":187},"Sum of realized trade PnL minus all fees paid. ",{"start":188,"end":191},{"line":120,"column":189,"offset":190},17,313,{"line":120,"column":192,"offset":193},64,360,{"type":16,"tagName":31,"properties":195,"children":196,"position":204},{},[197],{"type":21,"value":198,"position":199},"netProfitPct",{"start":200,"end":201},{"line":120,"column":192,"offset":193},{"line":120,"column":202,"offset":203},78,374,{"start":205,"end":206},{"line":120,"column":192,"offset":193},{"line":120,"column":202,"offset":203},{"type":21,"value":208,"position":209}," is relative to ",{"start":210,"end":211},{"line":120,"column":202,"offset":203},{"line":120,"column":212,"offset":213},94,390,{"type":16,"tagName":31,"properties":215,"children":216,"position":224},{},[217],{"type":21,"value":218,"position":219},"initialCapital",{"start":220,"end":221},{"line":120,"column":212,"offset":213},{"line":120,"column":222,"offset":223},110,406,{"start":225,"end":226},{"line":120,"column":212,"offset":213},{"line":120,"column":222,"offset":223},{"type":21,"value":228,"position":229},".",{"start":230,"end":231},{"line":120,"column":222,"offset":223},{"line":120,"column":232,"offset":233},111,407,{"start":235,"end":236},{"line":120,"column":180,"offset":181},{"line":120,"column":237,"offset":238},113,409,{"start":240,"end":241},{"line":120,"column":25,"offset":178},{"line":120,"column":237,"offset":238},{"type":16,"tagName":106,"properties":243,"children":244,"position":305},{},[245,288],{"type":16,"tagName":159,"properties":246,"children":247,"position":282},{},[248,262,269],{"type":16,"tagName":31,"properties":249,"children":250,"position":259},{},[251],{"type":21,"value":252,"position":253},"grossProfit",{"start":254,"end":256},{"line":126,"column":85,"offset":255},412,{"line":126,"column":257,"offset":258},16,425,{"start":260,"end":261},{"line":126,"column":85,"offset":255},{"line":126,"column":257,"offset":258},{"type":21,"value":263,"position":264}," / ",{"start":265,"end":266},{"line":126,"column":257,"offset":258},{"line":126,"column":267,"offset":268},19,428,{"type":16,"tagName":31,"properties":270,"children":271,"position":279},{},[272],{"type":21,"value":273,"position":274},"grossLoss",{"start":275,"end":276},{"line":126,"column":267,"offset":268},{"line":126,"column":277,"offset":278},30,439,{"start":280,"end":281},{"line":126,"column":267,"offset":268},{"line":126,"column":277,"offset":278},{"start":283,"end":285},{"line":126,"column":25,"offset":284},410,{"line":126,"column":286,"offset":287},31,440,{"type":16,"tagName":159,"properties":289,"children":290,"position":300},{},[291],{"type":21,"value":292,"position":293},"Sum of winning trades' PnL and (absolute) sum of losing trades' PnL, respectively.",{"start":294,"end":297},{"line":126,"column":295,"offset":296},33,442,{"line":126,"column":298,"offset":299},115,524,{"start":301,"end":302},{"line":126,"column":286,"offset":287},{"line":126,"column":303,"offset":304},117,526,{"start":306,"end":307},{"line":126,"column":25,"offset":284},{"line":126,"column":303,"offset":304},{"type":16,"tagName":106,"properties":309,"children":310,"position":383},{},[311,334],{"type":16,"tagName":159,"properties":312,"children":313,"position":328},{},[314],{"type":16,"tagName":31,"properties":315,"children":316,"position":325},{},[317],{"type":21,"value":318,"position":319},"profitFactor",{"start":320,"end":323},{"line":321,"column":85,"offset":322},9,529,{"line":321,"column":189,"offset":324},543,{"start":326,"end":327},{"line":321,"column":85,"offset":322},{"line":321,"column":189,"offset":324},{"start":329,"end":331},{"line":321,"column":25,"offset":330},527,{"line":321,"column":332,"offset":333},18,544,{"type":16,"tagName":159,"properties":335,"children":336,"position":378},{},[337,351,358,371],{"type":16,"tagName":31,"properties":338,"children":339,"position":348},{},[340],{"type":21,"value":341,"position":342},"grossProfit / grossLoss",{"start":343,"end":345},{"line":321,"column":138,"offset":344},546,{"line":321,"column":346,"offset":347},45,571,{"start":349,"end":350},{"line":321,"column":138,"offset":344},{"line":321,"column":346,"offset":347},{"type":21,"value":352,"position":353},". Reported as ",{"start":354,"end":355},{"line":321,"column":346,"offset":347},{"line":321,"column":356,"offset":357},59,585,{"type":16,"tagName":31,"properties":359,"children":360,"position":368},{},[361],{"type":21,"value":362,"position":363},"null",{"start":364,"end":365},{"line":321,"column":356,"offset":357},{"line":321,"column":366,"offset":367},65,591,{"start":369,"end":370},{"line":321,"column":356,"offset":357},{"line":321,"column":366,"offset":367},{"type":21,"value":372,"position":373}," when there are no losses (division by zero is not a number worth printing).",{"start":374,"end":375},{"line":321,"column":366,"offset":367},{"line":321,"column":376,"offset":377},141,667,{"start":379,"end":380},{"line":321,"column":332,"offset":333},{"line":321,"column":381,"offset":382},143,669,{"start":384,"end":385},{"line":321,"column":25,"offset":330},{"line":321,"column":381,"offset":382},{"type":16,"tagName":106,"properties":387,"children":388,"position":441},{},[389,411],{"type":16,"tagName":159,"properties":390,"children":391,"position":406},{},[392],{"type":16,"tagName":31,"properties":393,"children":394,"position":403},{},[395],{"type":21,"value":396,"position":397},"buyHoldReturnPct",{"start":398,"end":400},{"line":135,"column":85,"offset":399},672,{"line":135,"column":401,"offset":402},21,690,{"start":404,"end":405},{"line":135,"column":85,"offset":399},{"line":135,"column":401,"offset":402},{"start":407,"end":409},{"line":135,"column":25,"offset":408},670,{"line":135,"column":143,"offset":410},691,{"type":16,"tagName":159,"properties":412,"children":413,"position":436},{},[414,429],{"type":16,"tagName":31,"properties":415,"children":416,"position":426},{},[417],{"type":21,"value":418,"position":419},"(lastClose / firstTradableClose - 1) * 100",{"start":420,"end":423},{"line":135,"column":421,"offset":422},24,693,{"line":135,"column":424,"offset":425},68,737,{"start":427,"end":428},{"line":135,"column":421,"offset":422},{"line":135,"column":424,"offset":425},{"type":21,"value":430,"position":431},": what doing nothing would have returned over the same window. If your strategy does not beat this after costs, the market did the work, not the rules.",{"start":432,"end":433},{"line":135,"column":424,"offset":425},{"line":135,"column":434,"offset":435},219,888,{"start":437,"end":438},{"line":135,"column":143,"offset":410},{"line":135,"column":439,"offset":440},221,890,{"start":442,"end":443},{"line":135,"column":25,"offset":408},{"line":135,"column":439,"offset":440},{"start":445,"end":446},{"line":120,"column":25,"offset":178},{"line":135,"column":439,"offset":440},{"start":448,"end":449},{"line":117,"column":25,"offset":124},{"line":135,"column":439,"offset":440},{"type":21,"value":75},{"type":16,"tagName":77,"properties":452,"children":454,"position":463},{"id":453},"trades",[455],{"type":21,"value":456,"position":457},"Trades",{"start":458,"end":461},{"line":459,"column":86,"offset":460},12,895,{"line":459,"column":135,"offset":462},901,{"start":464,"end":466},{"line":459,"column":25,"offset":465},892,{"line":459,"column":135,"offset":462},{"type":21,"value":468},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":16,"tagName":98,"properties":470,"children":471,"position":974},{},[472,511],{"type":16,"tagName":102,"properties":473,"children":474,"position":508},{},[475],{"type":16,"tagName":106,"properties":476,"children":477,"position":505},{},[478,492],{"type":16,"tagName":110,"properties":479,"children":480,"position":487},{},[481],{"type":21,"value":114,"position":482},{"start":483,"end":485},{"line":171,"column":85,"offset":484},905,{"line":171,"column":120,"offset":486},909,{"start":488,"end":490},{"line":171,"column":25,"offset":489},903,{"line":171,"column":126,"offset":491},910,{"type":16,"tagName":110,"properties":493,"children":494,"position":501},{},[495],{"type":21,"value":132,"position":496},{"start":497,"end":499},{"line":171,"column":135,"offset":498},912,{"line":171,"column":138,"offset":500},922,{"start":502,"end":503},{"line":171,"column":126,"offset":491},{"line":171,"column":143,"offset":504},924,{"start":506,"end":507},{"line":171,"column":25,"offset":489},{"line":171,"column":143,"offset":504},{"start":509,"end":510},{"line":171,"column":25,"offset":489},{"line":171,"column":143,"offset":504},{"type":16,"tagName":152,"properties":512,"children":513,"position":971},{},[514,635,718,792,887,929],{"type":16,"tagName":106,"properties":515,"children":516,"position":632},{},[517,576],{"type":16,"tagName":159,"properties":518,"children":519,"position":570},{},[520,533,539,552,557],{"type":16,"tagName":31,"properties":521,"children":522,"position":530},{},[523],{"type":21,"value":524,"position":525},"totalTrades",{"start":526,"end":528},{"line":257,"column":85,"offset":527},941,{"line":257,"column":257,"offset":529},954,{"start":531,"end":532},{"line":257,"column":85,"offset":527},{"line":257,"column":257,"offset":529},{"type":21,"value":534,"position":535},", ",{"start":536,"end":537},{"line":257,"column":257,"offset":529},{"line":257,"column":332,"offset":538},956,{"type":16,"tagName":31,"properties":540,"children":541,"position":549},{},[542],{"type":21,"value":543,"position":544},"winTrades",{"start":545,"end":546},{"line":257,"column":332,"offset":538},{"line":257,"column":547,"offset":548},29,967,{"start":550,"end":551},{"line":257,"column":332,"offset":538},{"line":257,"column":547,"offset":548},{"type":21,"value":534,"position":553},{"start":554,"end":555},{"line":257,"column":547,"offset":548},{"line":257,"column":286,"offset":556},969,{"type":16,"tagName":31,"properties":558,"children":559,"position":567},{},[560],{"type":21,"value":561,"position":562},"lossTrades",{"start":563,"end":564},{"line":257,"column":286,"offset":556},{"line":257,"column":565,"offset":566},43,981,{"start":568,"end":569},{"line":257,"column":286,"offset":556},{"line":257,"column":565,"offset":566},{"start":571,"end":573},{"line":257,"column":25,"offset":572},939,{"line":257,"column":574,"offset":575},44,982,{"type":16,"tagName":159,"properties":577,"children":578,"position":627},{},[579,588,601,608,621],{"type":21,"value":580,"position":581},"Closed trades, and the win/loss split. ",{"start":582,"end":585},{"line":257,"column":583,"offset":584},46,984,{"line":257,"column":586,"offset":587},85,1023,{"type":16,"tagName":31,"properties":589,"children":590,"position":598},{},[591],{"type":21,"value":592,"position":593},"winRatePct",{"start":594,"end":595},{"line":257,"column":586,"offset":587},{"line":257,"column":596,"offset":597},97,1035,{"start":599,"end":600},{"line":257,"column":586,"offset":587},{"line":257,"column":596,"offset":597},{"type":21,"value":602,"position":603}," is ",{"start":604,"end":605},{"line":257,"column":596,"offset":597},{"line":257,"column":606,"offset":607},101,1039,{"type":16,"tagName":31,"properties":609,"children":610,"position":618},{},[611],{"type":21,"value":612,"position":613},"winTrades / totalTrades * 100",{"start":614,"end":615},{"line":257,"column":606,"offset":607},{"line":257,"column":616,"offset":617},132,1070,{"start":619,"end":620},{"line":257,"column":606,"offset":607},{"line":257,"column":616,"offset":617},{"type":21,"value":228,"position":622},{"start":623,"end":624},{"line":257,"column":616,"offset":617},{"line":257,"column":625,"offset":626},133,1071,{"start":628,"end":629},{"line":257,"column":574,"offset":575},{"line":257,"column":630,"offset":631},135,1073,{"start":633,"end":634},{"line":257,"column":25,"offset":572},{"line":257,"column":630,"offset":631},{"type":16,"tagName":106,"properties":636,"children":637,"position":715},{},[638,698],{"type":16,"tagName":159,"properties":639,"children":640,"position":692},{},[641,655,660,673,679],{"type":16,"tagName":31,"properties":642,"children":643,"position":652},{},[644],{"type":21,"value":645,"position":646},"avgTrade",{"start":647,"end":649},{"line":189,"column":85,"offset":648},1076,{"line":189,"column":650,"offset":651},13,1086,{"start":653,"end":654},{"line":189,"column":85,"offset":648},{"line":189,"column":650,"offset":651},{"type":21,"value":534,"position":656},{"start":657,"end":658},{"line":189,"column":650,"offset":651},{"line":189,"column":180,"offset":659},1088,{"type":16,"tagName":31,"properties":661,"children":662,"position":670},{},[663],{"type":21,"value":664,"position":665},"avgWin",{"start":666,"end":667},{"line":189,"column":180,"offset":659},{"line":189,"column":668,"offset":669},23,1096,{"start":671,"end":672},{"line":189,"column":180,"offset":659},{"line":189,"column":668,"offset":669},{"type":21,"value":534,"position":674},{"start":675,"end":676},{"line":189,"column":668,"offset":669},{"line":189,"column":677,"offset":678},25,1098,{"type":16,"tagName":31,"properties":680,"children":681,"position":689},{},[682],{"type":21,"value":683,"position":684},"avgLoss",{"start":685,"end":686},{"line":189,"column":677,"offset":678},{"line":189,"column":687,"offset":688},34,1107,{"start":690,"end":691},{"line":189,"column":677,"offset":678},{"line":189,"column":687,"offset":688},{"start":693,"end":695},{"line":189,"column":25,"offset":694},1074,{"line":189,"column":696,"offset":697},35,1108,{"type":16,"tagName":159,"properties":699,"children":700,"position":710},{},[701],{"type":21,"value":702,"position":703},"Mean PnL per closed trade, per winner, per loser.",{"start":704,"end":707},{"line":189,"column":705,"offset":706},37,1110,{"line":189,"column":708,"offset":709},86,1159,{"start":711,"end":712},{"line":189,"column":696,"offset":697},{"line":189,"column":713,"offset":714},88,1161,{"start":716,"end":717},{"line":189,"column":25,"offset":694},{"line":189,"column":713,"offset":714},{"type":16,"tagName":106,"properties":719,"children":720,"position":789},{},[721,742],{"type":16,"tagName":159,"properties":722,"children":723,"position":737},{},[724],{"type":16,"tagName":31,"properties":725,"children":726,"position":734},{},[727],{"type":21,"value":728,"position":729},"payoffRatio",{"start":730,"end":732},{"line":332,"column":85,"offset":731},1164,{"line":332,"column":257,"offset":733},1177,{"start":735,"end":736},{"line":332,"column":85,"offset":731},{"line":332,"column":257,"offset":733},{"start":738,"end":740},{"line":332,"column":25,"offset":739},1162,{"line":332,"column":189,"offset":741},1178,{"type":16,"tagName":159,"properties":743,"children":744,"position":784},{},[745,759,765,777],{"type":16,"tagName":31,"properties":746,"children":747,"position":756},{},[748],{"type":21,"value":749,"position":750},"avgWin / abs(avgLoss)",{"start":751,"end":753},{"line":332,"column":267,"offset":752},1180,{"line":332,"column":754,"offset":755},42,1203,{"start":757,"end":758},{"line":332,"column":267,"offset":752},{"line":332,"column":754,"offset":755},{"type":21,"value":760,"position":761},". ",{"start":762,"end":763},{"line":332,"column":754,"offset":755},{"line":332,"column":574,"offset":764},1205,{"type":16,"tagName":31,"properties":766,"children":767,"position":774},{},[768],{"type":21,"value":362,"position":769},{"start":770,"end":771},{"line":332,"column":574,"offset":764},{"line":332,"column":772,"offset":773},50,1211,{"start":775,"end":776},{"line":332,"column":574,"offset":764},{"line":332,"column":772,"offset":773},{"type":21,"value":778,"position":779}," when there are no losers. Read it WITH the win rate: 40% winners at a 3.0 payoff is profitable, 70% winners at 0.3 is not.",{"start":780,"end":781},{"line":332,"column":772,"offset":773},{"line":332,"column":782,"offset":783},173,1334,{"start":785,"end":786},{"line":332,"column":189,"offset":741},{"line":332,"column":787,"offset":788},175,1336,{"start":790,"end":791},{"line":332,"column":25,"offset":739},{"line":332,"column":787,"offset":788},{"type":16,"tagName":106,"properties":793,"children":794,"position":884},{},[795,833],{"type":16,"tagName":159,"properties":796,"children":797,"position":828},{},[798,811,816],{"type":16,"tagName":31,"properties":799,"children":800,"position":808},{},[801],{"type":21,"value":802,"position":803},"largestWin",{"start":804,"end":806},{"line":267,"column":85,"offset":805},1339,{"line":267,"column":180,"offset":807},1351,{"start":809,"end":810},{"line":267,"column":85,"offset":805},{"line":267,"column":180,"offset":807},{"type":21,"value":534,"position":812},{"start":813,"end":814},{"line":267,"column":180,"offset":807},{"line":267,"column":189,"offset":815},1353,{"type":16,"tagName":31,"properties":817,"children":818,"position":825},{},[819],{"type":21,"value":820,"position":821},"largestLoss",{"start":822,"end":823},{"line":267,"column":189,"offset":815},{"line":267,"column":277,"offset":824},1366,{"start":826,"end":827},{"line":267,"column":189,"offset":815},{"line":267,"column":277,"offset":824},{"start":829,"end":831},{"line":267,"column":25,"offset":830},1337,{"line":267,"column":286,"offset":832},1367,{"type":16,"tagName":159,"properties":834,"children":835,"position":880},{},[836,844,856,863,874],{"type":21,"value":837,"position":838},"The single best and worst closed trades. If ",{"start":839,"end":841},{"line":267,"column":295,"offset":840},1369,{"line":267,"column":842,"offset":843},77,1413,{"type":16,"tagName":31,"properties":845,"children":846,"position":853},{},[847],{"type":21,"value":802,"position":848},{"start":849,"end":850},{"line":267,"column":842,"offset":843},{"line":267,"column":851,"offset":852},89,1425,{"start":854,"end":855},{"line":267,"column":842,"offset":843},{"line":267,"column":851,"offset":852},{"type":21,"value":857,"position":858}," dominates ",{"start":859,"end":860},{"line":267,"column":851,"offset":852},{"line":267,"column":861,"offset":862},100,1436,{"type":16,"tagName":31,"properties":864,"children":865,"position":871},{},[866],{"type":21,"value":166,"position":867},{"start":868,"end":869},{"line":267,"column":861,"offset":862},{"line":267,"column":232,"offset":870},1447,{"start":872,"end":873},{"line":267,"column":861,"offset":862},{"line":267,"column":232,"offset":870},{"type":21,"value":875,"position":876},", one trade made the backtest.",{"start":877,"end":878},{"line":267,"column":232,"offset":870},{"line":267,"column":376,"offset":879},1477,{"start":881,"end":882},{"line":267,"column":286,"offset":832},{"line":267,"column":381,"offset":883},1479,{"start":885,"end":886},{"line":267,"column":25,"offset":830},{"line":267,"column":381,"offset":883},{"type":16,"tagName":106,"properties":888,"children":889,"position":926},{},[890,911],{"type":16,"tagName":159,"properties":891,"children":892,"position":906},{},[893],{"type":16,"tagName":31,"properties":894,"children":895,"position":903},{},[896],{"type":21,"value":897,"position":898},"avgBarsInTrade",{"start":899,"end":901},{"line":138,"column":85,"offset":900},1482,{"line":138,"column":267,"offset":902},1498,{"start":904,"end":905},{"line":138,"column":85,"offset":900},{"line":138,"column":267,"offset":902},{"start":907,"end":909},{"line":138,"column":25,"offset":908},1480,{"line":138,"column":138,"offset":910},1499,{"type":16,"tagName":159,"properties":912,"children":913,"position":922},{},[914],{"type":21,"value":915,"position":916},"Mean holding time in bars.",{"start":917,"end":919},{"line":138,"column":143,"offset":918},1501,{"line":138,"column":920,"offset":921},48,1527,{"start":923,"end":924},{"line":138,"column":138,"offset":910},{"line":138,"column":772,"offset":925},1529,{"start":927,"end":928},{"line":138,"column":25,"offset":908},{"line":138,"column":772,"offset":925},{"type":16,"tagName":106,"properties":930,"children":931,"position":968},{},[932,953],{"type":16,"tagName":159,"properties":933,"children":934,"position":948},{},[935],{"type":16,"tagName":31,"properties":936,"children":937,"position":945},{},[938],{"type":21,"value":939,"position":940},"rejectedOrders",{"start":941,"end":943},{"line":401,"column":85,"offset":942},1532,{"line":401,"column":267,"offset":944},1548,{"start":946,"end":947},{"line":401,"column":85,"offset":942},{"line":401,"column":267,"offset":944},{"start":949,"end":951},{"line":401,"column":25,"offset":950},1530,{"line":401,"column":138,"offset":952},1549,{"type":16,"tagName":159,"properties":954,"children":955,"position":964},{},[956],{"type":21,"value":957,"position":958},"Orders the broker refused (pyramiding cap, invalid sizing, non-positive equity, NaN bars; on perps also insufficient margin and post-halt entries). Rejections are counted, never silently dropped.",{"start":959,"end":961},{"line":401,"column":143,"offset":960},1551,{"line":401,"column":962,"offset":963},217,1746,{"start":965,"end":966},{"line":401,"column":138,"offset":952},{"line":401,"column":434,"offset":967},1748,{"start":969,"end":970},{"line":401,"column":25,"offset":950},{"line":401,"column":434,"offset":967},{"start":972,"end":973},{"line":257,"column":25,"offset":572},{"line":401,"column":434,"offset":967},{"start":975,"end":976},{"line":171,"column":25,"offset":489},{"line":401,"column":434,"offset":967},{"type":21,"value":75},{"type":16,"tagName":77,"properties":979,"children":981,"position":989},{"id":980},"risk",[982],{"type":21,"value":983,"position":984},"Risk",{"start":985,"end":987},{"line":668,"column":86,"offset":986},1753,{"line":668,"column":126,"offset":988},1757,{"start":990,"end":992},{"line":668,"column":25,"offset":991},1750,{"line":668,"column":126,"offset":988},{"type":21,"value":994},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":16,"tagName":98,"properties":996,"children":997,"position":1330},{},[998,1037],{"type":16,"tagName":102,"properties":999,"children":1000,"position":1034},{},[1001],{"type":16,"tagName":106,"properties":1002,"children":1003,"position":1031},{},[1004,1018],{"type":16,"tagName":110,"properties":1005,"children":1006,"position":1013},{},[1007],{"type":21,"value":114,"position":1008},{"start":1009,"end":1011},{"line":677,"column":85,"offset":1010},1761,{"line":677,"column":120,"offset":1012},1765,{"start":1014,"end":1016},{"line":677,"column":25,"offset":1015},1759,{"line":677,"column":126,"offset":1017},1766,{"type":16,"tagName":110,"properties":1019,"children":1020,"position":1027},{},[1021],{"type":21,"value":132,"position":1022},{"start":1023,"end":1025},{"line":677,"column":135,"offset":1024},1768,{"line":677,"column":138,"offset":1026},1778,{"start":1028,"end":1029},{"line":677,"column":126,"offset":1017},{"line":677,"column":143,"offset":1030},1780,{"start":1032,"end":1033},{"line":677,"column":25,"offset":1015},{"line":677,"column":143,"offset":1030},{"start":1035,"end":1036},{"line":677,"column":25,"offset":1015},{"line":677,"column":143,"offset":1030},{"type":16,"tagName":152,"properties":1038,"children":1039,"position":1327},{},[1040,1103,1147,1241,1284],{"type":16,"tagName":106,"properties":1041,"children":1042,"position":1100},{},[1043,1065],{"type":16,"tagName":159,"properties":1044,"children":1045,"position":1060},{},[1046],{"type":16,"tagName":31,"properties":1047,"children":1048,"position":1057},{},[1049],{"type":21,"value":1050,"position":1051},"maxDrawdown",{"start":1052,"end":1055},{"line":1053,"column":85,"offset":1054},27,1797,{"line":1053,"column":257,"offset":1056},1810,{"start":1058,"end":1059},{"line":1053,"column":85,"offset":1054},{"line":1053,"column":257,"offset":1056},{"start":1061,"end":1063},{"line":1053,"column":25,"offset":1062},1795,{"line":1053,"column":189,"offset":1064},1811,{"type":16,"tagName":159,"properties":1066,"children":1067,"position":1095},{},[1068,1076,1088],{"type":21,"value":1069,"position":1070},"Largest peak-to-trough equity decline over the run, in money. ",{"start":1071,"end":1073},{"line":1053,"column":267,"offset":1072},1813,{"line":1053,"column":1074,"offset":1075},81,1875,{"type":16,"tagName":31,"properties":1077,"children":1078,"position":1085},{},[1079],{"type":21,"value":1080,"position":1081},"maxDrawdownPct",{"start":1082,"end":1083},{"line":1053,"column":1074,"offset":1075},{"line":1053,"column":596,"offset":1084},1891,{"start":1086,"end":1087},{"line":1053,"column":1074,"offset":1075},{"line":1053,"column":596,"offset":1084},{"type":21,"value":1089,"position":1090}," is relative to the equity peak it fell from.",{"start":1091,"end":1092},{"line":1053,"column":596,"offset":1084},{"line":1053,"column":1093,"offset":1094},142,1936,{"start":1096,"end":1097},{"line":1053,"column":189,"offset":1064},{"line":1053,"column":1098,"offset":1099},144,1938,{"start":1101,"end":1102},{"line":1053,"column":25,"offset":1062},{"line":1053,"column":1098,"offset":1099},{"type":16,"tagName":106,"properties":1104,"children":1105,"position":1144},{},[1106,1128],{"type":16,"tagName":159,"properties":1107,"children":1108,"position":1123},{},[1109],{"type":16,"tagName":31,"properties":1110,"children":1111,"position":1120},{},[1112],{"type":21,"value":1113,"position":1114},"maxRunup",{"start":1115,"end":1118},{"line":1116,"column":85,"offset":1117},28,1941,{"line":1116,"column":650,"offset":1119},1951,{"start":1121,"end":1122},{"line":1116,"column":85,"offset":1117},{"line":1116,"column":650,"offset":1119},{"start":1124,"end":1126},{"line":1116,"column":25,"offset":1125},1939,{"line":1116,"column":171,"offset":1127},1952,{"type":16,"tagName":159,"properties":1129,"children":1130,"position":1139},{},[1131],{"type":21,"value":1132,"position":1133},"Mirror of drawdown: the largest trough-to-peak climb.",{"start":1134,"end":1136},{"line":1116,"column":257,"offset":1135},1954,{"line":1116,"column":1137,"offset":1138},69,2007,{"start":1140,"end":1141},{"line":1116,"column":171,"offset":1127},{"line":1116,"column":1142,"offset":1143},71,2009,{"start":1145,"end":1146},{"line":1116,"column":25,"offset":1125},{"line":1116,"column":1142,"offset":1143},{"type":16,"tagName":106,"properties":1148,"children":1149,"position":1238},{},[1150,1171],{"type":16,"tagName":159,"properties":1151,"children":1152,"position":1166},{},[1153],{"type":16,"tagName":31,"properties":1154,"children":1155,"position":1163},{},[1156],{"type":21,"value":1157,"position":1158},"sharpe",{"start":1159,"end":1161},{"line":547,"column":85,"offset":1160},2012,{"line":547,"column":89,"offset":1162},2020,{"start":1164,"end":1165},{"line":547,"column":85,"offset":1160},{"line":547,"column":89,"offset":1162},{"start":1167,"end":1169},{"line":547,"column":25,"offset":1168},2010,{"line":547,"column":459,"offset":1170},2021,{"type":16,"tagName":159,"properties":1172,"children":1173,"position":1233},{},[1174,1188,1195,1207,1214,1227],{"type":16,"tagName":31,"properties":1175,"children":1176,"position":1185},{},[1177],{"type":21,"value":1178,"position":1179},"mean(r) / sampleStd(r) * sqrt(barsPerYear)",{"start":1180,"end":1182},{"line":547,"column":171,"offset":1181},2023,{"line":547,"column":1183,"offset":1184},58,2067,{"start":1186,"end":1187},{"line":547,"column":171,"offset":1181},{"line":547,"column":1183,"offset":1184},{"type":21,"value":1189,"position":1190},", where ",{"start":1191,"end":1192},{"line":547,"column":1183,"offset":1184},{"line":547,"column":1193,"offset":1194},66,2075,{"type":16,"tagName":31,"properties":1196,"children":1197,"position":1204},{},[1198],{"type":21,"value":1199,"position":1200},"r",{"start":1201,"end":1202},{"line":547,"column":1193,"offset":1194},{"line":547,"column":1137,"offset":1203},2078,{"start":1205,"end":1206},{"line":547,"column":1193,"offset":1194},{"line":547,"column":1137,"offset":1203},{"type":21,"value":1208,"position":1209}," are per-bar equity returns over confirmed bars and ",{"start":1210,"end":1211},{"line":547,"column":1137,"offset":1203},{"line":547,"column":1212,"offset":1213},121,2130,{"type":16,"tagName":31,"properties":1215,"children":1216,"position":1224},{},[1217],{"type":21,"value":1218,"position":1219},"barsPerYear = 31,536,000,000 / intervalMs",{"start":1220,"end":1221},{"line":547,"column":1212,"offset":1213},{"line":547,"column":1222,"offset":1223},164,2173,{"start":1225,"end":1226},{"line":547,"column":1212,"offset":1213},{"line":547,"column":1222,"offset":1223},{"type":21,"value":1228,"position":1229},". Zero when the return series has no variance. Annualized from YOUR chart interval, so compare Sharpe across runs at the same interval.",{"start":1230,"end":1231},{"line":547,"column":1222,"offset":1223},{"line":547,"column":169,"offset":1232},2308,{"start":1234,"end":1235},{"line":547,"column":459,"offset":1170},{"line":547,"column":1236,"offset":1237},301,2310,{"start":1239,"end":1240},{"line":547,"column":25,"offset":1168},{"line":547,"column":1236,"offset":1237},{"type":16,"tagName":106,"properties":1242,"children":1243,"position":1281},{},[1244,1265],{"type":16,"tagName":159,"properties":1245,"children":1246,"position":1260},{},[1247],{"type":16,"tagName":31,"properties":1248,"children":1249,"position":1257},{},[1250],{"type":21,"value":1251,"position":1252},"sortino",{"start":1253,"end":1255},{"line":277,"column":85,"offset":1254},2313,{"line":277,"column":459,"offset":1256},2322,{"start":1258,"end":1259},{"line":277,"column":85,"offset":1254},{"line":277,"column":459,"offset":1256},{"start":1261,"end":1263},{"line":277,"column":25,"offset":1262},2311,{"line":277,"column":650,"offset":1264},2323,{"type":16,"tagName":159,"properties":1266,"children":1267,"position":1276},{},[1268],{"type":21,"value":1269,"position":1270},"Same as Sharpe with downside deviation (only returns below zero) in the denominator. Punishes losing volatility, forgives winning volatility.",{"start":1271,"end":1273},{"line":277,"column":180,"offset":1272},2325,{"line":277,"column":1274,"offset":1275},156,2466,{"start":1277,"end":1278},{"line":277,"column":650,"offset":1264},{"line":277,"column":1279,"offset":1280},158,2468,{"start":1282,"end":1283},{"line":277,"column":25,"offset":1262},{"line":277,"column":1279,"offset":1280},{"type":16,"tagName":106,"properties":1285,"children":1286,"position":1324},{},[1287,1308],{"type":16,"tagName":159,"properties":1288,"children":1289,"position":1303},{},[1290],{"type":16,"tagName":31,"properties":1291,"children":1292,"position":1300},{},[1293],{"type":21,"value":1294,"position":1295},"exposurePct",{"start":1296,"end":1298},{"line":286,"column":85,"offset":1297},2471,{"line":286,"column":257,"offset":1299},2484,{"start":1301,"end":1302},{"line":286,"column":85,"offset":1297},{"line":286,"column":257,"offset":1299},{"start":1304,"end":1306},{"line":286,"column":25,"offset":1305},2469,{"line":286,"column":189,"offset":1307},2485,{"type":16,"tagName":159,"properties":1309,"children":1310,"position":1319},{},[1311],{"type":21,"value":1312,"position":1313},"Bars with a nonzero position divided by all confirmed bars, times 100. A strategy in the market 4% of the time with the same net profit as one exposed 90% of the time is taking far less risk per unit of return.",{"start":1314,"end":1316},{"line":286,"column":267,"offset":1315},2487,{"line":286,"column":1317,"offset":1318},229,2697,{"start":1320,"end":1321},{"line":286,"column":189,"offset":1307},{"line":286,"column":1322,"offset":1323},231,2699,{"start":1325,"end":1326},{"line":286,"column":25,"offset":1305},{"line":286,"column":1322,"offset":1323},{"start":1328,"end":1329},{"line":1053,"column":25,"offset":1062},{"line":286,"column":1322,"offset":1323},{"start":1331,"end":1332},{"line":677,"column":25,"offset":1015},{"line":286,"column":1322,"offset":1323},{"type":21,"value":75},{"type":16,"tagName":77,"properties":1335,"children":1337,"position":1345},{"id":1336},"costs",[1338],{"type":21,"value":1339,"position":1340},"Costs",{"start":1341,"end":1343},{"line":295,"column":86,"offset":1342},2704,{"line":295,"column":321,"offset":1344},2709,{"start":1346,"end":1348},{"line":295,"column":25,"offset":1347},2701,{"line":295,"column":321,"offset":1344},{"type":21,"value":994},{"type":16,"tagName":98,"properties":1351,"children":1352,"position":1853},{},[1353,1392],{"type":16,"tagName":102,"properties":1354,"children":1355,"position":1389},{},[1356],{"type":16,"tagName":106,"properties":1357,"children":1358,"position":1386},{},[1359,1373],{"type":16,"tagName":110,"properties":1360,"children":1361,"position":1368},{},[1362],{"type":21,"value":114,"position":1363},{"start":1364,"end":1366},{"line":696,"column":85,"offset":1365},2713,{"line":696,"column":120,"offset":1367},2717,{"start":1369,"end":1371},{"line":696,"column":25,"offset":1370},2711,{"line":696,"column":126,"offset":1372},2718,{"type":16,"tagName":110,"properties":1374,"children":1375,"position":1382},{},[1376],{"type":21,"value":132,"position":1377},{"start":1378,"end":1380},{"line":696,"column":135,"offset":1379},2720,{"line":696,"column":138,"offset":1381},2730,{"start":1383,"end":1384},{"line":696,"column":126,"offset":1372},{"line":696,"column":143,"offset":1385},2732,{"start":1387,"end":1388},{"line":696,"column":25,"offset":1370},{"line":696,"column":143,"offset":1385},{"start":1390,"end":1391},{"line":696,"column":25,"offset":1370},{"line":696,"column":143,"offset":1385},{"type":16,"tagName":152,"properties":1393,"children":1394,"position":1850},{},[1395,1515,1621,1722,1767],{"type":16,"tagName":106,"properties":1396,"children":1397,"position":1512},{},[1398,1419],{"type":16,"tagName":159,"properties":1399,"children":1400,"position":1414},{},[1401],{"type":16,"tagName":31,"properties":1402,"children":1403,"position":1411},{},[1404],{"type":21,"value":1405,"position":1406},"feesPaid",{"start":1407,"end":1409},{"line":705,"column":85,"offset":1408},2749,{"line":705,"column":650,"offset":1410},2759,{"start":1412,"end":1413},{"line":705,"column":85,"offset":1408},{"line":705,"column":650,"offset":1410},{"start":1415,"end":1417},{"line":705,"column":25,"offset":1416},2747,{"line":705,"column":171,"offset":1418},2760,{"type":16,"tagName":159,"properties":1420,"children":1421,"position":1508},{},[1422,1430,1442,1448,1461,1468,1481,1488,1501],{"type":21,"value":1423,"position":1424},"Total fees across all fills, already subtracted from equity and ",{"start":1425,"end":1427},{"line":705,"column":257,"offset":1426},2762,{"line":705,"column":1428,"offset":1429},80,2826,{"type":16,"tagName":31,"properties":1431,"children":1432,"position":1439},{},[1433],{"type":21,"value":166,"position":1434},{"start":1435,"end":1436},{"line":705,"column":1428,"offset":1429},{"line":705,"column":1437,"offset":1438},91,2837,{"start":1440,"end":1441},{"line":705,"column":1428,"offset":1429},{"line":705,"column":1437,"offset":1438},{"type":21,"value":1443,"position":1444}," (funding is excluded; it has its own stats). Spot: ",{"start":1445,"end":1446},{"line":705,"column":1437,"offset":1438},{"line":705,"column":381,"offset":1447},2889,{"type":16,"tagName":31,"properties":1449,"children":1450,"position":1458},{},[1451],{"type":21,"value":1452,"position":1453},"commissionPercent",{"start":1454,"end":1455},{"line":705,"column":381,"offset":1447},{"line":705,"column":1456,"offset":1457},162,2908,{"start":1459,"end":1460},{"line":705,"column":381,"offset":1447},{"line":705,"column":1456,"offset":1457},{"type":21,"value":1462,"position":1463}," of each fill's notional. Perps: exactly ",{"start":1464,"end":1465},{"line":705,"column":1456,"offset":1457},{"line":705,"column":1466,"offset":1467},203,2949,{"type":16,"tagName":31,"properties":1469,"children":1470,"position":1478},{},[1471],{"type":21,"value":1472,"position":1473},"makerFeesPaid + takerFeesPaid",{"start":1474,"end":1475},{"line":705,"column":1466,"offset":1467},{"line":705,"column":1476,"offset":1477},234,2980,{"start":1479,"end":1480},{"line":705,"column":1466,"offset":1467},{"line":705,"column":1476,"offset":1477},{"type":21,"value":1482,"position":1483}," (observed ",{"start":1484,"end":1485},{"line":705,"column":1476,"offset":1477},{"line":705,"column":1486,"offset":1487},245,2991,{"type":16,"tagName":31,"properties":1489,"children":1490,"position":1498},{},[1491],{"type":21,"value":1492,"position":1493},"1.0625991428568167 = 0.7247578990925553 + 0.3378412437642613",{"start":1494,"end":1495},{"line":705,"column":1486,"offset":1487},{"line":705,"column":1496,"offset":1497},307,3053,{"start":1499,"end":1500},{"line":705,"column":1486,"offset":1487},{"line":705,"column":1496,"offset":1497},{"type":21,"value":1502,"position":1503},").",{"start":1504,"end":1505},{"line":705,"column":1496,"offset":1497},{"line":705,"column":1506,"offset":1507},309,3055,{"start":1509,"end":1510},{"line":705,"column":171,"offset":1418},{"line":705,"column":181,"offset":1511},3057,{"start":1513,"end":1514},{"line":705,"column":25,"offset":1416},{"line":705,"column":181,"offset":1511},{"type":16,"tagName":106,"properties":1516,"children":1517,"position":1618},{},[1518,1558],{"type":16,"tagName":159,"properties":1519,"children":1520,"position":1553},{},[1521,1535,1540],{"type":16,"tagName":31,"properties":1522,"children":1523,"position":1532},{},[1524],{"type":21,"value":1525,"position":1526},"makerFeesPaid",{"start":1527,"end":1530},{"line":1528,"column":85,"offset":1529},38,3060,{"line":1528,"column":332,"offset":1531},3075,{"start":1533,"end":1534},{"line":1528,"column":85,"offset":1529},{"line":1528,"column":332,"offset":1531},{"type":21,"value":263,"position":1536},{"start":1537,"end":1538},{"line":1528,"column":332,"offset":1531},{"line":1528,"column":401,"offset":1539},3078,{"type":16,"tagName":31,"properties":1541,"children":1542,"position":1550},{},[1543],{"type":21,"value":1544,"position":1545},"takerFeesPaid",{"start":1546,"end":1547},{"line":1528,"column":401,"offset":1539},{"line":1528,"column":1548,"offset":1549},36,3093,{"start":1551,"end":1552},{"line":1528,"column":401,"offset":1539},{"line":1528,"column":1548,"offset":1549},{"start":1554,"end":1556},{"line":1528,"column":25,"offset":1555},3058,{"line":1528,"column":705,"offset":1557},3094,{"type":16,"tagName":159,"properties":1559,"children":1560,"position":1613},{},[1561,1570,1583,1589,1607],{"type":21,"value":1562,"position":1563},"Perps fee split by fill type: maker for limit-priced fills, taker for market-crossing fills (including liquidation fills). Both ",{"start":1564,"end":1567},{"line":1528,"column":1565,"offset":1566},39,3096,{"line":1528,"column":1568,"offset":1569},167,3224,{"type":16,"tagName":31,"properties":1571,"children":1572,"position":1580},{},[1573],{"type":21,"value":1574,"position":1575},"0",{"start":1576,"end":1577},{"line":1528,"column":1568,"offset":1569},{"line":1528,"column":1578,"offset":1579},170,3227,{"start":1581,"end":1582},{"line":1528,"column":1568,"offset":1569},{"line":1528,"column":1578,"offset":1579},{"type":21,"value":1584,"position":1585}," on spot runs, even with maker/taker rates declared (they are ignored with a diagnostic; see ",{"start":1586,"end":1587},{"line":1528,"column":1578,"offset":1579},{"line":1528,"column":118,"offset":1588},3320,{"type":16,"tagName":1590,"properties":1591,"children":1593,"position":1602},"a",{"href":1592},"slippage-and-costs.md#one-fee-schedule-per-instrument",[1594],{"type":21,"value":1595,"position":1596},"Slippage and Costs",{"start":1597,"end":1600},{"line":1528,"column":1598,"offset":1599},264,3321,{"line":1528,"column":144,"offset":1601},3339,{"start":1603,"end":1604},{"line":1528,"column":118,"offset":1588},{"line":1528,"column":1605,"offset":1606},338,3395,{"type":21,"value":1502,"position":1608},{"start":1609,"end":1610},{"line":1528,"column":1605,"offset":1606},{"line":1528,"column":1611,"offset":1612},340,3397,{"start":1614,"end":1615},{"line":1528,"column":705,"offset":1557},{"line":1528,"column":1616,"offset":1617},342,3399,{"start":1619,"end":1620},{"line":1528,"column":25,"offset":1555},{"line":1528,"column":1616,"offset":1617},{"type":16,"tagName":106,"properties":1622,"children":1623,"position":1719},{},[1624,1645],{"type":16,"tagName":159,"properties":1625,"children":1626,"position":1640},{},[1627],{"type":16,"tagName":31,"properties":1628,"children":1629,"position":1637},{},[1630],{"type":21,"value":1631,"position":1632},"fundingPaid",{"start":1633,"end":1635},{"line":1565,"column":85,"offset":1634},3402,{"line":1565,"column":257,"offset":1636},3415,{"start":1638,"end":1639},{"line":1565,"column":85,"offset":1634},{"line":1565,"column":257,"offset":1636},{"start":1641,"end":1643},{"line":1565,"column":25,"offset":1642},3400,{"line":1565,"column":189,"offset":1644},3416,{"type":16,"tagName":159,"properties":1646,"children":1647,"position":1714},{},[1648,1655,1668,1675,1687,1694,1707],{"type":21,"value":1649,"position":1650},"Net funding settled against open perps positions, signed from the strategy's side: positive means the strategy paid funding, negative means it received it (a probed long under a positive rate paid: ",{"start":1651,"end":1653},{"line":1565,"column":267,"offset":1652},3418,{"line":1565,"column":962,"offset":1654},3616,{"type":16,"tagName":31,"properties":1656,"children":1657,"position":1665},{},[1658],{"type":21,"value":1659,"position":1660},"0.36904136169411894",{"start":1661,"end":1662},{"line":1565,"column":962,"offset":1654},{"line":1565,"column":1663,"offset":1664},238,3637,{"start":1666,"end":1667},{"line":1565,"column":962,"offset":1654},{"line":1565,"column":1663,"offset":1664},{"type":21,"value":1669,"position":1670},"). ",{"start":1671,"end":1672},{"line":1565,"column":1663,"offset":1664},{"line":1565,"column":1673,"offset":1674},241,3640,{"type":16,"tagName":31,"properties":1676,"children":1677,"position":1684},{},[1678],{"type":21,"value":1574,"position":1679},{"start":1680,"end":1681},{"line":1565,"column":1673,"offset":1674},{"line":1565,"column":1682,"offset":1683},244,3643,{"start":1685,"end":1686},{"line":1565,"column":1673,"offset":1674},{"line":1565,"column":1682,"offset":1683},{"type":21,"value":1688,"position":1689}," when ",{"start":1690,"end":1691},{"line":1565,"column":1682,"offset":1683},{"line":1565,"column":1692,"offset":1693},250,3649,{"type":16,"tagName":31,"properties":1695,"children":1696,"position":1704},{},[1697],{"type":21,"value":1698,"position":1699},"funding=\"off\"",{"start":1700,"end":1701},{"line":1565,"column":1692,"offset":1693},{"line":1565,"column":1702,"offset":1703},265,3664,{"start":1705,"end":1706},{"line":1565,"column":1692,"offset":1693},{"line":1565,"column":1702,"offset":1703},{"type":21,"value":1708,"position":1709}," or on spot.",{"start":1710,"end":1711},{"line":1565,"column":1702,"offset":1703},{"line":1565,"column":1712,"offset":1713},277,3676,{"start":1715,"end":1716},{"line":1565,"column":189,"offset":1644},{"line":1565,"column":1717,"offset":1718},279,3678,{"start":1720,"end":1721},{"line":1565,"column":25,"offset":1642},{"line":1565,"column":1717,"offset":1718},{"type":16,"tagName":106,"properties":1723,"children":1724,"position":1764},{},[1725,1748],{"type":16,"tagName":159,"properties":1726,"children":1727,"position":1742},{},[1728],{"type":16,"tagName":31,"properties":1729,"children":1730,"position":1739},{},[1731],{"type":21,"value":1732,"position":1733},"fundingEventsApplied",{"start":1734,"end":1737},{"line":1735,"column":85,"offset":1736},40,3681,{"line":1735,"column":677,"offset":1738},3703,{"start":1740,"end":1741},{"line":1735,"column":85,"offset":1736},{"line":1735,"column":677,"offset":1738},{"start":1743,"end":1745},{"line":1735,"column":25,"offset":1744},3679,{"line":1735,"column":1746,"offset":1747},26,3704,{"type":16,"tagName":159,"properties":1749,"children":1750,"position":1759},{},[1751],{"type":21,"value":1752,"position":1753},"Funding settlements applied to an open position. Events with no open position do not count (38 events in the window, 36 applied to a position opened at bar 10).",{"start":1754,"end":1756},{"line":1735,"column":1116,"offset":1755},3706,{"line":1735,"column":1757,"offset":1758},188,3866,{"start":1760,"end":1761},{"line":1735,"column":1746,"offset":1747},{"line":1735,"column":1762,"offset":1763},190,3868,{"start":1765,"end":1766},{"line":1735,"column":25,"offset":1744},{"line":1735,"column":1762,"offset":1763},{"type":16,"tagName":106,"properties":1768,"children":1769,"position":1847},{},[1770,1792],{"type":16,"tagName":159,"properties":1771,"children":1772,"position":1787},{},[1773],{"type":16,"tagName":31,"properties":1774,"children":1775,"position":1784},{},[1776],{"type":21,"value":1777,"position":1778},"fundingUnavailableCount",{"start":1779,"end":1782},{"line":1780,"column":85,"offset":1781},41,3871,{"line":1780,"column":1116,"offset":1783},3896,{"start":1785,"end":1786},{"line":1780,"column":85,"offset":1781},{"line":1780,"column":1116,"offset":1783},{"start":1788,"end":1790},{"line":1780,"column":25,"offset":1789},3869,{"line":1780,"column":547,"offset":1791},3897,{"type":16,"tagName":159,"properties":1793,"children":1794,"position":1842},{},[1795,1803,1816,1823,1835],{"type":21,"value":1796,"position":1797},"Bars on which an open perps position had no covering funding data under ",{"start":1798,"end":1800},{"line":1780,"column":286,"offset":1799},3899,{"line":1780,"column":1801,"offset":1802},103,3971,{"type":16,"tagName":31,"properties":1804,"children":1805,"position":1813},{},[1806],{"type":21,"value":1807,"position":1808},"funding=\"data\"",{"start":1809,"end":1810},{"line":1780,"column":1801,"offset":1802},{"line":1780,"column":1811,"offset":1812},119,3987,{"start":1814,"end":1815},{"line":1780,"column":1801,"offset":1802},{"line":1780,"column":1811,"offset":1812},{"type":21,"value":1817,"position":1818},": a funding window not fully covered, invalid OHLC for funding, or settlement events dropped in a data gap (observed ",{"start":1819,"end":1820},{"line":1780,"column":1811,"offset":1812},{"line":1780,"column":1821,"offset":1822},236,4104,{"type":16,"tagName":31,"properties":1824,"children":1825,"position":1832},{},[1826],{"type":21,"value":1827,"position":1828},"289",{"start":1829,"end":1830},{"line":1780,"column":1821,"offset":1822},{"line":1780,"column":1673,"offset":1831},4109,{"start":1833,"end":1834},{"line":1780,"column":1821,"offset":1822},{"line":1780,"column":1673,"offset":1831},{"type":21,"value":1836,"position":1837}," for a position held from bar 10 through a 300-bar run with no funding data). The disclosure counter: no rate is ever invented.",{"start":1838,"end":1839},{"line":1780,"column":1673,"offset":1831},{"line":1780,"column":1840,"offset":1841},368,4236,{"start":1843,"end":1844},{"line":1780,"column":547,"offset":1791},{"line":1780,"column":1845,"offset":1846},370,4238,{"start":1848,"end":1849},{"line":1780,"column":25,"offset":1789},{"line":1780,"column":1845,"offset":1846},{"start":1851,"end":1852},{"line":705,"column":25,"offset":1416},{"line":1780,"column":1845,"offset":1846},{"start":1854,"end":1855},{"line":696,"column":25,"offset":1370},{"line":1780,"column":1845,"offset":1846},{"type":21,"value":75},{"type":16,"tagName":17,"properties":1858,"children":1859,"position":1890},{},[1860,1867,1884],{"type":21,"value":1861,"position":1862},"Slippage is not a separate stat line because it is baked into every fill price; the ",{"start":1863,"end":1865},{"line":565,"column":25,"offset":1864},4240,{"line":565,"column":586,"offset":1866},4324,{"type":16,"tagName":1590,"properties":1868,"children":1870,"position":1879},{"href":1869},"slippage-and-costs.md#reading-the-slippage-disclosure",[1871],{"type":21,"value":1872,"position":1873},"slippage disclosure",{"start":1874,"end":1876},{"line":565,"column":708,"offset":1875},4325,{"line":565,"column":1877,"offset":1878},105,4344,{"start":1880,"end":1881},{"line":565,"column":586,"offset":1866},{"line":565,"column":1882,"offset":1883},161,4400,{"type":21,"value":1885,"position":1886}," in the run details reports how it was priced.",{"start":1887,"end":1888},{"line":565,"column":1882,"offset":1883},{"line":565,"column":50,"offset":1889},4446,{"start":1891,"end":1892},{"line":565,"column":25,"offset":1864},{"line":565,"column":50,"offset":1889},{"type":21,"value":75},{"type":16,"tagName":77,"properties":1895,"children":1897,"position":1905},{"id":1896},"perps",[1898],{"type":21,"value":1899,"position":1900},"Perps",{"start":1901,"end":1903},{"line":346,"column":86,"offset":1902},4451,{"line":346,"column":321,"offset":1904},4456,{"start":1906,"end":1908},{"line":346,"column":25,"offset":1907},4448,{"line":346,"column":321,"offset":1904},{"type":21,"value":75},{"type":16,"tagName":17,"properties":1911,"children":1912,"position":1998},{},[1913,1921,1933,1939,1950,1957,1969,1976,1993],{"type":21,"value":1914,"position":1915},"Populated by ",{"start":1916,"end":1919},{"line":1917,"column":25,"offset":1918},47,4458,{"line":1917,"column":171,"offset":1920},4471,{"type":16,"tagName":31,"properties":1922,"children":1923,"position":1930},{},[1924],{"type":21,"value":1925,"position":1926},"instrument=\"perps\"",{"start":1927,"end":1928},{"line":1917,"column":171,"offset":1920},{"line":1917,"column":687,"offset":1929},4491,{"start":1931,"end":1932},{"line":1917,"column":171,"offset":1920},{"line":1917,"column":687,"offset":1929},{"type":21,"value":1934,"position":1935}," runs; spot runs report them as ",{"start":1936,"end":1937},{"line":1917,"column":687,"offset":1929},{"line":1917,"column":1193,"offset":1938},4523,{"type":16,"tagName":31,"properties":1940,"children":1941,"position":1947},{},[1942],{"type":21,"value":1574,"position":1943},{"start":1944,"end":1945},{"line":1917,"column":1193,"offset":1938},{"line":1917,"column":1137,"offset":1946},4526,{"start":1948,"end":1949},{"line":1917,"column":1193,"offset":1938},{"line":1917,"column":1137,"offset":1946},{"type":21,"value":1951,"position":1952},"/",{"start":1953,"end":1954},{"line":1917,"column":1137,"offset":1946},{"line":1917,"column":1955,"offset":1956},70,4527,{"type":16,"tagName":31,"properties":1958,"children":1959,"position":1966},{},[1960],{"type":21,"value":1961,"position":1962},"false",{"start":1963,"end":1964},{"line":1917,"column":1955,"offset":1956},{"line":1917,"column":842,"offset":1965},4534,{"start":1967,"end":1968},{"line":1917,"column":1955,"offset":1956},{"line":1917,"column":842,"offset":1965},{"type":21,"value":1970,"position":1971},". Mechanics on the ",{"start":1972,"end":1973},{"line":1917,"column":842,"offset":1965},{"line":1917,"column":1974,"offset":1975},96,4553,{"type":16,"tagName":1590,"properties":1977,"children":1979,"position":1988},{"href":1978},"perps.md",[1980],{"type":21,"value":1981,"position":1982},"Perps page",{"start":1983,"end":1985},{"line":1917,"column":596,"offset":1984},4554,{"line":1917,"column":1986,"offset":1987},107,4564,{"start":1989,"end":1990},{"line":1917,"column":1974,"offset":1975},{"line":1917,"column":1991,"offset":1992},118,4575,{"type":21,"value":228,"position":1994},{"start":1995,"end":1996},{"line":1917,"column":1991,"offset":1992},{"line":1917,"column":1811,"offset":1997},4576,{"start":1999,"end":2000},{"line":1917,"column":25,"offset":1918},{"line":1917,"column":1811,"offset":1997},{"type":21,"value":2002},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":16,"tagName":98,"properties":2004,"children":2005,"position":2400},{},[2006,2046],{"type":16,"tagName":102,"properties":2007,"children":2008,"position":2043},{},[2009],{"type":16,"tagName":106,"properties":2010,"children":2011,"position":2040},{},[2012,2027],{"type":16,"tagName":110,"properties":2013,"children":2014,"position":2022},{},[2015],{"type":21,"value":114,"position":2016},{"start":2017,"end":2020},{"line":2018,"column":85,"offset":2019},49,4580,{"line":2018,"column":120,"offset":2021},4584,{"start":2023,"end":2025},{"line":2018,"column":25,"offset":2024},4578,{"line":2018,"column":126,"offset":2026},4585,{"type":16,"tagName":110,"properties":2028,"children":2029,"position":2036},{},[2030],{"type":21,"value":132,"position":2031},{"start":2032,"end":2034},{"line":2018,"column":135,"offset":2033},4587,{"line":2018,"column":138,"offset":2035},4597,{"start":2037,"end":2038},{"line":2018,"column":126,"offset":2026},{"line":2018,"column":143,"offset":2039},4599,{"start":2041,"end":2042},{"line":2018,"column":25,"offset":2024},{"line":2018,"column":143,"offset":2039},{"start":2044,"end":2045},{"line":2018,"column":25,"offset":2024},{"line":2018,"column":143,"offset":2039},{"type":16,"tagName":152,"properties":2047,"children":2048,"position":2397},{},[2049,2152,2298],{"type":16,"tagName":106,"properties":2050,"children":2051,"position":2149},{},[2052,2074],{"type":16,"tagName":159,"properties":2053,"children":2054,"position":2069},{},[2055],{"type":16,"tagName":31,"properties":2056,"children":2057,"position":2066},{},[2058],{"type":21,"value":2059,"position":2060},"liquidationCount",{"start":2061,"end":2064},{"line":2062,"column":85,"offset":2063},51,4616,{"line":2062,"column":401,"offset":2065},4634,{"start":2067,"end":2068},{"line":2062,"column":85,"offset":2063},{"line":2062,"column":401,"offset":2065},{"start":2070,"end":2072},{"line":2062,"column":25,"offset":2071},4614,{"line":2062,"column":143,"offset":2073},4635,{"type":16,"tagName":159,"properties":2075,"children":2076,"position":2144},{},[2077,2085,2097,2104,2117,2124,2137],{"type":21,"value":2078,"position":2079},"Trades force-closed by the broker's implicit liquidation stop. Those trades carry ",{"start":2080,"end":2082},{"line":2062,"column":421,"offset":2081},4637,{"line":2062,"column":2083,"offset":2084},106,4719,{"type":16,"tagName":31,"properties":2086,"children":2087,"position":2094},{},[2088],{"type":21,"value":2089,"position":2090},"exitReason: \"liquidation\"",{"start":2091,"end":2092},{"line":2062,"column":2083,"offset":2084},{"line":2062,"column":625,"offset":2093},4746,{"start":2095,"end":2096},{"line":2062,"column":2083,"offset":2084},{"line":2062,"column":625,"offset":2093},{"type":21,"value":2098,"position":2099}," in the trades list (observed: 7 of 7 trades at ",{"start":2100,"end":2101},{"line":2062,"column":625,"offset":2093},{"line":2062,"column":2102,"offset":2103},181,4794,{"type":16,"tagName":31,"properties":2105,"children":2106,"position":2114},{},[2107],{"type":21,"value":2108,"position":2109},"leverage=25",{"start":2110,"end":2111},{"line":2062,"column":2102,"offset":2103},{"line":2062,"column":2112,"offset":2113},194,4807,{"start":2115,"end":2116},{"line":2062,"column":2102,"offset":2103},{"line":2062,"column":2112,"offset":2113},{"type":21,"value":2118,"position":2119}," under ",{"start":2120,"end":2121},{"line":2062,"column":2112,"offset":2113},{"line":2062,"column":2122,"offset":2123},201,4814,{"type":16,"tagName":31,"properties":2125,"children":2126,"position":2134},{},[2127],{"type":21,"value":2128,"position":2129},"onLiquidation=\"continue\"",{"start":2130,"end":2131},{"line":2062,"column":2122,"offset":2123},{"line":2062,"column":2132,"offset":2133},227,4840,{"start":2135,"end":2136},{"line":2062,"column":2122,"offset":2123},{"line":2062,"column":2132,"offset":2133},{"type":21,"value":2138,"position":2139},"). One liquidation event can close multiple open trade records in the same net position.",{"start":2140,"end":2141},{"line":2062,"column":2132,"offset":2133},{"line":2062,"column":2142,"offset":2143},315,4928,{"start":2145,"end":2146},{"line":2062,"column":143,"offset":2073},{"line":2062,"column":2147,"offset":2148},317,4930,{"start":2150,"end":2151},{"line":2062,"column":25,"offset":2071},{"line":2062,"column":2147,"offset":2148},{"type":16,"tagName":106,"properties":2153,"children":2154,"position":2295},{},[2155,2177],{"type":16,"tagName":159,"properties":2156,"children":2157,"position":2172},{},[2158],{"type":16,"tagName":31,"properties":2159,"children":2160,"position":2169},{},[2161],{"type":21,"value":2162,"position":2163},"liquidationHalted",{"start":2164,"end":2167},{"line":2165,"column":85,"offset":2166},52,4933,{"line":2165,"column":143,"offset":2168},4952,{"start":2170,"end":2171},{"line":2165,"column":85,"offset":2166},{"line":2165,"column":143,"offset":2168},{"start":2173,"end":2175},{"line":2165,"column":25,"offset":2174},4931,{"line":2165,"column":668,"offset":2176},4953,{"type":16,"tagName":159,"properties":2178,"children":2179,"position":2290},{},[2180,2193,2198,2210,2217,2230,2235,2247,2253,2265,2270,2283],{"type":16,"tagName":31,"properties":2181,"children":2182,"position":2190},{},[2183],{"type":21,"value":2184,"position":2185},"true",{"start":2186,"end":2188},{"line":2165,"column":677,"offset":2187},4955,{"line":2165,"column":286,"offset":2189},4961,{"start":2191,"end":2192},{"line":2165,"column":677,"offset":2187},{"line":2165,"column":286,"offset":2189},{"type":21,"value":1688,"position":2194},{"start":2195,"end":2196},{"line":2165,"column":286,"offset":2189},{"line":2165,"column":705,"offset":2197},4967,{"type":16,"tagName":31,"properties":2199,"children":2200,"position":2207},{},[2201],{"type":21,"value":2202,"position":2203},"onLiquidation=\"halt\"",{"start":2204,"end":2205},{"line":2165,"column":705,"offset":2197},{"line":2165,"column":356,"offset":2206},4989,{"start":2208,"end":2209},{"line":2165,"column":705,"offset":2197},{"line":2165,"column":356,"offset":2206},{"type":21,"value":2211,"position":2212}," stopped the run at the first liquidation; every subsequent entry is then rejected and counted (observed: ",{"start":2213,"end":2214},{"line":2165,"column":356,"offset":2206},{"line":2165,"column":2215,"offset":2216},165,5095,{"type":16,"tagName":31,"properties":2218,"children":2219,"position":2227},{},[2220],{"type":21,"value":2221,"position":2222},"liquidationCount: 1",{"start":2223,"end":2224},{"line":2165,"column":2215,"offset":2216},{"line":2165,"column":2225,"offset":2226},186,5116,{"start":2228,"end":2229},{"line":2165,"column":2215,"offset":2216},{"line":2165,"column":2225,"offset":2226},{"type":21,"value":534,"position":2231},{"start":2232,"end":2233},{"line":2165,"column":2225,"offset":2226},{"line":2165,"column":1757,"offset":2234},5118,{"type":16,"tagName":31,"properties":2236,"children":2237,"position":2244},{},[2238],{"type":21,"value":2239,"position":2240},"rejectedOrders: 6",{"start":2241,"end":2242},{"line":2165,"column":1757,"offset":2234},{"line":2165,"column":50,"offset":2243},5137,{"start":2245,"end":2246},{"line":2165,"column":1757,"offset":2234},{"line":2165,"column":50,"offset":2243},{"type":21,"value":2248,"position":2249},"). Always ",{"start":2250,"end":2251},{"line":2165,"column":50,"offset":2243},{"line":2165,"column":962,"offset":2252},5147,{"type":16,"tagName":31,"properties":2254,"children":2255,"position":2262},{},[2256],{"type":21,"value":1961,"position":2257},{"start":2258,"end":2259},{"line":2165,"column":962,"offset":2252},{"line":2165,"column":2260,"offset":2261},224,5154,{"start":2263,"end":2264},{"line":2165,"column":962,"offset":2252},{"line":2165,"column":2260,"offset":2261},{"type":21,"value":2118,"position":2266},{"start":2267,"end":2268},{"line":2165,"column":2260,"offset":2261},{"line":2165,"column":1322,"offset":2269},5161,{"type":16,"tagName":31,"properties":2271,"children":2272,"position":2280},{},[2273],{"type":21,"value":2274,"position":2275},"\"continue\"",{"start":2276,"end":2277},{"line":2165,"column":1322,"offset":2269},{"line":2165,"column":2278,"offset":2279},243,5173,{"start":2281,"end":2282},{"line":2165,"column":1322,"offset":2269},{"line":2165,"column":2278,"offset":2279},{"type":21,"value":2284,"position":2285}," and on spot.",{"start":2286,"end":2287},{"line":2165,"column":2278,"offset":2279},{"line":2165,"column":2288,"offset":2289},256,5186,{"start":2291,"end":2292},{"line":2165,"column":668,"offset":2176},{"line":2165,"column":2293,"offset":2294},258,5188,{"start":2296,"end":2297},{"line":2165,"column":25,"offset":2174},{"line":2165,"column":2293,"offset":2294},{"type":16,"tagName":106,"properties":2299,"children":2300,"position":2394},{},[2301,2323],{"type":16,"tagName":159,"properties":2302,"children":2303,"position":2318},{},[2304],{"type":16,"tagName":31,"properties":2305,"children":2306,"position":2315},{},[2307],{"type":21,"value":2308,"position":2309},"bankruptcyDeficit",{"start":2310,"end":2313},{"line":2311,"column":85,"offset":2312},53,5191,{"line":2311,"column":143,"offset":2314},5210,{"start":2316,"end":2317},{"line":2311,"column":85,"offset":2312},{"line":2311,"column":143,"offset":2314},{"start":2319,"end":2321},{"line":2311,"column":25,"offset":2320},5189,{"line":2311,"column":668,"offset":2322},5211,{"type":16,"tagName":159,"properties":2324,"children":2325,"position":2389},{},[2326,2333,2345,2351,2364,2370,2383],{"type":21,"value":2327,"position":2328},"Shortfall beyond the position's committed margin left by liquidation fills (the amount by which equity would have gone below zero before the engine floored it). ",{"start":2329,"end":2331},{"line":2311,"column":677,"offset":2330},5213,{"line":2311,"column":2225,"offset":2332},5374,{"type":16,"tagName":31,"properties":2334,"children":2335,"position":2342},{},[2336],{"type":21,"value":1574,"position":2337},{"start":2338,"end":2339},{"line":2311,"column":2225,"offset":2332},{"line":2311,"column":2340,"offset":2341},189,5377,{"start":2343,"end":2344},{"line":2311,"column":2225,"offset":2332},{"line":2311,"column":2340,"offset":2341},{"type":21,"value":2346,"position":2347}," in every probed run: each observed liquidation loss (",{"start":2348,"end":2349},{"line":2311,"column":2340,"offset":2341},{"line":2311,"column":2278,"offset":2350},5431,{"type":16,"tagName":31,"properties":2352,"children":2353,"position":2361},{},[2354],{"type":21,"value":2355,"position":2356},"3.853208734751064",{"start":2357,"end":2358},{"line":2311,"column":2278,"offset":2350},{"line":2311,"column":2359,"offset":2360},262,5450,{"start":2362,"end":2363},{"line":2311,"column":2278,"offset":2350},{"line":2311,"column":2359,"offset":2360},{"type":21,"value":2365,"position":2366},") settled inside its committed margin (",{"start":2367,"end":2368},{"line":2311,"column":2359,"offset":2360},{"line":2311,"column":1236,"offset":2369},5489,{"type":16,"tagName":31,"properties":2371,"children":2372,"position":2380},{},[2373],{"type":21,"value":2374,"position":2375},"4.381648789802639",{"start":2376,"end":2377},{"line":2311,"column":1236,"offset":2369},{"line":2311,"column":2378,"offset":2379},320,5508,{"start":2381,"end":2382},{"line":2311,"column":1236,"offset":2369},{"line":2311,"column":2378,"offset":2379},{"type":21,"value":1502,"position":2384},{"start":2385,"end":2386},{"line":2311,"column":2378,"offset":2379},{"line":2311,"column":2387,"offset":2388},322,5510,{"start":2390,"end":2391},{"line":2311,"column":668,"offset":2322},{"line":2311,"column":2392,"offset":2393},324,5512,{"start":2395,"end":2396},{"line":2311,"column":25,"offset":2320},{"line":2311,"column":2392,"offset":2393},{"start":2398,"end":2399},{"line":2062,"column":25,"offset":2071},{"line":2311,"column":2392,"offset":2393},{"start":2401,"end":2402},{"line":2018,"column":25,"offset":2024},{"line":2311,"column":2392,"offset":2393},{"type":21,"value":75},{"type":16,"tagName":17,"properties":2405,"children":2406,"position":2495},{},[2407,2415,2428,2435,2447,2453,2466,2473,2490],{"type":21,"value":2408,"position":2409},"Perps runs also add two bar-aligned output series next to the stats, ",{"start":2410,"end":2413},{"line":2411,"column":25,"offset":2412},55,5514,{"line":2411,"column":1955,"offset":2414},5583,{"type":16,"tagName":31,"properties":2416,"children":2417,"position":2425},{},[2418],{"type":21,"value":2419,"position":2420},"committedMarginSeries",{"start":2421,"end":2422},{"line":2411,"column":1955,"offset":2414},{"line":2411,"column":2423,"offset":2424},93,5606,{"start":2426,"end":2427},{"line":2411,"column":1955,"offset":2414},{"line":2411,"column":2423,"offset":2424},{"type":21,"value":2429,"position":2430}," and ",{"start":2431,"end":2432},{"line":2411,"column":2423,"offset":2424},{"line":2411,"column":2433,"offset":2434},98,5611,{"type":16,"tagName":31,"properties":2436,"children":2437,"position":2444},{},[2438],{"type":21,"value":2439,"position":2440},"fundingPaidSeries",{"start":2441,"end":2442},{"line":2411,"column":2433,"offset":2434},{"line":2411,"column":303,"offset":2443},5630,{"start":2445,"end":2446},{"line":2411,"column":2433,"offset":2434},{"line":2411,"column":303,"offset":2443},{"type":21,"value":2448,"position":2449}," (cumulative, ending at ",{"start":2450,"end":2451},{"line":2411,"column":303,"offset":2443},{"line":2411,"column":376,"offset":2452},5654,{"type":16,"tagName":31,"properties":2454,"children":2455,"position":2463},{},[2456],{"type":21,"value":2457,"position":2458},"stats.fundingPaid",{"start":2459,"end":2460},{"line":2411,"column":376,"offset":2452},{"line":2411,"column":2461,"offset":2462},160,5673,{"start":2464,"end":2465},{"line":2411,"column":376,"offset":2452},{"line":2411,"column":2461,"offset":2462},{"type":21,"value":2467,"position":2468},"); both are omitted on spot runs. See ",{"start":2469,"end":2470},{"line":2411,"column":2461,"offset":2462},{"line":2411,"column":2471,"offset":2472},198,5711,{"type":16,"tagName":1590,"properties":2474,"children":2476,"position":2486},{"href":2475},"perps.md#perps-output-series",[2477],{"type":21,"value":2478,"position":2479},"Perps output series",{"start":2480,"end":2483},{"line":2411,"column":2481,"offset":2482},199,5712,{"line":2411,"column":2484,"offset":2485},218,5731,{"start":2487,"end":2488},{"line":2411,"column":2471,"offset":2472},{"line":2411,"column":93,"offset":2489},5762,{"type":21,"value":228,"position":2491},{"start":2492,"end":2493},{"line":2411,"column":93,"offset":2489},{"line":2411,"column":1692,"offset":2494},5763,{"start":2496,"end":2497},{"line":2411,"column":25,"offset":2412},{"line":2411,"column":1692,"offset":2494},{"type":21,"value":75},{"type":16,"tagName":77,"properties":2500,"children":2502,"position":2510},{"id":2501},"long-short-splits",[2503],{"type":21,"value":2504,"position":2505},"Long / short splits",{"start":2506,"end":2508},{"line":1183,"column":86,"offset":2507},5769,{"line":1183,"column":668,"offset":2509},5788,{"start":2511,"end":2513},{"line":1183,"column":25,"offset":2512},5766,{"line":1183,"column":668,"offset":2509},{"type":21,"value":75},{"type":16,"tagName":17,"properties":2516,"children":2517,"position":2625},{},[2518,2532,2537,2549,2555,2566,2571,2582,2588,2600,2607,2618],{"type":16,"tagName":31,"properties":2519,"children":2520,"position":2529},{},[2521],{"type":21,"value":2522,"position":2523},"stats.long",{"start":2524,"end":2527},{"line":2525,"column":25,"offset":2526},60,5790,{"line":2525,"column":650,"offset":2528},5802,{"start":2530,"end":2531},{"line":2525,"column":25,"offset":2526},{"line":2525,"column":650,"offset":2528},{"type":21,"value":2429,"position":2533},{"start":2534,"end":2535},{"line":2525,"column":650,"offset":2528},{"line":2525,"column":332,"offset":2536},5807,{"type":16,"tagName":31,"properties":2538,"children":2539,"position":2546},{},[2540],{"type":21,"value":2541,"position":2542},"stats.short",{"start":2543,"end":2544},{"line":2525,"column":332,"offset":2536},{"line":2525,"column":286,"offset":2545},5820,{"start":2547,"end":2548},{"line":2525,"column":332,"offset":2536},{"line":2525,"column":286,"offset":2545},{"type":21,"value":2550,"position":2551}," carry ",{"start":2552,"end":2553},{"line":2525,"column":286,"offset":2545},{"line":2525,"column":1528,"offset":2554},5827,{"type":16,"tagName":31,"properties":2556,"children":2557,"position":2563},{},[2558],{"type":21,"value":166,"position":2559},{"start":2560,"end":2561},{"line":2525,"column":1528,"offset":2554},{"line":2525,"column":2018,"offset":2562},5838,{"start":2564,"end":2565},{"line":2525,"column":1528,"offset":2554},{"line":2525,"column":2018,"offset":2562},{"type":21,"value":534,"position":2567},{"start":2568,"end":2569},{"line":2525,"column":2018,"offset":2562},{"line":2525,"column":2062,"offset":2570},5840,{"type":16,"tagName":31,"properties":2572,"children":2573,"position":2579},{},[2574],{"type":21,"value":524,"position":2575},{"start":2576,"end":2577},{"line":2525,"column":2062,"offset":2570},{"line":2525,"column":192,"offset":2578},5853,{"start":2580,"end":2581},{"line":2525,"column":2062,"offset":2570},{"line":2525,"column":192,"offset":2578},{"type":21,"value":2583,"position":2584},", and ",{"start":2585,"end":2586},{"line":2525,"column":192,"offset":2578},{"line":2525,"column":1955,"offset":2587},5859,{"type":16,"tagName":31,"properties":2589,"children":2590,"position":2597},{},[2591],{"type":21,"value":592,"position":2592},{"start":2593,"end":2594},{"line":2525,"column":1955,"offset":2587},{"line":2525,"column":2595,"offset":2596},82,5871,{"start":2598,"end":2599},{"line":2525,"column":1955,"offset":2587},{"line":2525,"column":2595,"offset":2596},{"type":21,"value":2601,"position":2602}," per direction. A \"market-neutral\" idea whose entire profit sits in ",{"start":2603,"end":2604},{"line":2525,"column":2595,"offset":2596},{"line":2525,"column":2605,"offset":2606},150,5939,{"type":16,"tagName":31,"properties":2608,"children":2609,"position":2615},{},[2610],{"type":21,"value":2522,"position":2611},{"start":2612,"end":2613},{"line":2525,"column":2605,"offset":2606},{"line":2525,"column":1456,"offset":2614},5951,{"start":2616,"end":2617},{"line":2525,"column":2605,"offset":2606},{"line":2525,"column":1456,"offset":2614},{"type":21,"value":2619,"position":2620}," during a bull-market window is a long-only idea with extra steps.",{"start":2621,"end":2622},{"line":2525,"column":1456,"offset":2614},{"line":2525,"column":2623,"offset":2624},228,6017,{"start":2626,"end":2627},{"line":2525,"column":25,"offset":2526},{"line":2525,"column":2623,"offset":2624},{"type":21,"value":75},{"type":16,"tagName":77,"properties":2630,"children":2632,"position":2641},{"id":2631},"simulation-quality-stats",[2633],{"type":21,"value":2634,"position":2635},"Simulation-quality stats",{"start":2636,"end":2639},{"line":2637,"column":86,"offset":2638},62,6022,{"line":2637,"column":1116,"offset":2640},6046,{"start":2642,"end":2644},{"line":2637,"column":25,"offset":2643},6019,{"line":2637,"column":1116,"offset":2640},{"type":21,"value":75},{"type":16,"tagName":17,"properties":2647,"children":2648,"position":2657},{},[2649],{"type":21,"value":2650,"position":2651},"These describe how the result was produced, not how the strategy performed. They power the disclosures in the run-details popover:",{"start":2652,"end":2654},{"line":192,"column":25,"offset":2653},6048,{"line":192,"column":2655,"offset":2656},131,6178,{"start":2658,"end":2659},{"line":192,"column":25,"offset":2653},{"line":192,"column":2655,"offset":2656},{"type":21,"value":2661},"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n",{"type":16,"tagName":98,"properties":2663,"children":2664,"position":3116},{},[2665,2704],{"type":16,"tagName":102,"properties":2666,"children":2667,"position":2701},{},[2668],{"type":16,"tagName":106,"properties":2669,"children":2670,"position":2698},{},[2671,2685],{"type":16,"tagName":110,"properties":2672,"children":2673,"position":2680},{},[2674],{"type":21,"value":114,"position":2675},{"start":2676,"end":2678},{"line":1193,"column":85,"offset":2677},6182,{"line":1193,"column":120,"offset":2679},6186,{"start":2681,"end":2683},{"line":1193,"column":25,"offset":2682},6180,{"line":1193,"column":126,"offset":2684},6187,{"type":16,"tagName":110,"properties":2686,"children":2687,"position":2694},{},[2688],{"type":21,"value":132,"position":2689},{"start":2690,"end":2692},{"line":1193,"column":135,"offset":2691},6189,{"line":1193,"column":138,"offset":2693},6199,{"start":2695,"end":2696},{"line":1193,"column":126,"offset":2684},{"line":1193,"column":143,"offset":2697},6201,{"start":2699,"end":2700},{"line":1193,"column":25,"offset":2682},{"line":1193,"column":143,"offset":2697},{"start":2702,"end":2703},{"line":1193,"column":25,"offset":2682},{"line":1193,"column":143,"offset":2697},{"type":16,"tagName":152,"properties":2705,"children":2706,"position":3113},{},[2707,2789,2831,2891,2950,3012,3055],{"type":16,"tagName":106,"properties":2708,"children":2709,"position":2786},{},[2710,2731],{"type":16,"tagName":159,"properties":2711,"children":2712,"position":2726},{},[2713],{"type":16,"tagName":31,"properties":2714,"children":2715,"position":2723},{},[2716],{"type":21,"value":2717,"position":2718},"ambiguousFillCount",{"start":2719,"end":2721},{"line":424,"column":85,"offset":2720},6218,{"line":424,"column":668,"offset":2722},6238,{"start":2724,"end":2725},{"line":424,"column":85,"offset":2720},{"line":424,"column":668,"offset":2722},{"start":2727,"end":2729},{"line":424,"column":25,"offset":2728},6216,{"line":424,"column":421,"offset":2730},6239,{"type":16,"tagName":159,"properties":2732,"children":2733,"position":2782},{},[2734,2741,2753,2760,2776],{"type":21,"value":2735,"position":2736},"Intrabar ordering decisions settled by the declared ",{"start":2737,"end":2739},{"line":424,"column":1746,"offset":2738},6241,{"line":424,"column":202,"offset":2740},6293,{"type":16,"tagName":31,"properties":2742,"children":2743,"position":2750},{},[2744],{"type":21,"value":2745,"position":2746},"fillModel",{"start":2747,"end":2748},{"line":424,"column":202,"offset":2740},{"line":424,"column":851,"offset":2749},6304,{"start":2751,"end":2752},{"line":424,"column":202,"offset":2740},{"line":424,"column":851,"offset":2749},{"type":21,"value":2754,"position":2755}," assumption rather than data. Details in ",{"start":2756,"end":2757},{"line":424,"column":851,"offset":2749},{"line":424,"column":2758,"offset":2759},130,6345,{"type":16,"tagName":1590,"properties":2761,"children":2763,"position":2772},{"href":2762},"fill-simulation.md",[2764],{"type":21,"value":2765,"position":2766},"fill simulation",{"start":2767,"end":2769},{"line":424,"column":2655,"offset":2768},6346,{"line":424,"column":2770,"offset":2771},146,6361,{"start":2773,"end":2774},{"line":424,"column":2758,"offset":2759},{"line":424,"column":1568,"offset":2775},6382,{"type":21,"value":228,"position":2777},{"start":2778,"end":2779},{"line":424,"column":1568,"offset":2775},{"line":424,"column":2780,"offset":2781},168,6383,{"start":2783,"end":2784},{"line":424,"column":421,"offset":2730},{"line":424,"column":1578,"offset":2785},6385,{"start":2787,"end":2788},{"line":424,"column":25,"offset":2728},{"line":424,"column":1578,"offset":2785},{"type":16,"tagName":106,"properties":2790,"children":2791,"position":2828},{},[2792,2813],{"type":16,"tagName":159,"properties":2793,"children":2794,"position":2808},{},[2795],{"type":16,"tagName":31,"properties":2796,"children":2797,"position":2805},{},[2798],{"type":21,"value":2799,"position":2800},"fineResolvedCount",{"start":2801,"end":2803},{"line":1137,"column":85,"offset":2802},6388,{"line":1137,"column":143,"offset":2804},6407,{"start":2806,"end":2807},{"line":1137,"column":85,"offset":2802},{"line":1137,"column":143,"offset":2804},{"start":2809,"end":2811},{"line":1137,"column":25,"offset":2810},6386,{"line":1137,"column":668,"offset":2812},6408,{"type":16,"tagName":159,"properties":2814,"children":2815,"position":2824},{},[2816],{"type":21,"value":2817,"position":2818},"Ordering questions settled by walking finer-interval bars (no assumption involved).",{"start":2819,"end":2821},{"line":1137,"column":677,"offset":2820},6410,{"line":1137,"column":2822,"offset":2823},108,6493,{"start":2825,"end":2826},{"line":1137,"column":668,"offset":2812},{"line":1137,"column":222,"offset":2827},6495,{"start":2829,"end":2830},{"line":1137,"column":25,"offset":2810},{"line":1137,"column":222,"offset":2827},{"type":16,"tagName":106,"properties":2832,"children":2833,"position":2888},{},[2834,2855],{"type":16,"tagName":159,"properties":2835,"children":2836,"position":2850},{},[2837],{"type":16,"tagName":31,"properties":2838,"children":2839,"position":2847},{},[2840],{"type":21,"value":2841,"position":2842},"fineFillCoveragePct",{"start":2843,"end":2845},{"line":1955,"column":85,"offset":2844},6498,{"line":1955,"column":421,"offset":2846},6519,{"start":2848,"end":2849},{"line":1955,"column":85,"offset":2844},{"line":1955,"column":421,"offset":2846},{"start":2851,"end":2853},{"line":1955,"column":25,"offset":2852},6496,{"line":1955,"column":677,"offset":2854},6520,{"type":16,"tagName":159,"properties":2856,"children":2857,"position":2884},{},[2858,2865,2877],{"type":21,"value":2859,"position":2860},"Walked ordering questions over all ordering questions, times 100. ",{"start":2861,"end":2863},{"line":1955,"column":1053,"offset":2862},6522,{"line":1955,"column":2423,"offset":2864},6588,{"type":16,"tagName":31,"properties":2866,"children":2867,"position":2874},{},[2868],{"type":21,"value":362,"position":2869},{"start":2870,"end":2871},{"line":1955,"column":2423,"offset":2864},{"line":1955,"column":2872,"offset":2873},99,6594,{"start":2875,"end":2876},{"line":1955,"column":2423,"offset":2864},{"line":1955,"column":2872,"offset":2873},{"type":21,"value":2878,"position":2879}," when the run posed none (zero of zero is not zero percent).",{"start":2880,"end":2881},{"line":1955,"column":2872,"offset":2873},{"line":1955,"column":2882,"offset":2883},159,6654,{"start":2885,"end":2886},{"line":1955,"column":677,"offset":2854},{"line":1955,"column":1882,"offset":2887},6656,{"start":2889,"end":2890},{"line":1955,"column":25,"offset":2852},{"line":1955,"column":1882,"offset":2887},{"type":16,"tagName":106,"properties":2892,"children":2893,"position":2947},{},[2894,2915],{"type":16,"tagName":159,"properties":2895,"children":2896,"position":2910},{},[2897],{"type":16,"tagName":31,"properties":2898,"children":2899,"position":2907},{},[2900],{"type":21,"value":2901,"position":2902},"fillResolutionByLane",{"start":2903,"end":2905},{"line":1142,"column":85,"offset":2904},6659,{"line":1142,"column":677,"offset":2906},6681,{"start":2908,"end":2909},{"line":1142,"column":85,"offset":2904},{"line":1142,"column":677,"offset":2906},{"start":2911,"end":2913},{"line":1142,"column":25,"offset":2912},6657,{"line":1142,"column":1746,"offset":2914},6682,{"type":16,"tagName":159,"properties":2916,"children":2917,"position":2943},{},[2918,2925,2937],{"type":21,"value":2919,"position":2920},"Walked questions per finer-data lane, e.g. ",{"start":2921,"end":2923},{"line":1142,"column":1116,"offset":2922},6684,{"line":1142,"column":1142,"offset":2924},6727,{"type":16,"tagName":31,"properties":2926,"children":2927,"position":2934},{},[2928],{"type":21,"value":2929,"position":2930},"{ \"1m\": 12, \"5m\": 3 }",{"start":2931,"end":2932},{"line":1142,"column":1142,"offset":2924},{"line":1142,"column":212,"offset":2933},6750,{"start":2935,"end":2936},{"line":1142,"column":1142,"offset":2924},{"line":1142,"column":212,"offset":2933},{"type":21,"value":228,"position":2938},{"start":2939,"end":2940},{"line":1142,"column":212,"offset":2933},{"line":1142,"column":2941,"offset":2942},95,6751,{"start":2944,"end":2945},{"line":1142,"column":1746,"offset":2914},{"line":1142,"column":596,"offset":2946},6753,{"start":2948,"end":2949},{"line":1142,"column":25,"offset":2912},{"line":1142,"column":596,"offset":2946},{"type":16,"tagName":106,"properties":2951,"children":2952,"position":3009},{},[2953,2975],{"type":16,"tagName":159,"properties":2954,"children":2955,"position":2970},{},[2956],{"type":16,"tagName":31,"properties":2957,"children":2958,"position":2967},{},[2959],{"type":21,"value":2960,"position":2961},"bookSlippageFillCount",{"start":2962,"end":2965},{"line":2963,"column":85,"offset":2964},72,6756,{"line":2963,"column":1746,"offset":2966},6779,{"start":2968,"end":2969},{"line":2963,"column":85,"offset":2964},{"line":2963,"column":1746,"offset":2966},{"start":2971,"end":2973},{"line":2963,"column":25,"offset":2972},6754,{"line":2963,"column":1053,"offset":2974},6780,{"type":16,"tagName":159,"properties":2976,"children":2977,"position":3005},{},[2978,2986,2999],{"type":21,"value":2979,"position":2980},"Fills priced from recorded order-book depth (",{"start":2981,"end":2983},{"line":2963,"column":547,"offset":2982},6782,{"line":2963,"column":2984,"offset":2985},74,6827,{"type":16,"tagName":31,"properties":2987,"children":2988,"position":2996},{},[2989],{"type":21,"value":2990,"position":2991},"slippageModel=\"bookEstimate\"",{"start":2992,"end":2993},{"line":2963,"column":2984,"offset":2985},{"line":2963,"column":2994,"offset":2995},104,6857,{"start":2997,"end":2998},{"line":2963,"column":2984,"offset":2985},{"line":2963,"column":2994,"offset":2995},{"type":21,"value":3000,"position":3001}," only).",{"start":3002,"end":3003},{"line":2963,"column":2994,"offset":2995},{"line":2963,"column":232,"offset":3004},6864,{"start":3006,"end":3007},{"line":2963,"column":1053,"offset":2974},{"line":2963,"column":237,"offset":3008},6866,{"start":3010,"end":3011},{"line":2963,"column":25,"offset":2972},{"line":2963,"column":237,"offset":3008},{"type":16,"tagName":106,"properties":3013,"children":3014,"position":3052},{},[3015,3037],{"type":16,"tagName":159,"properties":3016,"children":3017,"position":3032},{},[3018],{"type":16,"tagName":31,"properties":3019,"children":3020,"position":3029},{},[3021],{"type":21,"value":3022,"position":3023},"bookSlippageUnavailableCount",{"start":3024,"end":3027},{"line":3025,"column":85,"offset":3026},73,6869,{"line":3025,"column":295,"offset":3028},6899,{"start":3030,"end":3031},{"line":3025,"column":85,"offset":3026},{"line":3025,"column":295,"offset":3028},{"start":3033,"end":3035},{"line":3025,"column":25,"offset":3034},6867,{"line":3025,"column":687,"offset":3036},6900,{"type":16,"tagName":159,"properties":3038,"children":3039,"position":3048},{},[3040],{"type":21,"value":3041,"position":3042},"bookEstimate fills that fell back to the declared rate (no usable book for that bar or size).",{"start":3043,"end":3045},{"line":3025,"column":1548,"offset":3044},6902,{"line":3025,"column":3046,"offset":3047},129,6995,{"start":3049,"end":3050},{"line":3025,"column":687,"offset":3036},{"line":3025,"column":2655,"offset":3051},6997,{"start":3053,"end":3054},{"line":3025,"column":25,"offset":3034},{"line":3025,"column":2655,"offset":3051},{"type":16,"tagName":106,"properties":3056,"children":3057,"position":3110},{},[3058,3079],{"type":16,"tagName":159,"properties":3059,"children":3060,"position":3074},{},[3061],{"type":16,"tagName":31,"properties":3062,"children":3063,"position":3071},{},[3064],{"type":21,"value":3065,"position":3066},"bookSlippageAvgBps",{"start":3067,"end":3069},{"line":2984,"column":85,"offset":3068},7000,{"line":2984,"column":668,"offset":3070},7020,{"start":3072,"end":3073},{"line":2984,"column":85,"offset":3068},{"line":2984,"column":668,"offset":3070},{"start":3075,"end":3077},{"line":2984,"column":25,"offset":3076},6998,{"line":2984,"column":421,"offset":3078},7021,{"type":16,"tagName":159,"properties":3080,"children":3081,"position":3106},{},[3082,3089,3100],{"type":21,"value":3083,"position":3084},"Mean applied book impact in basis points; ",{"start":3085,"end":3087},{"line":2984,"column":1746,"offset":3086},7023,{"line":2984,"column":424,"offset":3088},7065,{"type":16,"tagName":31,"properties":3090,"children":3091,"position":3097},{},[3092],{"type":21,"value":362,"position":3093},{"start":3094,"end":3095},{"line":2984,"column":424,"offset":3088},{"line":2984,"column":2984,"offset":3096},7071,{"start":3098,"end":3099},{"line":2984,"column":424,"offset":3088},{"line":2984,"column":2984,"offset":3096},{"type":21,"value":3101,"position":3102}," when nothing was book-priced.",{"start":3103,"end":3104},{"line":2984,"column":2984,"offset":3096},{"line":2984,"column":2994,"offset":3105},7101,{"start":3107,"end":3108},{"line":2984,"column":421,"offset":3078},{"line":2984,"column":2083,"offset":3109},7103,{"start":3111,"end":3112},{"line":2984,"column":25,"offset":3076},{"line":2984,"column":2083,"offset":3109},{"start":3114,"end":3115},{"line":424,"column":25,"offset":2728},{"line":2984,"column":2083,"offset":3109},{"start":3117,"end":3118},{"line":1193,"column":25,"offset":2682},{"line":2984,"column":2083,"offset":3109},{"type":21,"value":75},{"type":16,"tagName":77,"properties":3121,"children":3123,"position":3133},{"id":3122},"equity-accounting-precisely",[3124],{"type":21,"value":3125,"position":3126},"Equity accounting, precisely",{"start":3127,"end":3130},{"line":3128,"column":86,"offset":3129},76,7108,{"line":3128,"column":3131,"offset":3132},32,7136,{"start":3134,"end":3136},{"line":3128,"column":25,"offset":3135},7105,{"line":3128,"column":3131,"offset":3132},{"type":21,"value":75},{"type":16,"tagName":17,"properties":3139,"children":3140,"position":3204},{},[3141,3148,3160,3166,3178,3184,3197],{"type":21,"value":3142,"position":3143},"Equity on every bar ",{"start":3144,"end":3146},{"line":202,"column":25,"offset":3145},7138,{"line":202,"column":401,"offset":3147},7158,{"type":16,"tagName":31,"properties":3149,"children":3150,"position":3157},{},[3151],{"type":21,"value":3152,"position":3153},"i",{"start":3154,"end":3155},{"line":202,"column":401,"offset":3147},{"line":202,"column":421,"offset":3156},7161,{"start":3158,"end":3159},{"line":202,"column":401,"offset":3147},{"line":202,"column":421,"offset":3156},{"type":21,"value":3161,"position":3162}," is cash plus the open position marked at ",{"start":3163,"end":3164},{"line":202,"column":421,"offset":3156},{"line":202,"column":1193,"offset":3165},7203,{"type":16,"tagName":31,"properties":3167,"children":3168,"position":3175},{},[3169],{"type":21,"value":3170,"position":3171},"close[i]",{"start":3172,"end":3173},{"line":202,"column":1193,"offset":3165},{"line":202,"column":3128,"offset":3174},7213,{"start":3176,"end":3177},{"line":202,"column":1193,"offset":3165},{"line":202,"column":3128,"offset":3174},{"type":21,"value":3179,"position":3180},", minus all fees paid so far, recorded on flat bars too. Per-bar returns for Sharpe and Sortino are ",{"start":3181,"end":3182},{"line":202,"column":3128,"offset":3174},{"line":202,"column":40,"offset":3183},7313,{"type":16,"tagName":31,"properties":3185,"children":3186,"position":3194},{},[3187],{"type":21,"value":3188,"position":3189},"r_i = equity_i / equity_{i-1} - 1",{"start":3190,"end":3191},{"line":202,"column":40,"offset":3183},{"line":202,"column":3192,"offset":3193},211,7348,{"start":3195,"end":3196},{"line":202,"column":40,"offset":3183},{"line":202,"column":3192,"offset":3193},{"type":21,"value":3198,"position":3199}," over confirmed bars with positive prior equity. On the live edge, strategy scripts fully recompute on every tick; the forming bar can shift pending-order and stat values once between the initial render and the first tick, and settles when the bar confirms.",{"start":3200,"end":3201},{"line":202,"column":3192,"offset":3193},{"line":202,"column":3202,"offset":3203},468,7605,{"start":3205,"end":3206},{"line":202,"column":25,"offset":3145},{"line":202,"column":3202,"offset":3203},{"quirksMode":3208},false,{"start":3210,"end":3211},{"line":25,"column":25,"offset":26},{"line":3212,"column":25,"offset":3213},79,7606,1784888033820]