The margin fractions define the leverage permitted by Nord. Each market has
different base fractions based on factors such as the risk and volatility of
the underlying asset.
Margin fractions
Margin fraction MF
Calculated per user as:
MFuser=∑marketsPNAV
Open margin fraction OMF
OMFuser=∑marketsPONmin{AV,TV}
OMF is the ratio between the account's available collateral value and its
possible exposure after open orders fill. The numerator includes unsettled
funding.
Initial margin fraction IMF
Defines the initial margin to open a position or borrow assets. After
opening a position or borrowing an asset, we must have OMFuser>IMFuser.
First, define a per-market or per-asset base IMF.
IMFbaseIMFbase=max leverage1=weightbase token1.1−1(perp)(spot)
where
- max leverage is the maximum leverage multiplier for a specific market. The implementation may operate with the market's imf value, in which case:
IMFbase=imfmarket(perp)
- weight is the weight of the spot market's base token.
Note that in practice, we need only store the market IMF and token IMF.
The leverage is implied from this value. Then we have the user's IMF.
IMFuser=∑PON∑PON⋅IMFbase
Note that for tokens, IMFbase is only defined if the
token is borrowable.
Because OMF and IMF have the same denominator, the condition
OMF>IMF can be simplified to:
min{AV,TV}>∑PON⋅IMFbase
Let us use OMF_numer=min{AV,TV}.
Cancel margin fraction CMF
The OMF below which open orders that extend the user's
current position are cancelled. Defined similarly to IMF.
CMFbaseCMFbase=85IMFbase=IMFbase(perp)(spot)
CMFuser=∑PON∑PON⋅CMFbase
Maintenance margin fraction MMF
The MF threshold below which the user's positions and borrows become eligible
for liquidation.
MMFbaseMMFbase=21IMFbase=weight1.03−1(perp)(spot)
MMFuser=∑PON∑PON⋅MMFbase
Invariants
If a user can perform a financial operation by executing two separate actions sequentially, then the equivalent financial operation performed as a single action must also succeed.
For example, if a user can close a position and then open an opposite position, they must also be able to perform this as a single, atomic operation.
Price bands
Nord rejects perpetual order requests with a limit price outside a configured
band around the index price. With band B, the lowest permitted price is
plow index⋅(1−B) and the highest permitted price is
phigh index⋅(1+B). Currently, B=0.2.