Skip to content

Cost coverage20 categories

Every cost this engine does not charge makes it look better.

A cost model is usually described by what it includes, which is structurally misleading: a reader cannot tell a cost that was considered and judged immaterial from one nobody thought of. Both appear as silence. So this lists every category that can reach a return, including the ones that are not charged at all.

The uncomfortable property. Every cost this engine does not charge makes results look BETTER, with one exception whose sign is genuinely unknown. A cost model's gaps are therefore not noise around the truth. They are a bias with a known direction, and the honest reading of any figure on this site is that it is an upper bound on what the same strategy would have returned net of everything.

The ledger

7 charged, 1 charged but unverifiable, 1 charged as the wrong kind of quantity, 11 not charged at all. 11 of these push the result in the same direction.

At trade time

CostStatusWhat that meansBias
Venue commission charged Fee schedule by market type. Crypto taker 5 bps, equity 1 bps. Crypto commission MEASURED at exactly the modelled 5 bps across 24 fills. none
Half-spread charged Per-instrument override where observed, otherwise a deliberately conservative 2.5 bps default (equity 3 bps). Default chosen above the ~0.5 to 1 bp that liquid perps actually run. conservative
Market impact charged Square-root law, Y = 1.0. Hard-fails above 5% of ADV rather than extrapolating outside the regime it was fitted in. Never exercised at size: the book has not traded near the participation cap. none
Decision-to-fill latency wrong kind Charged as a flat 2 bps add-on. Measured median submit-to-fill on the equity sleeves is about 5.5 HOURS: orders are submitted after the close and fill at the next open. An overnight gap is not a spread. It is unhedged exposure whose cost is a distribution, not a constant, and the sign on any single trade is not predictable. unknown sign, fat tail
Equity slippage against the decision price charged unverified Modelled, but not checkable: the equity fills record a PADDED marketable limit price, so a fill that beats it is beating the padding, not the decision. Not measurable from what the broker records today. unknown
Partial fills and queue position not charged Every fill is modelled as complete at the next open. No queue model, no partial-fill schedule. Defensible at this frequency and size; it would not be for an intraday book. flatters
Tick and lot rounding not charged Positions are continuous. No minimum tick, lot size or share-rounding cost. Small at these notionals, unbounded at small ones. flatters
Minimum commission floors not charged Commission is purely proportional. No per-order minimum. Immaterial at current notional, material for a small account. flatters

While holding

CostStatusWhat that meansBias
Perpetual funding, the crypto swap cost charged Replayed from the STORED funding-events table, each event carrying its own timestamp, so 8h/4h/1h schedules are honoured rather than assumed. There is no funding clock in the engine. This is the cost that was silently NOT booked for 44 days in an earlier incident. It is now charged and pinned by a test on the path that actually runs. none
Short borrow charged Explicit availability, quantity, fee, locate expiry and recall deadlines. 50 bps annual default. Fills are not fabricated after a recall. General-collateral assumptions are explicitly rejected as insufficient. none
Cash and margin-debit financing charged Point-in-time cash, margin-debit and short-collateral accrual with an explicit day-count basis. none
Margin interest above the financing model not charged No separate broker margin-interest schedule, tiering or minimum balance. flatters
Custody, platform and market-data fees not charged No account-level fee of any kind is deducted. Fixed costs do not scale with notional, so they matter most at small size. flatters

Corporate and jurisdictional

CostStatusWhat that meansBias
Splits and cash dividends charged Replayed from the point-in-time corporate-actions table before ex-date fills. Splits transform held AND queued quantities; dividends accrue against the signed position entering the ex date. Filtered on when the action became knowable, never on ex-date. none
Dividend withholding tax not charged Dividends accrue gross. No withholding is applied at any rate. Material for a dividend-exposed book; the current sleeves are not dividend strategies. flatters
Regulatory fees (SEC Section 31, FINRA TAF) not charged No US regulatory sale fee is deducted. These apply to sales, not purchases. Small per trade and strictly one-directional. flatters
Transaction taxes and stamp duty not charged No UK stamp duty, French or Italian FTT, or equivalent. Currently immaterial: the universe is US-listed. It would become material on any European extension. flatters
Capital gains and income tax not charged Every figure published is pre-tax. Standard for a strategy record, and stated rather than assumed. flatters
Currency conversion not charged No FX conversion spread or fee. Crypto settles in USDT and equities in USD, both treated as the quote currency. Zero today because nothing is traded outside its quote currency. flatters
Delisting and halt losses not charged No forced-liquidation haircut on a delisting or a permanent halt. Venue state is tracked, but a delisting is not priced as a loss event. The book has already seen one delisting-adjacent collapse, written up in full, and its loss was realised through ordinary fills rather than a haircut. Read the post-mortem. flatters

The one that is not a number problem

Latency is charged as the wrong kind of thing

The model deducts a flat 2 basis points for the gap between deciding and filling. Measured median submit-to-fill across the equity sleeves is about 5.5 hours: orders are submitted after the close and fill at the next open. An overnight gap is not a spread. It is unhedged exposure to whatever happens overnight, and its cost is a distribution with a fat tail rather than a constant.

This matters more than a mis-set parameter, because a wrong number shrinks with care and a wrong kind does not. The Execution Reality Lab shows the general form of this independently: a cost scales with its parameter and is negative on every series, while a re-timing does neither. Latency here is the second kind being charged as the first.

No cost parameter moves on this evidence. The schema should.

How to read any return on this site

Sources: cost_coverage.json and cost_model_realism.json, the audit that measured the live fills. Related: Execution Reality Lab, methodology.