← लेखों की सूची पर वापस जाएँ
July 29, 2026
5 मिनट का पठन

ट्रेडिंग सिग्नल के रूप में लिक्विडेशन कैस्केड: मजबूर, पहले से घोषित फ्लो को पढ़ना

ट्रेडिंग सिग्नल के रूप में लिक्विडेशन कैस्केड: मजबूर, पहले से घोषित फ्लो को पढ़ना
#लिक्विडेशन
#कैस्केड
#ट्रेडिंग सिग्नल
#डीफाई
#परपेचुअल्स
#ऑर्डर बुक
#मार्केट माइक्रोस्ट्रक्चर
#क्रिप्टो

अधिकांश बाजार फ्लो तब तक गुप्त रहता है जब तक वह प्रिंट नहीं होता। विवेकाधीन विक्रेता जब तय करता है, तभी बेचने का निर्णय लेता है; उसका इरादा आपको टेप से, घटना के बाद, पता चलता है। लीवरेज्ड लिक्विडेशन इसका अपवाद हैं, और यह अपवाद बहुत बड़ा है। लिक्विडेशन मजबूरन होता है — पोजीशन धारक का यह तय करने में कोई अधिकार नहीं कि यह होगा या नहीं — और यह पहले से घोषित होता है — जिस सटीक कीमत पर यह ट्रिगर होता है, वह उन पैरामीटरों का नियतात्मक फलन है जो ऑन-चेन पूरी तरह सार्वजनिक और ऑफ-चेन सांख्यिकीय रूप से अनुमानित हैं। हर लीवरेज्ड लॉन्ग ऐसी स्थायी मार्केट-सेल ऑर्डर है जो उस कीमत पर पड़ी है जिसे गणना करने की परवाह करने वाला कोई भी व्यक्ति जान सकता है।

यह पूरे विषय को नए ढंग से रखता है। Aave और Compound की लिक्विडेशन मैकेनिक्स पर साथी लेख लिक्विडेटर के पक्ष से लिक्विडेशन को देखता है — खराब ऋण चुकाने वाला और बोनस पाने वाला व्यक्ति होने की इंफ्रास्ट्रक्चर दौड़। यह लेख उसी ऑब्जेक्ट का ट्रेडर पक्ष लेता है: सवाल "मैं लिक्विडेशन कैसे जीतूं" नहीं, बल्कि "बाकी सभी लोगों की लिक्विडेशन कीमतों का कुल योग भविष्य के मजबूर फ्लो का नक्शा है, और मैं उस नक्शे के आधार पर ट्रेड कर सकता हूं।" हम नक्शे के दो संस्करण बनाते हैं — ऑन-चेन एक सटीक, CEX परपेचुअल्स के लिए एक धुंधला — मापते हैं कि लिक्विडेशन की श्रृंखला कब खुद को मजबूत करने लगती है, और सावधानी से बताते हैं कि परिणामी फ्लो कीमत पर क्या करता है।

ऑन-चेन लिक्विडेशन डेप्थ चार्ट

मनी मार्केट में किसी पोजीशन की लिक्विडेशन कीमत अनुमानित नहीं होती। वह निकाली जाती है। मैकेनिक्स प्राइमर से हेल्थ फैक्टर याद करें: किसी पोजीशन को तब लिक्विडेट किया जा सकता है जब

HF=iCiPiLTijDjPj<1HF = \frac{\sum_i C_i \, P_i \, LT_i}{\sum_j D_j \, P_j} < 1

जहां CiC_i कोलेटरल की मात्राएं, PiP_i उनके ऑरेकल मूल्य, LTiLT_i लिक्विडेशन थ्रेशोल्ड, और DjPjD_j P_j ऋण के मूल्य हैं। हम इसे फिर से व्युत्पन्न नहीं करेंगे; हम इसे उलटेंगे। सामान्य स्थिति लें — एकल अस्थिर कोलेटरल CC (मान लें WETH), जो स्थिर ऋण DD (USDC) को वित्तपोषित कर रहा है। HF=1HF = 1 रखकर और कोलेटरल कीमत के लिए हल करने पर पोजीशन की ट्रिगर कीमत मिलती है:

Pliq=DCLTP_{\text{liq}} = \frac{D}{C \cdot LT}

यही वह एक संख्या है जिसका संकेत उधारकर्ता ने पहले से दे दिया है। इसका अर्थ है: यदि ऑरेकल पर WETH PliqP_{\text{liq}} को छूता है, तो यह पोजीशन मजबूर सप्लाई बन जाती है। और उस सप्लाई का आकार भी जाना जा सकता है — ट्रिगर पर लिक्विडेटर ऋण के closeFactor×D\text{closeFactor} \times D को चुकाता है और repay×(1+bonus)\text{repay} \times (1 + \text{bonus}) मूल्य का कोलेटरल जब्त करता है, इसलिए लगभग

QforcedcloseFactorD(1+bonus)Q_{\text{forced}} \approx \text{closeFactor} \cdot D \cdot (1 + \text{bonus})

का कोलेटरल मूल्य बाजार में आता है (या हेज किया जाता है) जब पोजीशन सक्रिय होती है।

मैकेनिक्स प्राइमर की ठोस पोजीशन लें: $3,000 पर जमा 10 WETH, उधार लिए गए 20,000 USDC, लिक्विडेशन थ्रेशोल्ड LT=0.83LT = 0.83, बोनस 5%। इसका ट्रिगर Pliq=20,000/(10×0.83)=$2,410P_{\text{liq}} = 20{,}000 / (10 \times 0.83) = \char36 2{,}410 है, और 50% क्लोज फैक्टर पर यह उस कीमत पर 0.5×20,000×1.05=$10,5000.5 \times 20{,}000 \times 1.05 = \char36 10{,}500 की मजबूर WETH सप्लाई जमा करता है। एक उधारकर्ता, चार्ट पर एक बार। प्रोटोकॉल के हर उधारकर्ता के लिए यह करें, परिणामों को PliqP_{\text{liq}} के आधार पर बकेट करें, और आपके पास एक हिस्टोग्राम होगा: कीमत के फलन के रूप में मजबूर-बिक्री नॉशनल। यही ऑन-चेन लिक्विडेशन डेप्थ चार्ट है — DEX-नेटिव ऑर्डर बुक का रिश्तेदार, बस अंतर यह है कि यहां "ऑर्डर" अनैच्छिक हैं और उनकी कीमतें कोट नहीं की जातीं, गणना की जाती हैं।

ऑन-चेन लिक्विडेशन डेप्थ चार्ट: Aave और Compound के कोलेटरल को लिक्विडेशन कीमत के आधार पर बकेट करके बनाया गया हिस्टोग्राम, जिसमें स्पॉट के नीचे मजबूर-बिक्री दबाव स्टैक्ड है

इसे कल्पना बनने से रोकने वाली ईमानदार सावधानियां तीन हैं:

  1. मल्टी-एसेट पोजीशन की कोई एकल ट्रिगर कीमत नहीं होती। दो अस्थिर कोलेटरल और दो ऋण वाली पोजीशन कीमतों के स्पेस में किसी बिंदु पर नहीं, बल्कि एक सतह पर लिक्विडेट होती है। व्यावहारिक सरलीकरण यह है कि हर दूसरे ऑरेकल मूल्य को उसकी मौजूदा स्थिति पर रखते हुए प्रमुख अस्थिर कोलेटरल की धुरी के साथ ट्रिगर निकालें। यह एक एसेट में होने वाली चाल के लिए सही है और सहसंबद्ध बास्केट की चाल के लिए गलत — जो मायने रखता है, क्योंकि सहसंबद्ध क्रैश ठीक वही समय होते हैं जब बहुत से ट्रिगर एक साथ खिसकते हैं। एकल-एसेट PliqP_{\text{liq}} को प्रथम-क्रम सीमांत मानें, गारंटी नहीं।
  2. मजबूर बिक्री \neq एक ही वेन्यू पर बाजार में डंप। सक्षम लिक्विडेटर जब्त किए गए कोलेटरल को उपलब्ध सबसे पतले पूल में आंख मूंदकर मार्केट-सेल नहीं करते; वे DEX और CEX में रूट करते हैं, और अक्सर कोलेटरल को तुरंत बेचने के बजाय उसे रखते हुए परपेचुअल पर डेल्टा-हेज करते हैं (यह एग्जिट-स्वैप समस्या है जिस पर मैकेनिक्स प्राइमर विस्तार से चर्चा करता है)। इसलिए QforcedQ_{\text{forced}} कीमत पर असर डालने वाले फ्लो की ऊपरी सीमा है, बिंदु-अनुमान नहीं। इसका कुछ हिस्सा ऐसे हेज में चला जाता है जो स्पॉट को कभी नहीं छूता।
  3. ट्रिगर बाजार के साथ नहीं, ऑरेकल के साथ चलते हैं। Aave और Compound पर पोजीशन तब लिक्विडेट की जा सकती है जब ऑरेकल PliqP_{\text{liq}} को पार करे, और ऑरेकल विचलन-और-हार्टबीट की समय-सारणी पर अपडेट होते हैं, इसलिए बाजार से पीछे रहते हैं। अत: डेप्थ चार्ट यह दिखाता है कि मजबूर फ्लो कहां पात्र बनता है, जिसे अगले ऑरेकल ट्रांसमिट की अनुमति चाहिए — यह एक सूक्ष्मता है जिसे प्राइमर विस्तार से समझाता है।

एक तीसरा स्रोत मनी-मार्केट चार्ट और CEX हीटमैप के बीच आता है: परपेचुअल DEX। Hyperliquid, GMX और dYdX v4 लीवरेज्ड परपेचुअल्स को केंद्रीकृत एक्सचेंज की तरह चलाते हैं, लेकिन पोजीशन की स्थिति ऑन-चेन या क्वेरी किए जा सकने वाले क्लियरिंगहाउस में रखते हैं। इसका अर्थ है कि उनकी लिक्विडेशन कीमतें CEX परपेचुअल्स की तरह उसी आइसोलेटेड-मार्जिन फॉर्मूला का पालन करती हैं — लेकिन अनुमानित एग्रीगेट OI से नहीं, वास्तविक पोजीशन (आकार, कोलेटरल, एंट्री) से गणना की जाती हैं। Hyperliquid की क्लियरिंगहाउस स्थिति हर अकाउंट का मार्जिन और मार्क कीमत दिखाती है; GMX पोजीशन ऑन-चेन होती हैं और कीपर्स के जरिए ऑरेकल-आधारित कीमतों पर लिक्विडेट होती हैं। व्यावहारिक निष्कर्ष: परपेचुअल DEX के लिए आप CEX-जैसा लीवरेज लेकिन ऑन-चेन-जैसी सटीकता वाला लिक्विडेशन नक्शा बना सकते हैं, जो हीटमैप के अनुमान से कहीं अधिक Aave चार्ट की सटीकता के करीब है। जहां कोई वेन्यू पोजीशन प्रकाशित करता है, वहां आपको कभी अनुमान नहीं लगाना पड़ता।

इन सावधानियों के बावजूद, ऑन-चेन चार्ट बाजारों में मौजूद सबसे स्वच्छ मजबूर-फ्लो नक्शा है: लीवरेज वितरण के बारे में कोई धारणा नहीं, छिपा हुआ आकार नहीं, हर इनपुट स्टेट से पढ़ा जा सकता है।

CEX लिक्विडेशन हीटमैप

केंद्रीकृत परपेचुअल एक्सचेंज आपको उलटी स्थिति देते हैं — बहुत अधिक ओपन इंटरेस्ट, और पोजीशन-स्तर का लगभग कोई विवरण नहीं, जो ऑन-चेन चार्ट को सटीक बनाता है। आप व्यक्तिगत पोजीशन नहीं पढ़ सकते। आप जो पढ़ सकते हैं वह एग्रीगेट ओपन इंटरेस्ट और ट्रेडेड वॉल्यूम है। लिक्विडेशन हीटमैप तब मिलता है जब आप इन एग्रीगेट और कुछ धारणाओं से डेप्थ चार्ट को फिर से बनाने की कोशिश करते हैं, और ये धारणाएं आधारभूत हैं।

प्रति-पोजीशन गणित सरल है। कीमत EE पर दर्ज की गई, लीवरेज LL और मेंटेनेंस-मार्जिन दर mm वाली आइसोलेटेड-मार्जिन लीनियर (USDT-सेटल्ड) लॉन्ग के लिए लिक्विडेशन तब शुरू होता है जब इक्विटी मेंटेनेंस आवश्यकता तक गिरती है:

EL+(PE)=EmPliqlong=E(11L+m)\frac{E}{L} + (P - E) = E \cdot m \quad\Longrightarrow\quad P_{\text{liq}}^{\text{long}} = E\left(1 - \frac{1}{L} + m\right)

और सममित रूप से Pliqshort=E(1+1Lm)P_{\text{liq}}^{\text{short}} = E\left(1 + \frac{1}{L} - m\right)E=$3,000E = \char36 3{,}000 पर एंट्री, m=0.5%m = 0.5\% तय करें और लीवरेज टियर देखें:

लीवरेज PliqlongP_{\text{liq}}^{\text{long}} एंट्री से नीचे दूरी
$2,415 −19.5%
10× $2,715 −9.5%
25× $2,895 −3.5%
50× $2,955 −1.5%
100× $2,985 −0.5%

उस कॉलम का आकार ही वह पूरी वजह है जिसके कारण हाल की कीमत के ठीक नीचे हीटमैप चमकते हैं: हाई-लीवरेज पोजीशन एंट्री के बेहद करीब लिक्विडेट होती हैं, इसलिए जहां हाल में वॉल्यूम ट्रेड हुआ, वहां 50–100× ट्रिगर का एक घना बैंड एंट्री से प्रतिशत के एक अंश की दूरी पर बैठा होता है। हीटमैप बनाने की प्रक्रिया यह है: हालिया ट्रेडेड वॉल्यूम को वहां पोजीशन खोली गई थीं, उस जगह का प्रॉक्सी मानें (उनकी EE), उस वॉल्यूम को लीवरेज टियर के एक अनुमानित सेट — 5×, 10×, 25×, 50×, 100× और कुछ अनुमानित भार — में बांटें, हर हिस्से को उसके PliqP_{\text{liq}} पर प्रोजेक्ट करें, और कीमत की धुरी पर वहां अनुमानित लीवरेज्ड नॉशनल के लिक्विडेट होने के अनुसार शेड करें। चमकीले बैंड घने अनुमानित लिक्विडेशन जोन हैं।

CEX लिक्विडेशन हीटमैप: लीवरेज टियर के पार लिक्विडेशन कीमतों पर प्रोजेक्ट किया गया अनुमानित लीवरेज्ड नॉशनल, मौजूदा कीमत के ऊपर और नीचे क्षैतिज तीव्रता बैंड के रूप में दिखाया गया

स्पष्ट रूप से समझें कि यह ऑन-चेन चार्ट का जुड़वां नहीं, बल्कि धुंधली तस्वीर क्यों है:

  • लीवरेज वितरण अज्ञात है। पूरा हीटमैप वॉल्यूम और अनुमानित लीवरेज हिस्टोग्राम का कन्वोल्यूशन है। अलग धारणाएं चमकीले बैंड को अलग जगह रखती हैं। एक ही दिन, एक ही बाजार के लिए दो प्रतिष्ठित डेटा विक्रेता साफ तौर पर अलग हीटमैप प्रकाशित करते हैं, और अपने-अपने पूर्वानुमानों के आधार पर दोनों "सही" होते हैं।
  • क्रॉस-मार्जिन प्रति-पोजीशन फॉर्मूला तोड़ देता है। ऊपर का PliqP_{\text{liq}} आइसोलेटेड-मार्जिन परिणाम है। क्रॉस-मार्जिन पोजीशन पूरे अकाउंट की इक्विटी पर लिक्विडेट होती है, इसलिए उसका प्रभावी ट्रिगर ट्रेडर की अन्य पोजीशन, उनके अवास्तविक PnL और चाल के दौरान जोड़े गए अतिरिक्त कोलेटरल पर निर्भर करता है — इनमें से कुछ भी दिखाई नहीं देता। क्रॉस-मार्जिन आकार अनुमानक के लिए प्रभावी रूप से अदृश्य है।
  • छिपा हुआ और गतिशील आकार। ओपन इंटरेस्ट नेट-प्लस-ग्रॉस एग्रीगेट है; यह आपको OI और व्यक्तिगत एंट्री के बीच मैपिंग नहीं बताता। ट्रेडर लगातार जोड़ते, घटाते और हेज करते हैं। टियर्ड मेंटेनेंस मार्जिन (mm पोजीशन नॉशनल के साथ बढ़ता है) एक ही लीवरेज पर बड़े पोजीशन के ट्रिगर को छोटी पोजीशन से अलग खिसकाता है।
  • लिक्विडेशन टुकड़ों में होता है, तुरंत नहीं। एक्सचेंज बड़ी पोजीशन को क्रमिक रूप से लिक्विडेट करते हैं और बचे हुए जोखिम को इंश्योरेंस फंड तथा ऑटो-डीलीवरेजिंग के जरिए रूट करते हैं, इसलिए सही जगह स्थित क्लस्टर भी एक ही प्रिंट में डंप नहीं होता।

हीटमैप को इस रूप में रखना सही है कि यह जहां मजबूर फ्लो केंद्रित होने की संभावना है, उसका पूर्वानुमान है, जिसकी पुष्टि या खंडन वास्तविक लिक्विडेशन प्रिंट से होना चाहिए (नीचे पाइपलाइन सेक्शन में forceOrder स्ट्रीम), न कि कोई लेजर। यह वास्तव में उपयोगी और वास्तव में अपूर्ण है, और इसके विपरीत दिखावा करना ही लोगों को उन क्लस्टरों से कुचलवा देता है जिन पर वे नजर रख रहे होते हैं। परपेचुअल्स पर इतना लीवरेज आखिर जमा क्यों होता है — और फंडिंग लागत उन पोजीशन को उनके ट्रिगर की ओर क्यों धकेलती रहती है — इसके लिए एक्सचेंजों के बीच फंडिंग रेट आर्बिट्रेज देखें।

कैस्केड डायनेमिक्स का परिमाणीकरण

एकल लिक्विडेशन एक डेटा पॉइंट है। कैस्केड फीडबैक लूप है, और इसकी एक सीमा है जिसे लिखा जा सकता है। लूप यांत्रिक है: मजबूर बिक्री बुक पर आती है → कीमत का प्रभाव बाजार को हिलाता है → चाल पोजीशन के अगले टियर को उसके ट्रिगर के पार धकेलती है → वे लिक्विडेट होती हैं → और अधिक मजबूर बिक्री → दोहराएं। यह शांत पड़ता है या बेकाबू होता है, यह सेंटीमेंट का प्रश्न नहीं है; यह उन दो राशियों का अनुपात है जिन्हें आप पहले ही बना चुके हैं।

आंशिक कीमत गिरावट r=ΔP/Pr = -\Delta P / P में काम करें। दो घटक:

  • लिक्विडेशन घनत्व ρ\rho — प्रति इकाई आंशिक कीमत गिरावट पर मजबूर-बिक्री नॉशनल, जिसे सीधे डेप्थ चार्ट / हीटमैप से पढ़ा जाता है: ρ=dQ/dr\rho = -\,dQ / dr। यह मापता है कि किसी कीमत बैंड में कितना ईंधन जमा है।
  • बाजार डेप्थ Δ\Delta — कीमत को rr की एक इकाई से हिलाने के लिए आवश्यक मार्केट-सेल का नॉशनल। रैखिक (Kyle) इम्पैक्ट मॉडल में, बिक्री नॉशनल QQ कीमत को r=Q/Δr = Q / \Delta से हिलाता है। यह मजबूर फ्लो को सोखने की ऑर्डर बुक की क्षमता है, और यही वह मात्रा है जिसके बारे में ऑर्डर-बुक वॉल और क्यू-पोजीशन विश्लेषण है — एक "वॉल" Δ\Delta में स्थानीय उछाल है।

अब दोहराएं। एक बाहरी झटका कीमत को r0r_0 गिराता है और Q0=ρr0Q_0 = \rho \, r_0 की मजबूर बिक्री ट्रिगर करता है। वह बिक्री आगे r1=Q0/Δ=(ρ/Δ)r0r_1 = Q_0 / \Delta = (\rho/\Delta)\, r_0 की गिरावट लाती है। कैस्केड मल्टीप्लायर परिभाषित करें:

g=ρΔg = \frac{\rho}{\Delta}

और पुनरावृत्ति बस rn+1=grnr_{n+1} = g \, r_n है। कुल गिरावट एक ज्यामितीय श्रेणी है:

rtotal=r0(1+g+g2+)=r01g(g<1)r_{\text{total}} = r_0 \left(1 + g + g^2 + \cdots\right) = \frac{r_0}{1 - g} \quad (g < 1)

सब कुछ gg के मान में है:

  • g<1g < 1सबक्रिटिकल। लिक्विडेशन का हर दौर पिछले दौर से कम बिक्री ट्रिगर करता है। कैस्केड खुद समाप्त हो जाता है; कुल चाल शुरुआती झटके की 1/(1g)1/(1-g) गुना सीमित रहती है। अधिकांश लिक्विडेशन घटनाएं इसी स्थिति में होती हैं।
  • g1g \ge 1सुपरक्रिटिकल। हर दौर पिछले दौर के बराबर या उससे अधिक बिक्री ट्रिगर करता है। ज्यामितीय श्रेणी अपसारी होती है; चाल की सीमा केवल लिक्विडेट की जा सकने वाली पोजीशन के खत्म होने, कम कीमतों पर बुक के गहरे होने या एक्सचेंज सर्किट ब्रेकर से तय होती है। यही "फ्लैश क्रैश / लॉन्ग स्क्वीज" स्थिति है।

gg एक reproduction number है — लिक्विडेशन महामारी का R0R_0। यह बताता है कि कैस्केड ठीक तभी बेकाबू होता है जब किसी कीमत बैंड में केंद्रित मजबूर-बिक्री लिक्विडिटी उस जगह उपलब्ध बुक लिक्विडिटी से अधिक हो जो उसे सोख सकती है। इसी कारण पतली बुक पर घने क्लस्टर में जाने वाला मामूली झटका खाली कीमत क्षेत्र में जाने वाले बड़े झटके से कहीं अधिक खतरनाक है: खतरा ρ/Δ\rho / \Delta है, झटके का आकार नहीं। यह self-exciting संरचना — एक ही प्रकार की और घटनाएं पैदा करने वाली घटनाएं — वही है जो Hawkes प्रक्रियाओं से ऑर्डर फ्लो को मॉडल करने के लिए प्रेरित करती है, और यही कारण है कि लिक्विडेशन समान रूप से नहीं बल्कि क्लस्टरों में आते हैं।

कैस्केड श्रृंखला: एक मजबूर बिक्री कीमत का प्रभाव पैदा करती है जो अंडरवॉटर पोजीशन के अगले क्लस्टर को धकेलता है, इसे reproduction-number की सीमा g equals one के साथ चिह्नित उतरती सीढ़ी के रूप में दिखाया गया है

इसे संख्याओं में रखें। मान लें कि बुक में $10M की मार्केट बिक्री ETH को 1% हिलाती है, इसलिए Δ=10M/0.01=$1B\Delta = 10\text{M} / 0.01 = \char36 1\text{B} प्रति इकाई आंशिक कीमत के नॉशनल की है। अब स्पॉट के ठीक नीचे 1%-चौड़े बैंड के लिए दो स्थितियों की तुलना करें:

  • घना बैंड, $30M का क्लस्टर्ड मजबूर-बिक्री नॉशनल। तब ρ=30M/0.01=$3B\rho = 30\text{M} / 0.01 = \char36 3\text{B} और g=ρ/Δ=3g = \rho/\Delta = 3। सुपरक्रिटिकल: बैंड के ऊपरी हिस्से को छूने वाला झटका पूरे स्टैक को विस्फोटित कर देता है, और मॉडल की निचली सीमा gg से नहीं बल्कि वहां तय होती है जहां पोजीशन खत्म हो जाती हैं।
  • विरल बैंड, $6M का क्लस्टर्ड नॉशनल। तब ρ=$600M\rho = \char36 600\text{M}, g=0.6g = 0.6, और कुल चाल r0/(10.6)=2.5r0r_0 / (1 - 0.6) = 2.5\,r_0 — बढ़ी हुई लेकिन सीमित गिरावट। वही झटका, वही बुक, पांच गुना पतला क्लस्टर, और परिणाम ध्वंस से खरीदने योग्य विक तक बदल जाता है।

क्रमबद्ध क्लस्टरों पर चलने वाला एक छोटा सिमुलेशन इसका असतत संस्करण है, और इसे लिखना उपयोगी है क्योंकि इससे सीमा स्पष्ट होती है:

def cascade(p0, clusters, kyle_lambda):
    """
    p0:          price after the exogenous shock
    clusters:    {trigger_price: forced_notional} for long positions
    kyle_lambda: fractional price impact per $ of market sell (1/depth)
    Returns the floor price and total liquidated notional.
    """
    p, sold, fired = p0, 0.0, set()
    while True:
        new = [(tp, n) for tp, n in clusters.items()
               if tp not in fired and tp >= p]
        if not new:
            break
        q = sum(n for _, n in new)          # this round's forced sell
        fired.update(tp for tp, _ in new)
        p *= (1 - kyle_lambda * q)          # linear price impact of the round
        sold += q
    return p, sold

दो व्यावहारिक टिप्पणियां। पहली, gg स्थानीय है — यह कीमत की धुरी के साथ बदलता है, क्योंकि ρ\rho (क्लस्टर घनत्व) और Δ\Delta (बुक डेप्थ) दोनों बदलते हैं। ट्रेड करने योग्य सवाल "क्या बाजार नाजुक है" नहीं, बल्कि "किस खास कीमत पर gg 1 को पार करता है" है। दूसरी, ऊपर जाते समय शॉर्ट्स के लिए यही तंत्र उलटी दिशा में चलता है (शॉर्ट स्क्वीज संकेत उलटकर बना कैस्केड है), इसलिए नक्शे के दो पक्ष हैं: स्पॉट के नीचे लॉन्ग-लिक्विडेशन ईंधन, ऊपर शॉर्ट-लिक्विडेशन ईंधन। मजबूर-बिक्री-से-कीमत-प्रभाव-से-मजबूर-बिक्री का यह लूप fire-sale साहित्य (Cont & Wagalath) में औपचारिक रूप से दर्ज endogenous-risk तंत्र है, जहां संकटग्रस्त लिक्विडेशन अपना सहसंबंध और प्रभाव खुद बनाता है।

सिग्नल: क्लस्टर चुंबक और रिवर्सल जोन के रूप में

मजबूर फ्लो का नक्शा कैस्केड के सापेक्ष समय के आधार पर दो अलग, लगभग विपरीत, ट्रेड करने योग्य संकेत देता है।

पहले: क्लस्टर मूल्य-चुंबक हैं। घना लिक्विडेशन क्लस्टर गारंटीकृत, कीमत से अप्रभावित फ्लो का पूल है। यह दो प्रकार के पक्षों को आकर्षित करता है: लिक्विडिटी तलाशने वाले ट्रेडर जो मजबूर काउंटरपार्टी के सामने आकार भरना चाहते हैं, और शिकारी ट्रेडर जो फ्लो शुरू करने के लिए जानबूझकर कीमत को क्लस्टर की ओर धकेलते हैं (प्रोटोकॉल स्तर का स्टॉप-हंट)। नतीजा यह है कि कीमत के बड़े क्लस्टरों की ओर खींचे जाने की एक अच्छी तरह दर्ज प्रवृत्ति होती है — स्तर चुंबक की तरह काम करता है — क्योंकि दूरी कम करने का स्थायी प्रोत्साहन मौजूद रहता है। जब आप कम conviction में स्पॉट को चमकीले बैंड की ओर खिसकते देखते हैं, तो बैंड खुद उसका एक हिस्सा है। कीमत पास आने पर बुक की प्रतिक्रिया का अनुमान लगाना — क्या वॉल फ्लो सोखेगी या मुड़ जाएगी — ठीक उसी तरह की अल्पकालिक ऑर्डर-बुक भविष्यवाणी की समस्या है जिस पर DeepLOB जैसे मॉडल काम करते हैं।

बाद में: क्लस्टर रिवर्सल जोन हैं। यह अधिक मूल्यवान और अधिक दुरुपयोग किया गया संकेत है, इसलिए इसे सावधानी से कहें। मजबूर-लिक्विडेशन फ्लो स्वभाव से गैर-सूचनात्मक है — विक्रेता इसलिए नहीं बेच रहा कि उसे लगता है कीमत बहुत ऊंची है; वह इसलिए बेच रहा है क्योंकि मार्जिन इंजन ने उसे ऐसा करने को कहा है। गैर-सूचनात्मक फ्लो कीमत को अस्थायी रूप से हिलाता है। क्लस्टर्ड पोजीशन खत्म होने के बाद यांत्रिक बिक्री अचानक रुक जाती है, और अगर कैस्केड नीचे जाते समय उचित मूल्य से आगे निकल गया हो, तो कीमत वापस लौटने लगती है — यह "लिक्विडेशन विक" है। यह तंत्र लोककथा नहीं है: मानक परिणाम यह है कि मजबूर, अनजान बिक्री का कीमत-प्रभाव क्षणिक घटक रखता है जो फ्लो रुकने पर वापस लौटता है, वही fire-sale तर्क जो इक्विटी के संकटग्रस्त-बिक्री साहित्य में अस्थायी विस्थापन और उसके बाद आंशिक वापसी पैदा करता है।

लिक्विडेशन क्लस्टर पहले स्पॉट को स्तर की ओर खींचने वाले मूल्य-चुंबक और फिर रिवर्सल जोन के रूप में काम करते हैं, जहां कैस्केड ओवरशूट करता है और मजबूर फ्लो खत्म होने पर विक वापस लौटता है

इसके लिए आवश्यक अनुशासन को जितना सपाट ढंग से कहा जा सकता है, कहें:

  • कैस्केड के बाद mean reversion एक दर्ज प्रवृत्ति है, कानून नहीं और कोई निश्चित संख्या नहीं। यह इस बात पर निर्भर है कि फ्लो वास्तव में गैर-सूचनात्मक था और कैस्केड के दौरान कोई नई सूचना नहीं आई। वास्तविक खबर (डीपेग, एक्सप्लॉइट, मैक्रो झटका) पर बाजार के पुनर्मूल्यांकन के साथ हुआ लिक्विडेशन कैस्केड वापस नहीं लौटेगा — मजबूर फ्लो और सूचनात्मक फ्लो एक-दूसरे पर चढ़े हुए हैं, और केवल पहला क्षणिक है। कोई सार्वभौमिक "विक खरीदो" बढ़त नहीं है, और बिना बताए गए सैंपल, वेन्यू और रिजीम के उद्धृत किसी भी खास रिवर्सल प्रतिशत को मार्केटिंग मानना चाहिए।
  • सिग्नल गिरावट नहीं, exhaustion है। ट्रेड करने योग्य क्षण वह है जब वास्तविक लिक्विडेशन प्रिंट पतले पड़ते हैं — जब forceOrder टेप एक उछाल के बाद शांत हो जाता है — क्योंकि तभी यांत्रिक विक्रेता जा चुका होता है। सुपरक्रिटिकल कैस्केड (g1g \ge 1) के बीच प्रवेश करना उस फीडबैक लूप के सामने खड़े होना है जिसके बारे में पिछला सेक्शन चेतावनी दे चुका है।
  • दोनों संकेतों के लिए वही नक्शा चाहिए। चुंबक और रिवर्सल अलग चरणों में देखे गए वही क्लस्टर हैं; डेप्थ चार्ट और हीटमैप बनाए बिना तथा उन्हें वास्तविक प्रिंट से लगातार मिलाए बिना आप किसी को ट्रेड नहीं कर सकते।

दोनों तरफ के नक्शे की असममिति में एक धीमा, दिशात्मक संकेत भी है। लॉन्ग-लिक्विडेशन ईंधन स्पॉट के नीचे और शॉर्ट-लिक्विडेशन ईंधन ऊपर बैठता है; जब एक तरफ दूसरी तरफ से बहुत अधिक भार हो, तो बाजार का यांत्रिक झुकाव भारी तरफ होता है, क्योंकि वहीं झटके को सबसे अधिक self-reinforcing फ्लो मिलता है। 3% नीचे लॉन्ग लिक्विडेशन की दीवार और ऊपर लगभग कुछ भी नहीं वाला बाजार कहानी की परवाह किए बिना संरचनात्मक रूप से नीचे की ओर नाजुक है — कम प्रतिरोध का रास्ता वही है जिसमें सबसे अधिक ईंधन है। लगातार एकतरफा फंडिंग ही अक्सर यह असममिति बनाती है: जो बाजार शॉर्ट बने रहने के लिए लॉन्ग को भुगतान करता है (गहराई से नकारात्मक फंडिंग), उसमें भीड़भरे शॉर्ट जमा होते हैं, जिनका लिक्विडेशन क्लस्टर फिर स्क्वीज ईंधन के रूप में कीमत के ऊपर बैठता है, और उलटा भी। फंडिंग टेप और लिक्विडेशन नक्शा एक ही लीवरेज के दो दृश्य हैं।

डेटा पाइपलाइन

यह सिस्टम विपरीत स्वभाव वाले दो फीड का मेल है: एक भविष्य-दर्शी ऑन-चेन पोजीशन इंडेक्स (जहां मजबूर फ्लो पात्र बनेगा) और एक वास्तविक CEX लिक्विडेशन स्ट्रीम (जहां मजबूर फ्लो अभी प्रिंट हो रहा है)। एक बताता है कि ईंधन कहां है; दूसरा बताता है कि उसमें आग लग चुकी है।

फॉरवर्ड नक्शा — ऑन-चेन पोजीशन इंडेक्स। Aave/Compound इवेंट इतिहास (Supply, Borrow, Repay, Withdraw, LiquidationCall) से शुरुआत करें, या तो लॉग दोबारा चलाकर या The Graph पर सबग्राफ क्वेरी करके, और उन्हें हर उपयोगकर्ता के मौजूदा बैलेंस में मिलाएं — यही वह सटीक इंडेक्सिंग सबसिस्टम है जिसे मैकेनिक्स प्राइमर लिक्विडेशन बॉट के लिए बताता है, यहां निष्पादन के बजाय एग्रीगेशन के लिए पुन: उपयोग किया गया है। बैलेंस और मौजूदा जोखिम पैरामीटर से हर पोजीशन का PliqP_{\text{liq}} और QforcedQ_{\text{forced}} निकालें, और डेप्थ-चार्ट हिस्टोग्राम में बकेट करें। नए ब्लॉक पर रिफ्रेश करें; बैलेंस लाइव होने के बाद हिस्टोग्राम को क्रमिक रूप से बनाए रखना सस्ता है।

वास्तविक टेप — Binance forceOrder स्ट्रीम। Binance Futures वास्तविक लिक्विडेशन को वेब-सॉकेट पर प्रकाशित करता है, wss://fstream.binance.com/ws/!forceOrder@arr (सभी-सिंबल एरे) या <symbol>@forceOrder, और हर इवेंट में लिक्विडेशन ऑर्डर का साइड, कीमत और मात्रा होती है। एक दर्ज की गई अड़चन, और यही वह तरह की अपूर्णता है जिसके बारे में ईमानदार होना चाहिए: सार्वजनिक स्ट्रीम प्रति सिंबल प्रति सेकंड अधिकतम एक लिक्विडेशन इवेंट तक सीमित है — हिंसक कैस्केड के दौरान, जब लिक्विडेशन 1/s से कहीं तेज आते हैं, स्ट्रीम हर फिल की रिपोर्ट करने के बजाय सैंपल लेती है, इसलिए इससे बनाया गया एग्रीगेट लिक्विडेशन वॉल्यूम व्यवस्थित रूप से कम गिना जाता है, ठीक तब जब वह सबसे अधिक मायने रखता है। स्ट्रीम का उपयोग कैस्केड के समय और दिशा के लिए करें (क्या यह चल रहा है, कौन-सी दिशा, तेज हो रहा है या पतला), सटीक वॉल्यूम लेजर के रूप में नहीं।

दो async प्रोड्यूसर एक ही सामान्यीकृत बस में लिखते हैं — इसका न्यूनतम इनजेशन कंकाल:

import asyncio, json, websockets

async def binance_liquidations(bus):
    url = "wss://fstream.binance.com/ws/!forceOrder@arr"
    async with websockets.connect(url) as ws:
        async for msg in ws:
            o = json.loads(msg)["o"]              # order payload
            await bus.put({
                "src": "binance", "kind": "realized",
                "symbol": o["s"],
                "side": o["S"],                   # SELL = long liquidation
                "price": float(o["p"]),
                "qty": float(o["q"]),             # NB: stream is sampled at 1/s
            })

async def onchain_positions(bus, subgraph, poll=12):
    while True:
        positions = subgraph.fetch_open_positions()   # balances + risk params
        chart = {}
        for pos in positions:
            p_liq = pos.debt / (pos.collateral * pos.liq_threshold)
            q = pos.close_factor * pos.debt * (1 + pos.liq_bonus)
            chart[round(p_liq, 2)] = chart.get(round(p_liq, 2), 0.0) + q
        await bus.put({"src": "aave", "kind": "forward", "chart": chart})
        await asyncio.sleep(poll)                       # ~1 block cadence

async def main(subgraph):
    bus = asyncio.Queue()
    await asyncio.gather(
        binance_liquidations(bus),
        onchain_positions(bus, subgraph),
        consumer(bus),        # reconcile forward map vs realized tape, emit signals
    )

consumer में रणनीति रहती है: फॉरवर्ड नक्शा (ऑन-चेन चार्ट और अनुमानित CEX हीटमैप) रखें, लाइव ऑर्डर-बुक डेप्थ के सामने स्थानीय कैस्केड मल्टीप्लायर g=ρ/Δg = \rho/\Delta का अनुमान लगाएं, और वास्तविक forceOrder टेप पर इग्निशन तथा — ट्रेड करने योग्य हिस्सा — exhaustion का पता लगाएं। जब टेप में उछाल आए और फिर वह पतला हो जाए, जबकि कीमत उस क्लस्टर के नीचे बैठी हो जिसे नक्शे ने मौजूद बताया था, तो आपके पास मजबूर विक्रेता के चले जाने के साथ एक गैर-सूचनात्मक ओवरशूट है: रिवर्सल सेटअप। जब टेप तेज हो रहा हो और आगे g1g \ge 1 हो, तो आपके सामने खड़े रहने के बजाय सुपरक्रिटिकल कैस्केड से दूर रहें। वही नक्शा, विपरीत कार्रवाइयां, और टेप ही वास्तविक समय में दोनों को अलग करता है।

मुख्य निष्कर्ष

लिक्विडेशन बाजारों की सामान्य सूचना-असममिति को उलट देते हैं: फ्लो के प्रिंट होने तक छिपे रहने के बजाय, मजबूर बिक्री की कीमत और आकार पहले से निकाला जा सकता है — ऑन-चेन सटीक रूप से, CEX परपेचुअल्स पर लगभग। नक्शा बनाएं (ऑन-चेन डेप्थ चार्ट रूटिंग और ऑरेकल लैग तक सटीक है; CEX हीटमैप अज्ञात लीवरेज वितरण पर आधारित पूर्वानुमान है और क्रॉस-मार्जिन से अनजान है), और नक्शे की नाजुकता एक अनुपात में सिमट जाती है: कैस्केड मल्टीप्लायर g=ρ/Δg = \rho/\Delta, यानी बुक डेप्थ पर मजबूर-बिक्री घनत्व, एक reproduction number जो 1 से नीचे सबक्रिटिकल और उसके ऊपर बेकाबू है। सिग्नल चरण के अनुसार अलग होता है — पहले क्लस्टर चुंबक हैं, बाद में रिवर्सल जोन — और रिवर्सल बढ़त केवल इसलिए मौजूद है क्योंकि मजबूर फ्लो गैर-सूचनात्मक और इसलिए क्षणिक है, एक दर्ज प्रवृत्ति जो कैस्केड के वास्तविक खबर के साथ मिलते ही गायब हो जाती है। गिरावट नहीं, exhaustion ट्रेड करें; gg का सम्मान करें; और धुंधले हीटमैप को कभी भी उन शवों की लेजर-जैसी सूची न समझें जो जमीन के नीचे दफन हैं।

संदर्भ

  • Qin, Zhou, Gamito, Jovanovic, Gervais (2021), An Empirical Study of DeFi Liquidations: Incentives, Risks, and Instabilities. arXiv:2106.06389.
  • Kyle, A. S. (1985), Continuous Auctions and Insider Trading. Econometrica 53(6) — कैस्केड मॉडल में प्रयुक्त रैखिक कीमत-प्रभाव गुणांक λ\lambda
  • Cont, R., & Wagalath, L. (2016), Fire Sales Forensics: Measuring Endogenous Risk. Mathematical Finance 26(4) — मजबूर लिक्विडेशन का कीमत-प्रभाव और अंतर्जात सहसंबंध।
  • Bacry, E., Mastromatteo, I., Muzy, J.-F. (2015), Hawkes Processes in Finance. Market Microstructure and Liquidity 1(1) — ऑर्डर और लिक्विडेशन फ्लो का self-exciting क्लस्टरिंग।
  • Binance Futures API documentation — लिक्विडेशन ऑर्डर स्ट्रीम (!forceOrder@arr, <symbol>@forceOrder), जिसमें प्रति सिंबल प्रति सेकंड 1-इवेंट थ्रॉटलिंग नोट शामिल है।
  • The Graph पर Aave v3 और Compound III सबग्राफ; Aave getUserAccountData और रिजर्व जोखिम पैरामीटर।
blog.disclaimer

Authors

Eugen Soloviov
Eugen Soloviov

Trading-systems engineer

Trading-systems engineer building bots since 2017: cross-exchange arbitrage (connected up to 30 venues), cointegration-based pairs arbitrage across spot and futures, scalping, news and sentiment-driven strategies, trend algorithms, and portfolio management and balancing algorithms. Also builds sub-millisecond order execution, big-data warehouses, backtesting engines, AI agents, and trading interfaces (incl. open-source profitmaker.cc). Stack: JS/TS, Python, Rust/Zig/Go, DevOps, backend, frontend, architecture.

Newsletter

बाज़ार से आगे रहें

AI ट्रेडिंग इनसाइट्स, मार्केट एनालिसिस और प्लेटफ़ॉर्म अपडेट के लिए हमारे न्यूज़लेटर को सब्सक्राइब करें।

हम आपकी गोपनीयता का सम्मान करते हैं। किसी भी समय अनसब्सक्राइब करें।