Collateral
Every other venue makes you pick one: hold the position, or free the capital. Sell a call that is working to open something else and you have paid the spread twice and handed away the rest of the move.
Borrow against it instead. The advance rate is not a number somebody picked. It comes out of stressing your actual book across 54 scenarios of spot and volatility together.
01 / Why a haircut is the wrong tool
A long call and a short call can be worth exactly the same and be completely different collateral. One cannot lose more than the premium. The other has open ended downside.
Any lender applying a flat percentage to mark to market value is, in effect, guessing. The correct question is not what the book is worth today, it is what survives the worst plausible move before a liquidator can get out.
So the engine prices the whole portfolio in every cell of a grid and takes the worst one. That is what a clearing house does, and it is the only defensible answer.
Bounded downside, so they lend. How much depends almost entirely on how much of the value is intrinsic rather than time.
Open ended downside. Borrowing power is zero, always. A short book is a liability, not collateral, and the engine says so.
The second leg is visible to the grid, so risk nets. A defined risk structure is treated as defined risk.
Adding a put to a long call book raises the advance rate, because the worst cell gets less bad. Hedging is rewarded automatically.
02 / The stress grid
The size of the shock matters as much as its shape. A fixed plus or minus 25% is a multi week move. Applying it as though it were instantaneous stresses every long option to nearly zero and concludes that no option is ever collateral, which is simply wrong.
What matters is how far the market can run before a liquidator can close the position. So the grid scales to the asset's own volatility over a two day window.
A correction we had to make
The first version of this engine used fixed shocks and reported that a long call portfolio had zero borrowing power. That was the grid being wrong, not the collateral being bad. Rescaling it to the liquidation horizon is what produced the ladder below.
spot move = sigmas * vol * sqrt(days / 365) at 42% vol, 3 sigma, 2 day horizon spot ±9.3% 9 points vol ±22.2% 6 points, asymmetric 54 cells priced per margin call ───────────────────────────────────── the vol axis is deliberately lopsided down -0.5x up +2.0x implied vol spikes far harder than it falls. a short book that looks safe under symmetric shocks is exactly the book that blows up in a selloff.
03 / What lends, and how much
The same underlying, the same expiry, the same quantity. The only thing changing is the strike, and the advance rate falls with it exactly as it should.
| Position, 60 day calls | Value | Intrinsic share | Worst case, 2 day | Can borrow | Advance rate |
|---|
04 / Live
This runs site/perp.js, the same module the terminal and the test suite import. Build a position and watch the collateral value move.
...
05 / What can still go wrong
01
A three sigma two day move is not a bound, it is a scenario. An overnight halt, a fraud, a bid that disappears entirely: all of these exceed it. The insurance fund exists for the tail the grid does not cover, and it is finite.
02
The model assumes a liquidator can get out inside the horizon at something near the mark. In a real dislocation the wings do not trade at all. Advance rates on thin strikes should be lower than this engine currently sets them.
03
Margin is computed per symbol today, so a book that is long twelve correlated megacaps is treated as twelve independent risks. It is not. Cross symbol correlation is not implemented and that is the biggest known gap.