Margin and charges before anyone sizes
Pre-trade risk answers one question with real money attached: what will this proposed book actually cost to hold, and can we hold it? It runs before sizing, and it is the one check allowed to stop the path.
Built here.
- 01
A margin service that ingests the exchange's daily SPAN risk parameter files across every product family and computes span, exposure and premium components for a proposed position.
- 02
Basket margining that nets a multi-leg book properly, including the calendar-spread term across expiries — a hedged spread is not four times a single leg, and sizing off the naive sum wastes capital.
- 03
A what-if workbench: propose a book, see the margin and the charge profile before committing, under both proprietary and retail cost models.
- 04
Scheduled refreshes matching the exchange's intraday publication cycle, with an in-memory cache and a persisted fallback so a restart does not lose the day's risk arrays.
- 05
Commodity coverage alongside equity derivatives.
Failure modes.
- Risk files arriving late or in a changed shape, where the previous good set is retained rather than failing to a zero margin.
- Contract metadata that disagrees between upstream dumps — identifiers are resolved as either integer or string because real dumps are not type-consistent.
- A stale utilisation screen, which is acceptable; a stale gate answer, which is not.
Sizing without margin is how a desk finds out at 09:20 that it cannot afford the position it just entered.