Feeds are published per market and are shared by every risk universe that lists that market.
Associated with each feed is a confidence score which ranges between 0 (low confidence) and 1 (high confidence). Confidence scores are used to calculate oracle contingencies for both standard and portfolio margin accounts.
Implied Volatility
The implied volatility for each strike in a given expiry is obtained from a (raw) Stochastic Volatility Inspired (SVI) curve. Such a surface is characterised by 5 parameters. The implied volatility(IV) for a given strike is given by
Formula
a,b,rho,m,eare parameters supplied by the data feed.k = log(K / forward)is the (natural) log moneyness of the given strikeK.tauis time to expiry (in years).Spotis the spot price of the underlying base asset.
K, the minimum and maximum values of the log moneynessk is bounded between k_min and k_max where:
k_min = - MIN_SCALE * sqrt(a + b * sigma)k_max = MAX_SCALE * sqrt(a + b * sigma)
(MIN_SCALE, MAX_SCALE) = (4,4).
In other words:
- if
k > k_max, setk = k_maxand - if
k < k_min, setk = k_min.
MAX_TOTAL_VOL = 24.0MAX_TOTAL_VAR = 144.0
Risk Free Rate
The rate feed is signed and may print negative. Both margin engines clamp it at zero before use, so a negative rate feed margins identically to a zero rate. Without the clamp a negative rate would inflate every option premium byexp(-r * tau) > 1, handing a long book extra credit and under-charging a short one off a feed glitch.
Settlement Aggregates
The forward feed also carries the running inputs to the settlement TWAP for each expiry:
The settlement price is the difference of the two aggregates divided by the seconds actually elapsed:
Formula
Confidence Scores
Every feed carries a confidence score. When it drops, both margin engines add an oracle contingency to initial margin only. Maintenance margin is never affected, so a degraded feed cannot by itself make an account liquidatable. The two engines differ in the detail:
In both engines the charge has the same shape:
Formula
