Liquidation

Risk system monitors the account risk level every 5s, checking if any account is underfunded, i.e., Account Maintenance Margin Requirement<NAV. If underfunded, risk system will automatically reduce existing positions.

Liquidation process

For each perpetual contract position in an account, calculating the Maintenance Margin Requirement:

Maintenance Margin Requirement by Size= Abs(Position Size)* Maintenance Margin per Position
Maintenance Margin Requirement by Value= Abs(Notional Value)* Maintenance Margin Ratio
Maintenance Margin Requirement= Maintenance Margin Requirement by Size + Maintenance Margin Requirement by Value

At the account level,

Account Maintenance Margin Requirement

= AllPerpsMaintenance Margin Requirement\mathsf{ {\small \sum_{All Perps} Maintenance\ Margin\ Requirement} }

Account Buffer to Liquidation = NAV - Account Maintenance Margin Requirement

If Account Buffer to Liquidation<0, risk system will start to liquidate the account. OpenWorld will liquidate positions from the largest one. Each position will be liquidated by the half of current Position Size, until the account is well-collateralized (Account Buffer to Liquidation>0). In order to manage market impact risk, orders will be capped by each market’s Max Market Order Size. The process is as follows:

1. Cancelling all open orders

2. Sort positions in the account in descending order by their absolute notional value

3. Beginning from the largest in the account, calculate the side and size to be liquidated, until Account Buffer To Liquidation is non-negative

For each position in the account
    If Account Buffer To Liquidation<0
        If abs (0.5*Position Size) <= Order Size Unit
            To be Liquidated Size = abs(Position Size)
            
        Else if abs (0.5*Position Size) >= Max Market Order Size
            To be Liquidated Size = Max Market Order Size
        
        Else if 0.5*Maintenance Margin Requirement >= - Account Buffer to Liquidation
            To be Liquidated Size = roundup(abs (0.5*Position Size), order size unit)
            
        Else if abs (Position Size) >= Max Market Order Size
            To be Liquidated Size = Max Market Order Size

        Else
            To be Liquidated Size= abs(Position Size)
            To be Liquidated Direction=-sign(Position Size)
 
            Account Buffer to Liquidation = Account Buffer to Liquidation+ Maintenance Margin Requirement* To be Liquidated Size/ abs(Position Size)
            
        Else break

4. For each perpetual contract in an account, based on To be Liquidated Size and To be Liquidated Direction, place market orders to execute the liquidation. Please note that all market orders are Immediate or Cancel (IOC) orders.

Insurance clearance fee

Users are recommended to strictly control their position risks to avoid liquidation. When a user's position is liquidated, the Insurance Clearance Fee will be collected and contributed to Insurance Fund reserves.

For each trade classified as liquidation:

Insurance Clearance Fee = 0.5%* abs(Filled Amount*Trade Price)

Automated negative balance clearance

When a user’s account falls into negative NAV, OpenWorld will use the Insurance Fund to cover the deficit losses in the user’s account. The automated negative Balance clearance will be performed every 10 minutes.

In extreme case, if the Insurance Fund cannot cover the deficit losses, the deficit losses will be pro-rata shared by all users’ accounts with positive NAV.

Last updated