← Kembali ke artikel
July 29, 2026
5 menit baca

Kaskade likuidasi sebagai sinyal trading: membaca arus terpaksa yang telah diumumkan sebelumnya

Kaskade likuidasi sebagai sinyal trading: membaca arus terpaksa yang telah diumumkan sebelumnya
#likuidasi
#kaskade
#sinyal trading
#DeFi
#perpetual
#order book
#mikrostruktur pasar
#kripto

Sebagian besar arus pasar tetap rahasia sampai tercetak. Penjual diskresioner memutuskan untuk menjual ketika mereka memutuskan demikian; Anda mempelajari niat mereka dari tape, setelah kejadian. Likuidasi posisi berleverage adalah pengecualian, dan pengecualian ini sangat besar. Likuidasi bersifat terpaksa — pemegang posisi tidak punya kendali apakah likuidasi itu terjadi — dan telah diumumkan sebelumnya — harga persis saat likuidasi terpicu merupakan fungsi deterministik dari parameter yang, di on-chain, sepenuhnya publik dan, di off-chain, dapat diestimasi secara statistik. Setiap posisi long berleverage adalah order jual pasar yang sudah menunggu pada harga yang disiarkannya kepada siapa pun yang mau menghitungnya.

Hal itu mengubah cara pandang terhadap semuanya. Artikel pendamping tentang mekanisme likuidasi Aave dan Compound membahas likuidasi dari sisi likuidator — perlombaan infrastruktur untuk menjadi pihak yang melunasi utang bermasalah dan mengumpulkan bonus. Artikel ini mengambil sisi trader dari objek yang sama: bukan "bagaimana saya memenangkan likuidasi", melainkan "agregat harga likuidasi semua orang lain adalah peta arus terpaksa di masa depan, dan saya bisa trading berdasarkan peta itu." Kita membangun dua versi peta — versi eksak di on-chain, versi kabur pada perp CEX — mengukur kapan rangkaian likuidasi menjadi penguat diri, dan menjelaskan dengan hati-hati apa dampak arus yang dihasilkan terhadap harga.

Grafik kedalaman likuidasi on-chain

Di pasar uang, harga likuidasi sebuah posisi bukanlah perkiraan. Harga itu diturunkan. Ingat kembali health factor dari primer mekanisme: sebuah posisi dapat dilikuidasi ketika

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

dengan CiC_i adalah jumlah kolateral, PiP_i harga oracle-nya, LTiLT_i ambang likuidasi, dan DjPjD_j P_j nilai utangnya. Kita tidak akan menurunkan rumus ini lagi; kita akan membalikkannya. Ambil kasus umum — satu kolateral volatil CC (misalnya WETH) yang membiayai utang stabil DD (USDC). Dengan menetapkan HF=1HF = 1 dan menyelesaikannya untuk harga kolateral, kita mendapatkan harga pemicu posisi tersebut:

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

Angka tunggal itu adalah hal yang telah diumumkan borrower. Artinya: jika WETH menyentuh PliqP_{\text{liq}} pada oracle, posisi ini menjadi pasokan terpaksa. Ukuran pasokan itu juga dapat diketahui — pada harga pemicu, likuidator melunasi closeFactor×D\text{closeFactor} \times D utang dan menyita kolateral senilai repay×(1+bonus)\text{repay} \times (1 + \text{bonus}), sehingga kira-kira

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

nilai kolateral masuk ke pasar (atau dilindungnilaikan) ketika posisi terpicu.

Ambil posisi konkret dari primer mekanisme: 10 WETH disetorkan pada harga $3,000, 20,000 USDC dipinjam, ambang likuidasi LT=0.83LT = 0.83, bonus 5%. Pemicunya adalah Pliq=20,000/(10×0.83)=$2,410P_{\text{liq}} = 20{,}000 / (10 \times 0.83) = \char36 2{,}410, dan dengan close factor 50%, posisi itu menempatkan pasokan WETH terpaksa senilai 0.5×20,000×1.05=$10,5000.5 \times 20{,}000 \times 1.05 = \char36 10{,}500 pada harga tersebut. Satu borrower, satu batang pada grafik. Lakukan ini untuk setiap borrower dalam protokol, kelompokkan hasilnya berdasarkan PliqP_{\text{liq}}, dan Anda mendapatkan histogram: notional jual terpaksa sebagai fungsi harga. Itulah grafik kedalaman likuidasi on-chain — kerabat native-DEX dari order book, hanya saja "order"-nya tidak sukarela dan harganya dihitung, bukan dikutip.

Grafik kedalaman likuidasi on-chain: agregat kolateral Aave dan Compound yang dikelompokkan berdasarkan harga likuidasi ke dalam histogram tekanan jual terpaksa yang menumpuk di bawah harga spot

Tiga catatan kejujuran mencegah ini berubah menjadi fantasi:

  1. Posisi multi-aset tidak memiliki satu harga pemicu. Posisi dengan dua kolateral volatil dan dua utang dilikuidasi pada permukaan dalam ruang harga, bukan pada satu titik. Penyederhanaan praktisnya adalah menghitung pemicu sepanjang sumbu kolateral volatil yang dominan sambil menahan setiap harga oracle lain pada nilai saat ini. Itu benar untuk pergerakan satu aset dan salah untuk pergerakan sekeranjang aset yang berkorelasi — hal ini penting, karena crash yang berkorelasi justru merupakan saat ketika banyak pemicu bergerak bersama. Perlakukan PliqP_{\text{liq}} aset tunggal sebagai marginal orde pertama, bukan jaminan.
  2. Jual terpaksa \neq dump pasar di satu venue. Likuidator yang kompeten tidak membabi buta menjual kolateral yang disita di pasar ke pool yang paling tipis; mereka merutekannya melalui DEX dan CEX, dan sering kali menyimpan kolateral tersebut lalu melakukan delta-hedge pada perp alih-alih segera merealisasikan kolateral (masalah exit-swap yang dibahas panjang dalam primer mekanisme). Jadi QforcedQ_{\text{forced}} adalah batas atas arus yang berdampak pada harga, bukan estimasi titik. Sebagian arus itu mengalir ke hedge yang tidak pernah menyentuh spot.
  3. Pemicu bergerak mengikuti oracle, bukan pasar. Pada Aave dan Compound, posisi menjadi dapat dilikuidasi ketika oracle melewati PliqP_{\text{liq}}, dan oracle diperbarui berdasarkan jadwal deviasi-dan-heartbeat yang tertinggal dari pasar. Karena itu, grafik kedalaman adalah peta tempat arus terpaksa menjadi memenuhi syarat, yang masih menunggu transmisi oracle berikutnya — sebuah detail halus yang dibahas primer secara terperinci.

Sumber ketiga berada di antara grafik pasar uang dan heatmap CEX: perp DEX. Hyperliquid, GMX, dan dYdX v4 menjalankan perpetual berleverage seperti bursa tersentralisasi, tetapi mempertahankan status posisi secara on-chain atau dalam clearinghouse yang dapat ditanyakan. Artinya, harga likuidasi mereka mengikuti rumus isolated margin yang sama seperti perp CEX — tetapi dihitung dari posisi aktual (ukuran, kolateral, entry), bukan diperkirakan dari OI agregat. Status clearinghouse Hyperliquid mengekspos margin dan mark price setiap akun; posisi GMX berada on-chain dan dilikuidasi pada harga yang diturunkan dari oracle melalui keeper. Konsekuensi praktisnya: untuk perp DEX, Anda dapat membangun peta likuidasi dengan leverage ala CEX tetapi presisi ala on-chain, jauh lebih dekat dengan keakuratan grafik Aave daripada perkiraan heatmap. Jika sebuah venue menerbitkan posisi, Anda tidak perlu menebak.

Bahkan dengan berbagai catatan tersebut, grafik on-chain adalah peta arus terpaksa paling bersih yang ada di pasar mana pun: tidak ada asumsi tentang distribusi leverage, tidak ada ukuran tersembunyi, dan setiap input dapat dibaca dari state.

Heatmap likuidasi CEX

Bursa perpetual tersentralisasi memberi Anda situasi yang berlawanan — open interest yang jauh lebih besar, dan hampir tidak ada detail tingkat posisi yang membuat grafik on-chain menjadi eksak. Anda tidak dapat membaca posisi individu. Yang dapat Anda baca adalah open interest agregat dan volume yang diperdagangkan. Heatmap likuidasi adalah hasil ketika Anda mencoba merekonstruksi grafik kedalaman dari agregat tersebut ditambah asumsi, dan asumsi-asumsi itu menjadi penopang utama.

Perhitungan per posisi itu sederhana. Untuk posisi long linear dengan isolated margin (diselesaikan dalam USDT) yang dibuka pada harga EE dengan leverage LL dan tingkat maintenance margin mm, likuidasi terpicu ketika ekuitas turun hingga persyaratan pemeliharaan:

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)

dan secara simetris Pliqshort=E(1+1Lm)P_{\text{liq}}^{\text{short}} = E\left(1 + \frac{1}{L} - m\right). Tetapkan entry E=$3,000E = \char36 3{,}000 dengan m=0.5%m = 0.5\% dan telusuri tingkat leverage:

Leverage PliqlongP_{\text{liq}}^{\text{long}} Jarak di bawah entry
$2,415 −19.5%
10× $2,715 −9.5%
25× $2,895 −3.5%
50× $2,955 −1.5%
100× $2,985 −0.5%

Bentuk kolom itu menjelaskan seluruh alasan heatmap menyala tepat di bawah harga terbaru: posisi berleverage tinggi dilikuidasi sangat dekat dengan entry, sehingga di mana pun volume baru-baru ini diperdagangkan, pita padat pemicu 50–100× berada sepersekian persen jauhnya. Pembuat heatmap melanjutkan dengan cara berikut: perlakukan volume perdagangan terbaru sebagai proksi lokasi posisi dibuka (entry EE), sebarkan volume itu ke sekumpulan tingkat leverage yang diasumsikan — 5×, 10×, 25×, 50×, 100× dengan bobot tertentu yang juga diasumsikan — proyeksikan setiap bagian ke PliqP_{\text{liq}}-nya, lalu beri warna pada sumbu harga berdasarkan estimasi notional berleverage yang dilikuidasi di sana. Pita terang adalah zona likuidasi yang diperkirakan padat.

Heatmap likuidasi CEX: estimasi notional berleverage yang diproyeksikan ke harga likuidasi pada berbagai tingkat leverage, digambarkan sebagai pita intensitas horizontal di atas dan di bawah harga saat ini

Jelaskan secara eksplisit mengapa ini adalah gambaran kabur, bukan kembaran grafik on-chain:

  • Distribusi leverage tidak diketahui. Seluruh heatmap merupakan konvolusi volume dengan histogram leverage yang diasumsikan. Asumsi yang berbeda memindahkan pita terang. Dua vendor data bereputasi dapat menerbitkan heatmap yang terlihat berbeda untuk pasar yang sama pada hari yang sama, dan keduanya "benar" berdasarkan prior mereka masing-masing.
  • Cross-margin merusak rumus per posisi. PliqP_{\text{liq}} di atas adalah hasil isolated margin. Posisi cross-margin dilikuidasi berdasarkan ekuitas seluruh akun, sehingga pemicu efektifnya bergantung pada posisi trader yang lain, PnL terealisasi-belumnya, dan kolateral tambahan yang mungkin mereka setorkan selama pergerakan — tidak satu pun dapat diamati. Ukuran cross-margin pada dasarnya tidak terlihat oleh estimator.
  • Ukuran tersembunyi dan dinamis. Open interest adalah agregat neto-plus-bruto; ia tidak memberi tahu Anda pemetaan dari OI ke entry individu. Trader terus menambah, mengurangi, dan melakukan hedge. Maintenance margin bertingkat (mm naik seiring notional posisi) menggeser pemicu posisi besar relatif terhadap posisi kecil pada leverage yang sama.
  • Likuidasi dilakukan dalam beberapa bagian, bukan seketika. Bursa melikuidasi posisi besar secara bertahap dan menyalurkan risiko tersisa melalui dana asuransi dan auto-deleveraging, sehingga cluster yang lokasinya benar pun tidak membuang semuanya dalam satu cetakan transaksi.

Cara yang benar untuk menggunakan heatmap adalah sebagai prior tentang tempat arus terpaksa kemungkinan besar terkonsentrasi, untuk dikonfirmasi atau disangkal oleh cetakan likuidasi aktual (stream forceOrder pada bagian pipeline di bawah), bukan sebagai buku besar. Heatmap ini benar-benar berguna dan benar-benar tidak presisi, dan berpura-pura sebaliknya adalah cara orang tertabrak oleh cluster yang sedang mereka amati. Untuk memahami mengapa leverage begitu banyak menumpuk di perp — dan mengapa biaya funding terus mendorong posisi-posisi itu mendekati pemicunya — lihat arbitrase funding rate lintas bursa.

Dinamika kaskade, dikuantifikasi

Satu likuidasi adalah sebuah titik data. Kaskade adalah loop umpan baliknya, dan loop itu memiliki ambang yang dapat dituliskan. Loop-nya mekanis: penjualan terpaksa menghantam order book → dampak harga menggerakkan pasar → pergerakan itu mendorong tingkat posisi berikutnya melewati pemicunya → posisi-posisi tersebut dilikuidasi → lebih banyak penjualan terpaksa → ulangi. Apakah loop ini padam atau tak terkendali bukan masalah sentimen; itu adalah rasio dari dua kuantitas yang sudah Anda bangun.

Bekerjalah dalam penurunan harga fraksional r=ΔP/Pr = -\Delta P / P. Ada dua komponen:

  • Densitas likuidasi ρ\rho — notional jual terpaksa per unit penurunan harga fraksional, dibaca langsung dari grafik kedalaman / heatmap: ρ=dQ/dr\rho = -\,dQ / dr. Ini mengukur seberapa banyak bahan bakar yang menumpuk dalam sebuah pita harga.
  • Kedalaman pasar Δ\Delta — notional penjualan pasar yang diperlukan untuk menggerakkan harga sebesar satu unit rr. Dalam model dampak linear (Kyle), notional jual QQ menggerakkan harga sebesar r=Q/Δr = Q / \Delta. Ini adalah kapasitas order book untuk menyerap arus terpaksa, dan persis merupakan kuantitas yang dibahas dalam analisis dinding order book dan posisi dalam antrean — sebuah "dinding" adalah lonjakan lokal pada Δ\Delta.

Sekarang lakukan iterasi. Guncangan eksogen menurunkan harga sebesar r0r_0, memicu Q0=ρr0Q_0 = \rho \, r_0 penjualan terpaksa. Penjualan itu menyebabkan penurunan tambahan r1=Q0/Δ=(ρ/Δ)r0r_1 = Q_0 / \Delta = (\rho/\Delta)\, r_0. Definisikan pengganda kaskade

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

dan rekurensinya sederhana: rn+1=grnr_{n+1} = g \, r_n. Total penurunan adalah deret geometri:

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)

Semuanya bergantung pada nilai gg:

  • g<1g < 1subkritis. Setiap putaran likuidasi memicu lebih sedikit penjualan daripada putaran sebelumnya. Kaskade padam dengan sendirinya; total pergerakannya merupakan kelipatan terbatas 1/(1g)1/(1-g) dari guncangan awal. Sebagian besar peristiwa likuidasi berada di sini.
  • g1g \ge 1superkritis. Setiap putaran memicu penjualan setidaknya sebanyak putaran sebelumnya. Deret geometri menyimpang; pergerakan hanya dibatasi oleh habisnya posisi yang dapat dilikuidasi, pendalaman order book pada harga yang lebih rendah, atau pemutus sirkuit bursa. Inilah rezim "flash crash / long squeeze".

gg adalah bilangan reproduksiR0R_0 dari epidemi likuidasi. Bilangan ini mengatakan bahwa kaskade menjadi tak terkendali tepat ketika likuiditas jual terpaksa yang terkumpul dalam sebuah pita harga melebihi likuiditas order book yang tersedia untuk menyerapnya di sana. Itulah sebabnya guncangan moderat menuju cluster padat di order book tipis jauh lebih berbahaya daripada guncangan besar menuju ruang harga kosong: bahayanya adalah ρ/Δ\rho / \Delta, bukan ukuran guncangannya. Struktur yang membangkitkan dirinya sendiri ini — peristiwa memicu lebih banyak peristiwa sejenis — adalah struktur yang sama yang mendorong pemodelan arus order dengan proses Hawkes, dan itulah sebabnya likuidasi datang dalam cluster, bukan secara merata.

Rangkaian kaskade: penjualan terpaksa menciptakan dampak harga yang mendorong cluster posisi berikutnya berada di bawah air, digambarkan sebagai tangga menurun dengan anotasi ambang bilangan reproduksi g sama dengan satu

Masukkan angka ke dalamnya. Misalkan order book sedemikian rupa sehingga penjualan pasar senilai $10M menggerakkan ETH sebesar 1%, sehingga Δ=10M/0.01=$1B\Delta = 10\text{M} / 0.01 = \char36 1\text{B} notional per unit harga fraksional. Sekarang bandingkan dua rezim untuk pita selebar 1% tepat di bawah spot:

  • Pita padat, notional jual terpaksa bercluster sebesar $30M. Maka ρ=30M/0.01=$3B\rho = 30\text{M} / 0.01 = \char36 3\text{B} dan g=ρ/Δ=3g = \rho/\Delta = 3. Superkritis: guncangan yang menyentuh bagian atas pita meledakkan seluruh tumpukan, dan batas bawah model ditentukan bukan oleh gg melainkan oleh tempat posisi habis.
  • Pita renggang, notional bercluster sebesar $6M. Maka ρ=$600M\rho = \char36 600\text{M}, g=0.6g = 0.6, dan total pergerakannya adalah r0/(10.6)=2.5r0r_0 / (1 - 0.6) = 2.5\,r_0 — penurunan yang menguat tetapi terbatas. Guncangan yang sama, order book yang sama, cluster lima kali lebih tipis, dan hasilnya berubah dari keruntuhan menjadi wick yang dapat dibeli.

Versi diskretnya adalah simulasi singkat atas cluster yang diurutkan, dan layak ditulis karena membuat ambangnya terasa nyata:

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

Dua catatan praktis. Pertama, gg bersifat lokal — nilainya berubah sepanjang sumbu harga, karena baik ρ\rho (densitas cluster) maupun Δ\Delta (kedalaman order book) berubah. Pertanyaan yang dapat diperdagangkan bukan "apakah pasar rapuh", melainkan "pada harga spesifik mana gg melewati 1." Kedua, mekanisme yang sama berjalan terbalik untuk short saat harga naik (short squeeze adalah kaskade dengan tanda yang dibalik), sehingga peta memiliki dua sisi: bahan bakar likuidasi long di bawah spot, bahan bakar likuidasi short di atasnya. Struktur penjualan terpaksa-menghasilkan-dampak harga-menghasilkan-penjualan terpaksa adalah mekanisme risiko endogen yang diformalkan dalam literatur fire sale (Cont & Wagalath), ketika likuidasi tertekan menciptakan korelasi dan dampaknya sendiri.

Sinyal: cluster sebagai magnet dan zona pembalikan

Peta arus terpaksa menghasilkan dua pembacaan yang berbeda dan hampir berlawanan untuk diperdagangkan, bergantung pada waktu relatif terhadap kaskade.

Sebelum: cluster adalah magnet harga. Cluster likuidasi yang padat adalah kumpulan arus yang terjamin dan tidak peka terhadap harga. Hal itu menarik bagi dua jenis pelaku: trader yang mencari likuiditas dan ingin mengisi ukuran besar melawan pihak lawan yang terpaksa, serta trader predator yang mendorong harga menuju cluster secara khusus untuk memicu arus tersebut (stop-hunt dalam skala protokol). Hasilnya adalah kecenderungan yang telah banyak didokumentasikan bahwa harga tertarik menuju cluster besar — level tersebut bertindak sebagai magnet — karena ada insentif yang terus tersedia untuk menutup jaraknya. Ketika Anda melihat spot bergerak perlahan menuju pita terang dengan keyakinan rendah, pita itu sendiri merupakan bagian dari penjelasannya. Memprediksi reaksi order book saat harga mendekat — apakah dinding akan menyerap arus atau runtuh — persis merupakan jenis masalah prediksi order book jangka pendek yang ditangani model seperti DeepLOB.

Sesudah: cluster adalah zona pembalikan. Ini adalah pembacaan yang lebih bernilai sekaligus lebih sering disalahgunakan, jadi nyatakan dengan hati-hati. Arus likuidasi terpaksa, secara konstruksi, bersifat non-informasional — penjual tidak menjual karena punya pandangan bahwa harga terlalu tinggi; mereka menjual karena mesin margin memerintahkannya. Arus non-informasional menggerakkan harga sementara. Setelah posisi yang bercluster habis, penjualan mekanis berhenti mendadak, dan jika kaskade melampaui nilai wajar saat turun, harga cenderung menelusuri kembali — "wick likuidasi". Mekanismenya bukan cerita rakyat: hasil standar menyatakan bahwa dampak harga dari penjualan paksa yang tidak berinformasi memiliki komponen sementara yang berbalik setelah arus berhenti, logika fire sale yang sama yang menghasilkan dislokasi sementara dan pembalikan sebagian setelahnya dalam literatur penjualan tertekan di pasar saham.

Cluster likuidasi yang mula-mula bertindak sebagai magnet harga yang menarik spot menuju level tersebut, lalu sebagai zona pembalikan ketika kaskade melampaui batas dan wick menelusuri kembali setelah arus terpaksa habis

Disiplin yang dituntut hal ini, dinyatakan setegas mungkin:

  • Mean reversion setelah kaskade adalah kecenderungan yang terdokumentasi, bukan hukum, dan bukan angka. Hal itu bergantung pada arus yang benar-benar non-informasional dan tidak adanya informasi baru selama kaskade. Kaskade likuidasi yang juga merupakan penetapan ulang harga pasar berdasarkan berita nyata (depeg, exploit, guncangan makro) tidak akan berbalik — arus terpaksa dan arus informasional bertumpuk, dan hanya arus pertama yang bersifat sementara. Tidak ada keunggulan universal "beli wick", dan persentase pembalikan tertentu yang Anda lihat dikutip tanpa sampel, venue, dan rezim yang dinyatakan harus dianggap sebagai pemasaran.
  • Sinyalnya adalah kehabisan arus, bukan penurunan. Momen yang dapat diperdagangkan adalah ketika cetakan likuidasi aktual menipis — ketika tape forceOrder menjadi sunyi setelah lonjakan — karena penjual mekanis sudah tidak ada. Masuk di tengah kaskade superkritis (g1g \ge 1) berarti berdiri di depan loop umpan balik yang diperingatkan bagian sebelumnya.
  • Kedua pembacaan membutuhkan peta yang sama. Magnet dan pembalikan adalah cluster yang sama dilihat pada fase berbeda; Anda tidak dapat memperdagangkan salah satunya tanpa terlebih dahulu membangun grafik kedalaman dan heatmap, lalu terus-menerus mencocokkannya dengan cetakan aktual.

Ada pula pembacaan arah yang lebih lambat pada asimetri peta dua sisi tersebut. Bahan bakar likuidasi long berada di bawah spot, bahan bakar likuidasi short di atasnya; ketika salah satu sisi jauh lebih penuh daripada sisi lain, pasar memiliki bias mekanis menuju sisi yang lebih penuh, karena di sanalah guncangan menemukan arus yang paling mampu menguatkan dirinya. Pasar dengan dinding likuidasi long 3% di bawah dan hampir tidak ada apa-apa di atasnya secara struktural rapuh terhadap penurunan terlepas dari narasi — jalur yang paling sedikit resistansinya adalah jalur dengan bahan bakar terbanyak. Funding satu arah yang persisten sering kali membangun asimetri tersebut sejak awal: pasar yang membayar trader long untuk tetap short (funding yang sangat negatif) mengakumulasi short yang berdesakan, yang kemudian cluster likuidasinya berada di atas harga sebagai bahan bakar squeeze, dan sebaliknya. Tape funding dan peta likuidasi adalah dua pandangan atas leverage yang sama.

Pipeline data

Sistem ini merupakan perpaduan dua feed dengan karakter yang berlawanan: indeks posisi on-chain yang berorientasi ke depan (tempat arus terpaksa akan memenuhi syarat) dan stream likuidasi CEX terealisasi (tempat arus terpaksa sedang tercetak sekarang). Yang satu memberi tahu Anda tempat bahan bakarnya; yang lain memberi tahu bahwa bahan bakar itu telah menyala.

Peta ke depan — indeks posisi on-chain. Mulai dari riwayat event Aave/Compound (Supply, Borrow, Repay, Withdraw, LiquidationCall), baik dengan memutar ulang log maupun menanyakan subgraph di The Graph, lalu gabungkan semuanya menjadi saldo terkini per pengguna — subsistem indexing yang sama persis dengan yang dijelaskan primer mekanisme untuk bot likuidasi, tetapi digunakan kembali untuk agregasi alih-alih eksekusi. Dari saldo dan parameter risiko terkini, hitung PliqP_{\text{liq}} serta QforcedQ_{\text{forced}} setiap posisi, lalu kelompokkan ke dalam histogram grafik kedalaman. Segarkan pada blok baru; histogram mudah dipelihara secara inkremental setelah saldo tersedia.

Tape terealisasi — stream forceOrder Binance. Binance Futures menerbitkan likuidasi aktual melalui websocket, wss://fstream.binance.com/ws/!forceOrder@arr (array semua simbol) atau <symbol>@forceOrder, setiap event membawa sisi, harga, dan kuantitas order likuidasi. Ada satu jebakan yang terdokumentasi, dan ini tepat jenis ketidakpresisian yang harus diakui: stream publik dibatasi maksimal satu event likuidasi per simbol per detik — selama kaskade ganas, ketika likuidasi datang jauh lebih cepat daripada 1/detik, stream tersebut mengambil sampel alih-alih melaporkan setiap fill, sehingga volume likuidasi agregat yang direkonstruksi darinya secara sistematis lebih rendah tepat ketika paling penting. Gunakan stream untuk waktu dan arah kaskade (apakah sedang menyala, sisi mana, apakah bertambah cepat atau menipis), bukan sebagai buku besar volume yang presisi.

Kerangka ingest minimal — dua produsen async yang menulis ke satu bus ternormalisasi:

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
    )

Di sinilah strategi berada, yaitu pada consumer: simpan peta ke depan (grafik on-chain ditambah heatmap CEX yang diestimasi), estimasikan pengganda kaskade lokal g=ρ/Δg = \rho/\Delta terhadap kedalaman order book langsung, dan amati tape forceOrder terealisasi untuk mendeteksi penyalaan dan — bagian yang dapat diperdagangkan — kehabisan arus. Ketika tape melonjak lalu menipis sementara harga berada di bawah cluster yang dipetakan sebelumnya, Anda memiliki overshoot non-informasional dengan penjual terpaksa yang sudah pergi: setup pembalikan. Ketika tape bertambah cepat dan g1g \ge 1 di depan, Anda sedang menghadapi kaskade superkritis yang harus dihindari. Peta yang sama, tindakan yang berlawanan, dan tape-lah yang membedakan keduanya secara real time.

Inti yang perlu dipahami

Likuidasi membalik asimetri informasi pasar yang biasanya berlaku: alih-alih arus tersembunyi sampai tercetak, harga dan ukuran penjualan terpaksa dapat dihitung sebelumnya — secara eksak di on-chain, secara aproksimasi pada perp CEX. Bangun petanya (grafik kedalaman on-chain eksak dengan mempertimbangkan routing dan jeda oracle; heatmap CEX adalah prior yang dikondisikan pada distribusi leverage yang tidak diketahui dan buta terhadap cross-margin), dan kerapuhan peta itu menyusut menjadi satu rasio: pengganda kaskade g=ρ/Δg = \rho/\Delta, densitas jual terpaksa dibagi kedalaman order book, sebuah bilangan reproduksi yang subkritis di bawah 1 dan tak terkendali di atasnya. Sinyalnya terbagi berdasarkan fase — cluster adalah magnet sebelum kaskade, zona pembalikan sesudahnya — dan keunggulan pembalikan hanya ada karena arus terpaksa bersifat non-informasional sehingga sementara, sebuah kecenderungan terdokumentasi yang lenyap saat kaskade bertepatan dengan berita nyata. Trading-lah pada kehabisan arus, bukan penurunannya; hormati gg; dan jangan pernah mengira heatmap yang kabur sebagai buku besar tempat semua posisi tersembunyi.

Referensi

  • 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) — koefisien dampak harga linear λ\lambda yang digunakan dalam model kaskade.
  • Cont, R., & Wagalath, L. (2016), Fire Sales Forensics: Measuring Endogenous Risk. Mathematical Finance 26(4) — dampak harga likuidasi terpaksa dan korelasi endogen.
  • Bacry, E., Mastromatteo, I., Muzy, J.-F. (2015), Hawkes Processes in Finance. Market Microstructure and Liquidity 1(1) — pengelompokan arus order dan likuidasi yang membangkitkan dirinya sendiri.
  • Dokumentasi Binance Futures API — Liquidation Order Streams (!forceOrder@arr, <symbol>@forceOrder), termasuk catatan pembatasan 1 event per detik per simbol.
  • Subgraph Aave v3 dan Compound III di The Graph; getUserAccountData Aave dan parameter risiko reserve.
Penafian: Informasi yang disediakan dalam artikel ini hanya untuk tujuan edukasi dan informasi serta tidak merupakan nasihat keuangan, investasi, atau trading. Trading mata uang kripto mengandung risiko kerugian yang signifikan.

Penulis

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

Selangkah Lebih Maju dari Pasar

Berlangganan newsletter kami untuk wawasan AI trading eksklusif, analisis pasar, dan pembaruan platform.

Kami menghormati privasi Anda. Berhenti berlangganan kapan saja.