← Макалаларга кайтуу
July 29, 2026
5 мүн окуу

Ликвидация каскаддары соода сигналы катары: мажбурланган, алдын ала жарыяланган агымды окуу

Ликвидация каскаддары соода сигналы катары: мажбурланган, алдын ала жарыяланган агымды окуу
#ликвидациялар
#каскад
#соода сигналы
#defi
#перпетуалдар
#ордер китеби
#рынок микроструктурасы
#крипто

Рыноктогу агымдын көбү тасмага түшмөйүнчө жашыруун бойдон калат. Эркин сатуучу өзү каалаган учурда сатат; анын ниетин кийин гана тасмадан билесиз. Левередждүү ликвидациялар — өзгөчө учур, ал эми бул өзгөчө учур абдан чоң. Ликвидация мажбурланган — позициянын ээси анын болобу-жокпу экенин чече албайт — жана алдын ала жарыяланган — анын ишке кирүүчү так баасы ончейн толук ачык, офчейн болсо статистикалык бааланчу параметрлердин детерминисттик функциясы. Ар бир левередждүү лонг аны эсептөөгө кызыккан ар кимге өзү көрсөтүп турган баада турган рыноктук-сатуу буйругуна окшош.

Бул нерсенин маанисин толугу менен өзгөртөт. 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 — карыздын наркы. Муну кайра чыгарбайбыз; тескерисинче, тескери чечебиз. Кеңири тараган учурду — туруктуу карызды DD (USDC) каржылаган жалгыз өзгөрмөлүү күрөө CC (мисалы, WETH) — алалы. 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 позициялары ончейнде болуп, оракулдан алынган бааларда keeperлер аркылуу ликвидацияланат. Практикалык жыйынтык: перп 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). m=0.5%m = 0.5\% менен E=$3,000E = \char36 3{,}000 кирүүнү бекитип, левередж баскычтарын карайлы:

Левередж 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көбөйүү саны, ликвидация эпидемиясынын R0R_0 көрсөткүчү. Ал каскад баа тилкесинде топтолгон мажбурланган сатуу ликвиддүүлүгү аны сиңире алган китеп ликвиддүүлүгүнөн ашканда гана качып кетерин айтат. Ошондуктан жука китептеги тыгыз кластерге тийген кичине шок бош баа мейкиндигиндеги чоң шоктон кыйла кооптуу: коркунуч шоктун өлчөмү эмес, ρ/Δ\rho / \Delta. Окуялар ошол эле түрдөгү көбүрөөк окуяларды жарата турган бул өзүн-өзү күчөтүүчү түзүлүш Hawkes процесстери менен ордер агымын моделдөөгө түрткү берет; ликвидациялардын бир калыпта эмес, кластер болуп келишинин себеби да ушул.

Каскад чынжыры: мажбурланган сатуу баага таасир берип, кийинки позициялар кластерин маржадан төмөн түшүрөт; ал көбөйүү санынын g бирге барабар босогосу белгиленген төмөндөгөн тепкич катары тартылган

Сандар менен көрсөтөлү. Китепте $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 формалдаштырган эндогендик тобокелдик механизми; кыйналган ликвидация өзүнүн корреляциясын жана таасирин өзү жаратат.

Сигналдар: кластерлер магнит жана кайтуу зоналары катары

Мажбурланган агымдын картасы каскадга карата убакытка жараша бири-бирине дээрлик карама-каршы эки соода окуусун берет.

Алдын ала: кластерлер — баа магниттери. Тыгыз ликвидация кластери — баага сезимсиз, кепилденген агымдын бассейни. Бул эки түрдөгү катышуучуга жагат: мажбурланган контрагенттерге каршы чоң көлөм толтургусу келген ликвиддүүлүк издеген трейдерлерге жана агымды атайын иштетүү үчүн бааны кластерге түрткөн жырткыч трейдерлерге (протокол масштабындагы стоп-аңчылык). Натыйжада баа чоң кластерлерге жакындоого умтулат — деңгээл магниттей иштейт — анткени аралыкты жабууга туруктуу түрткү бар. Аз ишенимде споттун жарык тилкеге карай жылышын көрсөңүз, тилкенин өзү түшүндүрмөнүн бир бөлүгү. Баа жакындаганда китептин дубалы агымды сиңиреби же бүктөлөбү деген суроону алдын ала айтуу DeepLOB сыяктуу моделдер чечкен кыска мөөнөттүү ордер китеби божомолунун өзөгү.

Кийин: кластерлер — кайтуу зоналары. Бул баалуураак жана ашыкча колдонулган окуу, ошондуктан этият айтуу керек. Мажбурланган ликвидация агымы өз табияты боюнча маалыматсыз — сатуучу баа өтө жогору деп эсептегендиктен сатпайт; маржа кыймылдаткычы айткандыктан сатат. Маалыматсыз агым бааны убактылуу жылдырат. Топтолгон позициялар түгөнгөндө механикалык сатуу капыстан токтойт; эгер каскад төмөндө баратып адилет баадан ашып кетсе, баа кайра тартылат — бул "ликвидация көлөкөсү". Механизм уламыш эмес: мажбурланган, маалыматсыз сатуунун баага таасири агым токтогондо кайра кайткан убактылуу бөлүккө ээ; ошол эле fire-sale логикасы кыйналган акция сатуусунда убактылуу ажырым жана кийинки жарым-жартылай кайтүүнү жаратат.

Ликвидация кластерлери адегенде спотту деңгээлге тарткан баа магнити, кийин каскад ашып кеткенде жана мажбурланган агым түгөнгөндө көлөкө кайта турган кайтуу зонасы катары иштейт

Бул талап кылган тартипти мүмкүн болушунча түз айтабыз:

  • Каскаддан кийинки орточого кайтуу — документтештирилген тенденция, мыйзам да, туруктуу сан да эмес. Ал агым чындап маалыматсыз болгонго жана каскад учурунда жаңы маалымат келбегенге шартталган. Чыныгы жаңылыкка рынок кайра баа берген ликвидация каскады (депег, чабуул, макрошок) кайрылбайт — мажбурланган жана маалыматтык агым үстү-үстүнө түшөт, алардын биринчиси гана убактылуу. Универсалдуу "көлөкөнү сатып ал" артыкчылыгы жок; тандалмасы, биржасы жана режими айтылбаган конкреттүү кайтуу пайызын маркетинг катары көрүңүз.
  • Сигнал — түшүү эмес, түгөнүү. Соодага жарактуу учур — ишке ашкан ликвидация басылмалары суюлганда, башкача айтканда forceOrder тасмасы жарылуудан кийин тынганда; дал ошол учурда механикалык сатуучу жок болот. Суперкритикалык каскаддын (g1g \ge 1) ортосуна кирүү — мурунку бөлүк эскерткен кайтарым байланыш айлампасынын алдына чыгуу.
  • Эки окууга тең бир карта керек. Магнит менен кайтуу — ар башка фазада көрүнгөн ошол эле кластерлер; тереңдик графигин жана жылуулук картасын түзүп, аларды ишке ашкан басылмалар менен тынымсыз салыштырмайынча экөөнү тең соодалай албайсыз.

Эки тараптуу картанын асимметриясында жайыраак багыттык окуу да бар. Лонг ликвидациясынын отуну споттун астында, шорттуку үстүндө; бир тарап экинчисинен кыйла оор жүктөлгөндө рынок оор тарапка механикалык ык алат, анткени шок өзүн-өзү көбүрөөк күчөткөн агымды ошол жерден табат. 3% төмөндө лонг ликвидацияларынын дубалы, үстүндө дээрлик эч нерсеси жок рынок баяндоого карабай төмөн карай түзүмдүк жактан морт — эң аз каршылык жолу эң көп отуну бар жол. Туруктуу, бир тараптуу каржылоо бул асимметрияны адатта биринчи түзөт: лонгдорго шорт болуу үчүн акы төлөгөн рынок (терең терс каржылоо) топтолгон шортторду пайда кылат, алардын ликвидация кластери кийин баадан жогору сүзүү отуну болуп калат жана тескерисинче. Каржылоо тасмасы менен ликвидация картасы — бир эле левередждин эки көрүнүшү.

Маалымат конвейери

Система мүнөзү карама-каршы эки агымдын биригишинен турат: келечекке караган ончейн позиция индекси (мажбурланган агым кайда жеткиликтүү болот) жана ишке ашкан CEX ликвидация агымы (мажбурланган агым азыр кайда басылып жатат). Бирөө отун кайда экенин, экинчиси анын тутанганын айтат.

Алдын ала карта — ончейн позиция индекси. Aave/Compound окуя тарыхынан (Supply, Borrow, Repay, Withdraw, LiquidationCall) баштаңыз: логдорду кайра ойнотуп же The Graph'тагы субграфты сурап, аларды колдонуучунун учурдагы баланстарына бириктириңиз — механика боюнча киришүүдө ликвидация боттору үчүн сүрөттөлгөн так индекстөө подсистемасы, бул жерде аткаруунун ордуна агрегаттоо үчүн кайра колдонулат. Баланстардан жана учурдагы тобокелдик параметрлеринен ар бир позициянын PliqP_{\text{liq}} жана QforcedQ_{\text{forced}} маанилерин эсептеп, тереңдик графигинин гистограммасына бөлүңүз. Жаңы блоктордо жаңыртыңыз; баланстар даяр болгондон кийин гистограмманы кошумча түрдө кармоо арзан.

Ишке ашкан тасма — Binance forceOrder агымы. Binance Futures чыныгы ликвидацияларды websocket аркылуу, wss://fstream.binance.com/ws/!forceOrder@arr (бардык символдор массиви) же <symbol>@forceOrder даректеринде жарыялайт; ар бир окуяда ликвидация буйругунун тарабы, баасы жана саны бар. Бир документтештирилген тузак — так ушул чынчыл болууга тийиш болгон так эместик: ачык агым ар бир символ үчүн секундасына эң көп дегенде бир ликвидация окуясына чектелген — катуу каскадда ликвидациялар 1/секунддан кыйла тез келгенде, агым ар бир толтурууну билдирбей, үлгү алат, ошондуктан андан калыбына келтирилген жыйынды көлөм дал эң маанилүү учурда системалуу түрдө кем эсептелет. Агымды каскаддын убактысы жана багыты үчүн (тутандыбы, кайсы тарап, ылдамдап жатабы же суюлуп жатабы), так көлөм журналы катары эмес, колдонуңуз.

Эки асинхрондуу өндүрүүчү бир нормалдаштырылган автобуска жазган минималдуу кабыл алуу скелети:

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 тасмасын байкаңыз. Тасма жарылып, карта көрсөткөн кластердин астында баа турганда суюлса, мажбурланган сатуучу кеткен маалыматсыз ашып кетүү бар: кайтуу түзүлүшү. Тасма ылдамдап, алдыда g1g \ge 1 болсо, бул четте туруш керек болгон суперкритикалык каскад. Ошол эле карта, карама-каршы аракеттер; аларды реалдуу убакытта айырмалаган нерсе — тасма.

Негизги жыйынтык

Ликвидациялар рыноктордогу кадимки маалымат асимметриясын тескери бурат: агым басылганга чейин жашырын болбостон, мажбурланган сатуунун баасы менен өлчөмүн алдын ала эсептөөгө болот — ончейнде так, CEX перптеринде болжолдуу. Картаны түзүңүз (ончейн тереңдик графиги багыттоо жана оракул кечигүүсүн эске алганда так; CEX жылуулук картасы белгисиз левередж бөлүштүрүлүшүнө шартталган жана кайчылаш маржага сокур), ошондо картанын морттугу бир катышка — каскад көбөйткүчү g=ρ/Δg = \rho/\Delta, китеп тереңдигине бөлүнгөн мажбурланган сатуу тыгыздыгына — түшөт; бул көбөйүү саны 1ден төмөндө субкритикалык, андан жогору качма. Сигнал фазага бөлүнөт — кластерлер алдын ала магнит, кийин кайтуу зоналары — ал эми кайтуу артыкчылыгы мажбурланган агым маалыматсыз жана демек убактылуу болгону үчүн гана бар; каскад чыныгы жаңылыкка туш келгенде бул документтештирилген тенденция заматта жоголот. Түшүүнү эмес, түгөнүүнү соодалаңыз; 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) — ордер жана ликвидация агымындагы өзүн-өзү күчөтүүчү топтолуу.
  • Binance Futures API documentation — Liquidation Order Streams (!forceOrder@arr, <symbol>@forceOrder), including the 1-event-per-second-per-symbol throttling note.
  • Aave v3 and Compound III subgraphs on The Graph; Aave getUserAccountData and reserve risk parameters.
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 соода аналитикасы, рынок талдоолору жана платформа жаңылыктары үчүн биздин жаңылыктар бюллетенине жазылыңыз.

Биз сиздин купуялыгыңызды урматтайбыз. Каалаган убакта жазылымдан чыга аласыз.