Position A (worst-loser-first in a shortfall)

Position B

Account health ratio (equity ÷ maintenance requirement)

Haircut waterfall — what actually gets trimmed

The engine works through positions worst-loss-first. It stops as soon as the shortfall clears — most of the time only one position, and only part of it, is ever touched.

PositionPnL non réaliséMaint. requirementNotional closed% of position closed

Full liquidation vs. haircut liquidation

On a traditional isolated-margin exchange, breaching maintenance margin on a position closes that entire position (often with a liquidation-fee penalty on top). On an account-wide "haircut" engine — the model BULK's perpetual DEX popularized in 2026 — a shortfall is measured against the whole account's equity vs. maintenance requirement, and the fix is the smallest notional reduction, anywhere in the portfolio, that clears it. A trader who would have lost an entire position on a legacy exchange may keep most of it open here. See Vertex cross-margin buying power for the flip side of the same shared-equity idea, and ADL risk score for the auto-deleveraging queue that some venues use instead of an insurance fund when a liquidation can't be filled.

Les mathématiques derrière une liquidation de coupe de cheveux

Chaque position contribue à la marge affichée notional/leverage au total des garanties C, et PnL non réalisé notional × (mark/entry − 1) × (long ? 1 : −1) au PnL total non réalisé U. L'équité du compte est simplement E = C + U. Chaque poste a également ses propres exigences de maintenance notional × maintenance_rate, et l'exigence totale du compte M est la somme pour chaque position ouverte. Le compte est en bonne santé chaque fois H = E / M ≥ 1 (cette calculatrice utilise une petite mémoire tampon supérieure à 1,0, le ratio cible, de sorte que le moteur n'a pas à se redéclencher à la coche suivante).

Lorsque H tombe en dessous de la cible, le moteur doit perdre juste assez d'entretien pour y revenir : M_target = E / target, donc ΔM = M − M_target doit être supprimé. Parce que la fermeture de n'importe quel montant Δ du notionnel d'un poste réduit l'exigence de maintenance de ce poste de Δ × maintenance_rate, le moteur résout Δ = take / maintenance_rate pour quelle que soit la quantité de ΔM il faut partir de cette position, plafonné au notionnel complet de la position. Il fonctionne d'abord à travers des positions ordonnées par la pire perte non réalisée, ne passant à la suivante qu'une fois que la position actuelle est complètement fermée et qu'il reste encore un déficit.

C'est pourquoi une coupe de cheveux peut, dans un tirage suffisamment sévère, atteindre encore une rentable position : la fermeture de n'importe quelle position réduit M par la même formule quel que soit son signe PnL, donc une fois que chaque position perdante sur le compte a été entièrement liquidée et qu'il reste un déficit, le moteur n'a pas d'autre choix que de tailler un gagnant aussi. Et si E ≤ 0 avant tout cela — les pertes ont déjà dépassé toutes les garanties comptabilisées — aucun montant de rognage notionnel ne le résout ; c'est une insolvabilité pure et simple, pas un cas de décote.

Partager: 𝕏 Publier Reddit
Placez votre transaction sur :BybitBinanceOKXKuCoin|📈TradingView🔒NordVPN📧 Courrier glacé