Cap Jari Digital Pedagang: Cara Mengenal Pasti Pembuat Pasaran Melalui Tingkah Laku Buku Pesanan
Cap jari tingkah laku algoritma dagangan: corak unik masa, saiz, dan penempatan
Setiap algoritma meninggalkan cap jari yang unik. Belajar membacanya — dan anda akan tahu siapa yang berada di seberang dagangan anda.
Pengenalan: Buku Pesanan sebagai Tempat Kejadian Jenayah
Apabila penyiasat forensik tiba di tempat kejadian jenayah, mereka mencari cap jari, jejak kasut, DNA — apa sahaja yang menghubungkan sesuatu peristiwa dengan individu tertentu. Buku pesanan adalah tempat di mana setiap saat, ratusan peserta meninggalkan "cap jari" mereka: pesanan dengan saiz tertentu, pada kekerapan tertentu, pada jarak tertentu dari harga, dengan tempoh hayat tertentu.
Pada bursa berpusat (CEX), cap jari ini adalah tanpa nama — anda hanya melihat jumlah yang diagregatkan pada setiap paras harga. Tetapi walaupun daripada data agregat, anda boleh mempelajari banyak perkara. Dan pada bursa DEX dengan buku pesanan dalam rantaian — seperti Hyperliquid — setiap pesanan dikaitkan dengan alamat dompet tertentu, dan "cap jari" menjadi peribadi.
Dalam artikel ini, kami akan meneroka cara membina sistem "cap jari tingkah laku" untuk mengenal pasti jenis peserta dan algoritma pembuat pasaran tertentu.
Bahagian 1: Apakah Cap Jari Tingkah Laku
Carta radar: lima dimensi utama cap jari tingkah laku pedagang
Setiap Algoritma Adalah Satu Set Peraturan
Bot pembuatan pasaran adalah program yang membuat keputusan berdasarkan peraturan yang ketat (atau dipelajari):
- Seberapa jauh dari harga pertengahan pesanan harus ditempatkan? Setiap MM mempunyai "profil spread" tersendiri.
- Berapa saiznya? Lot bulat (100, 500, 1000)? Nombor rawak? Saiz tetap dengan gangguan ±5%?
- Seberapa kerap sebut harga perlu dikemas kini? Setiap 50ms? Hanya apabila harga pertengahan berubah? Mengikut pemasa?
- Bagaimana bertindak balas terhadap pengisian? Pengemaskinian semula segera? Berhenti seketika? Mengalihkan baki bahagian?
- Bagaimana bertindak balas terhadap turun naik? Pelebaran spread? Penarikan sebut harga? Pengurangan saiz?
- Bagaimana mengurus inventori? Pencondong sebut harga apabila mengumpul kedudukan?
Setiap set jawapan kepada soalan-soalan ini adalah "tandatangan" unik algoritma tersebut.
Lima Dimensi Cap Jari
┌─────────────────────────────────────────────────────────────────┐
│ DIGITAL FINGERPRINT OF A TRADER │
│ │
│ 1. TIMING │ Inter-order intervals, reaction │
│ │ to events, circadian patterns │
│──────────────────┼───────────────────────────────────────────── │
│ 2. SIZING │ Order size distribution, │
│ │ round-lot ratio, dispersion │
│──────────────────┼───────────────────────────────────────────── │
│ 3. PLACEMENT │ Distance from mid-price, │
│ │ bid/ask symmetry, level anchoring │
│──────────────────┼───────────────────────────────────────────── │
│ 4. REACTION │ Response to fills, cancels, price jumps, │
│ │ volatility changes │
│──────────────────┼───────────────────────────────────────────── │
│ 5. LIFECYCLE │ Average order lifetime, │
│ │ cancel conditions, modify vs cancel+new │
│──────────────────┴───────────────────────────────────────────── │
└─────────────────────────────────────────────────────────────────┘
Bahagian 2: Pengekstrakan Ciri
Proses Hawkes perangsang diri: gugusan peristiwa dengan pelapukan eksponen
Masa: Bila dan Seberapa Kerap
Corak masa adalah elemen cap jari yang paling sukar dipalsukan. Ia ditentukan oleh seni bina algoritma, kependaman rangkaian, perkakasan, dan bahkan zon waktu pembangun.
Metrik utama:
-
Selang antara pesanan (IOI) — masa antara pesanan berturut-turut daripada peserta yang sama. Untuk bot HFT, IOI = 50–500 mikrosaat. Untuk pedagang manual — saat hingga minit.
-
Masa tindak balas terhadap dagangan — kelewatan antara pengisian pesanan dan tindakan seterusnya. Mencerminkan seni bina dalaman bot.
-
Corak sirkadian — profil aktiviti harian. MM institusi beroperasi semasa sesi dagangan. Bot kripto berjalan 24/7.
-
Perangsangan diri (keamatan Hawkes) — sejauh mana pesanan semasa "mencetuskan" pesanan seterusnya. Pembuat pasaran menunjukkan perangsangan diri yang kuat.
Untuk pemodelan corak masa, proses Hawkes — proses titik perangsangan diri — adalah ideal. Parameter proses Hawkes (keamatan asas μ, pekali perangsangan α, kadar pelapukan β) membentuk "cap jari kronologi" yang padat bagi peserta.
Saiz: Berapa Banyak dan Bagaimana
- Taburan saiz — taburan saiz pesanan. MM profesional sering menggunakan lot bulat dengan gangguan: 100 ± 5, 500 ± 10.
- Korelasi saiz-kedalaman — adakah saiz pesanan bergantung kepada kedalaman semasa buku?
- Asimetri saiz bid-ask — nisbah saiz pada bid dan ask. Corak condong adalah "tulisan tangan" pengurusan inventori.
- Autokorelasi saiz — kebolehulangan saiz dari masa ke masa.
Penempatan: Di Mana dalam Buku
- Offset spread — jarak dari harga pertengahan dalam tik atau bps
- Pilihan paras — penjangkaran pada paras tertentu (nombor bulat?)
- Simetri sebut harga — sejauh mana simetrinya pesanan bid dan ask
- Jejak pelbagai paras — berapa banyak paras yang disebut harga secara serentak
Tindak Balas: Bagaimana Ia Bertindak Balas terhadap Peristiwa
- Tingkah laku selepas pengisian — apa yang berlaku selepas pesanan dipenuhi
- Tindak balas turun naik — bagaimana tingkah laku berubah apabila turun naik meningkat
- Nisbah sebut harga kepada dagangan (QTR) — nisbah kemas kini pesanan kepada pengisian
- Tindak balas pemilihan buruk — tindak balas terhadap pergerakan harga menentang kedudukan
Kitaran Hayat: Kitaran Hayat Pesanan
- Taburan tempoh hayat pesanan — purata masa hidup pesanan
- Ubah suai vs Batal+Baharu — adakah ia mengemas kini melalui ubah suai atau batal+baharu?
- Pengelompokan pembatalan — adakah ia membatalkan satu demi satu atau secara berkelompok?
Bahagian 3: Klasifikasi Peserta
Taksonomi peserta pasaran: pembuat pasaran, HFT, oportunistik, asas, dan pedagang bunyi
Taksonomi Peserta Pasaran
Berdasarkan ciri tingkah laku, peserta boleh diklasifikasikan kepada kategori yang stabil. Penyelidikan oleh CFTC (Kirilenko et al., 2011):
1. Pembuat Pasaran
- Sebut harga dua hala (bid + ask) untuk >80% masa
- Kedudukan bersih sifar atau hampir sifar pada akhir hari
- QTR tinggi (>100:1)
- Bertindak balas terhadap turang naik dengan melebarkan spread
2. Pedagang Frekuensi Tinggi (HFT)
- Kadar mesej ultra-tinggi (>1000 peristiwa/minit)
- Tempoh pegangan sangat singkat (saat)
- Masa tindak balas sub-milisaat
3. Pedagang Oportunistik
- Kekerapan sederhana
- Bertindak balas terhadap keadaan pasaran tertentu
- Masa tidak sekata, berkelompok di sekitar peristiwa
4. Pedagang Asas
- Mengumpul kedudukan jangka panjang
- Kekerapan rendah, saiz pesanan besar
- Algoritma TWAP/VWAP untuk pelaksanaan
5. Pedagang Bunyi (Runcit)
- Saiz kecil, masa tidak sekata
- Reaktif: berdagang selepas pergerakan harga, bukan sebelumnya
- Pesanan pasaran pada kemuncak turang naik
Kaedah Klasifikasi
Pembelajaran Terpenyeliaan: Untuk data DEX (Hyperliquid), set latihan boleh dihimpun daripada alamat pembuat pasaran yang diketahui. Model RNN mencapai ketepatan >85%.
Pembelajaran Tanpa Penyeliaan:
- Pengelompokan Spektral (Cont et al., 2023) — pengelompokan mengikut matriks persamaan corak aliran pesanan
- FIDR-SCAN (2024) — interpolasi ciri + pengurangan dimensi + pengelompokan berasaskan ketumpatan
- Pembelajaran Pengukuhan Songsang (CFTC, 2014) — memulihkan fungsi ganjaran setiap pedagang
Bahagian 4: Mengenal Pasti Pembuat Pasaran Tertentu
Daripada Klasifikasi kepada Pengenalpastian
Klasifikasi menjawab soalan "Adakah ini pembuat pasaran?" Pengenalpastian menjawab soalan "Adakah ini pembuat pasaran tertentu itu?"
Membina Vektor Cap Jari
Daripada lima dimensi, kami mengekstrak vektor berangka — pembenaman peserta:
Fingerprint Vector (example):
┌──────────────────────────────────────────────────────────┐
│ Timing: │
│ hawkes_mu: 0.3 (base intensity) │
│ hawkes_alpha: 0.7 (self-excitation) │
│ hawkes_beta: 1.2 (decay rate) │
│ median_IOI_ms: 240 (ms between orders) │
│ circadian_peak_utc: 14.5 (peak activity) │
│ │
│ Sizing: │
│ median_size: 500 │
│ size_cv: 0.08 (coeff. of variation) │
│ round_lot_ratio: 0.92 (round lot share) │
│ bid_ask_size_ratio: 0.97 │
│ │
│ Placement: │
│ median_offset_bps: 3.2 (from mid-price) │
│ quoting_symmetry: 0.94 (0=asymmetric,1=symm) │
│ num_levels: 5 (quoted levels) │
│ │
│ Reaction: │
│ post_fill_delay_ms: 12 │
│ vol_spread_elasticity: 2.1 (spread/sigma) │
│ qtr: 850 (quote-to-trade ratio) │
│ │
│ Lifecycle: │
│ median_lifetime_ms: 1200 │
│ modify_ratio: 0.85 (modify vs cancel+new) │
│ batch_cancel_rate: 0.60 (batch cancel share) │
└──────────────────────────────────────────────────────────┘
Pengelompokan Alamat: "Satu Pengendali — N Dompet"
Graf kluster alamat: satu pengendali — pelbagai dompet, dikelompokkan mengikut persamaan tingkah laku
Pada Hyperliquid, seorang pembuat pasaran tunggal boleh beroperasi melalui puluhan atau ratusan alamat.
Algoritma pengelompokan:
- Untuk setiap alamat aktif — bina vektor cap jari dalam tetingkap N jam
- Pengelompokan hierarki — gabungkan alamat dengan jarak < ambang
- Pengesahan temporal — sahkan kestabilan kluster dari masa ke masa
- Pengesahan silang pasangan — jika dua alamat berdagang pasangan berbeza tetapi cap jari sepadan — isyarat kuat
Cluster #7 (suspected: Wintermute)
├── 0x3a1f...2e8c — BTC/USDT, 45% of activity
├── 0x7b2d...9f1a — ETH/USDT, 30% of activity
├── 0xc4e8...5d3b — SOL/USDT, 15% of activity
└── 0x91fa...0c7e — ARB/USDT, 10% of activity
Common pattern: symmetric quoting, 5 levels, median_IOI=240ms,
median_size=500±8%, batch cancel 60%, presence 95%
Bahagian 5: Senario Manipulasi dan Cap Jari Mereka
Spoofing: Cap Jari Dinding Palsu
Spoofer fingerprint:
cancel_rate: > 95%
lifetime: < 2 seconds
placement: 1-3 ticks from mid-price
size: anomalously large (>10x median depth)
reaction_to_approach: cancel when price approaches
cyclicity: repeats >3 times / minute
Squeeze: Perangkap Kecairan
Empat fasa: pengumpulan senyap, penyingkiran kecairan, lata pesanan henti, pengambilan keuntungan. Pengesanan masa nyata adalah mungkin dengan mengenal pasti peralihan dari Fasa 1 ke Fasa 2.
Iceberg / Pengumpulan Tersembunyi: Pembinaan Senyap
Hidden accumulation fingerprint:
visible_size: small (10-50 lots)
refill_speed: instant (< 100ms after fill)
refill_count: > 20 at a single level per session
price_reaction: price does not move despite volume
Wash Trading: Perdagangan Sendiri
Dua atau lebih alamat dari kluster yang sama secara serentak duduk pada bid dan ask dan melaksanakan antara satu sama lain. Tujuan: menggembungkan jumlah dagangan.
Bahagian 6: Pelaksanaan dalam Marketmaker.cc
Seni Bina Sistem Cap Jari Tingkah Laku
┌─────────────────────────────────────────────────────────────┐
│ DATA LAYER │
│ ├── Hyperliquid Node → L3 order-by-order + wallet IDs │
│ ├── CEX WebSocket → L2 depth + trades │
│ └── Historical Store → QuestDB / Parquet │
├─────────────────────────────────────────────────────────────┤
│ FEATURE EXTRACTION │
│ ├── Timing Engine → Hawkes fit, IOI distribution │
│ ├── Sizing Engine → Size stats, round-lot detection │
│ ├── Placement Engine → Offset calc, symmetry analysis │
│ ├── Reaction Engine → Post-fill tracker, vol response │
│ └── Lifecycle Engine → Lifetime stats, cancel patterns │
├─────────────────────────────────────────────────────────────┤
│ CLASSIFICATION / IDENTIFICATION │
│ ├── Online Classifier → Real-time participant tagging │
│ ├── Cluster Engine → Address clustering (DEX) │
│ ├── Similarity Search → Fingerprint matching │
│ └── Anomaly Detector → Spoof / squeeze / wash detection │
├─────────────────────────────────────────────────────────────┤
│ VISUALIZATION │
│ ├── Queue Position + Participant Labels │
│ ├── Cluster Graph (known MM clusters) │
│ ├── Alert System (manipulation detected) │
│ └── Historical Fingerprint Browser │
└─────────────────────────────────────────────────────────────┘
Apa yang Pedagang Lihat dalam Terminal
╔═══════════════════════════════════════════════════════════════════════════╗
║ 10000 USDT │ Total: 3,200 ║
║──────────────┼───────────────────────────────────────────────────────── ║
║ Breakdown: │ 🤖 MM (cluster#7, ~Wintermute): 800 lots [5 levels] ║
║ │ 🤖 MM (cluster#12, unknown): 400 lots [3 levels] ║
║ │ ⚠️ Suspicious (spoof score 87): 500 lots [lifetime<2s]║
║ │ 🟡 @pro_scalper: 100 lots ║
║ │ 🔴 MINE: 10 lots ║
║ │ 👤 Retail / unclassified: 1,390 lots ║
║──────────────┼───────────────────────────────────────────────────────── ║
║ Queue ahead │ Real: ~1,200 (excl. spoof) Nominal: 1,800 ║
║ "Clean" ETA │ 6.7s (vs nominal 10s) ║
║ Wall type: │ MM-backed (65% MM volume) — likely to hold ║
╚═══════════════════════════════════════════════════════════════════════════╝
Amaran
- 🔴 Spoof dikesan pada paras harga anda — blok yang mencurigakan telah dikenal pasti di hadapan pesanan anda
- 🟡 Penarikan MM — pembuat pasaran telah menarik sebut harga, kecairan telah menurun
- 🟡 Persediaan squeeze dikesan — kluster alamat sedang mengumpul kedudukan dan menyingkirkan kecairan
- 🟢 Dinding diperkukuhkan — jumlah dagangan daripada MM yang diketahui telah ditambah pada paras anda
Bahagian 7: Etika dan Had
Apa yang Boleh dan Tidak Boleh Diterima
Boleh diterima dan digalakkan:
- Mengklasifikasikan peserta tanpa nama mengikut jenis untuk keputusan dagangan anda sendiri
- Mengesan manipulasi untuk melindungi daripada pemilihan buruk
- Mengelompokkan alamat pada DEX untuk memahami struktur pasaran
Tidak boleh diterima:
- Menyahnamakan individu melalui alamat dompet
- Menjual corak yang dikenal pasti tanpa kebenaran
- Menggunakan data untuk manipulasi pasaran
Had
- Algoritma adaptif — MM canggih menambah rawakkan
- Peralihan rejim — bot tunggal boleh mengubah tingkah laku bergantung kepada rejim pasaran
- Positif palsu — dua peserta mungkin secara kebetulan berkongsi parameter yang serupa
- Kekaburan CEX — data L3 tidak tersedia pada CEX
Kesimpulan: Daripada Membaca Buku kepada Membaca Peserta
Pedagang tradisional melihat: 2,400 lot pada paras 10000. Pedagang canggih melihat: "pesanan saya berada di kedudukan ke-1,800 dalam barisan, ETA — 15 saat." Tetapi pedagang dengan cap jari tingkah laku melihat:
"800 daripada 2,400 itu adalah pembuat pasaran (kemungkinan Wintermute), dinding itu kukuh. 500 adalah spoof yang disyaki, barisan sebenar di hadapan saya adalah 1,300, bukan 1,800. ETA yang diselaraskan — 10 saat. Pembuat pasaran tidak menarik sebut harga — jadi tiada pergerakan besar dijangka buat masa ini."
Setiap lapisan maklumat baharu adalah kelebihan. Dan tidak seperti kelajuan, kualiti tafsiran buku pesanan adalah domain di mana pedagang runcit boleh bersaing.
Di Marketmaker.cc, kami membina sistem ini — daripada kedudukan barisan hingga cap jari tingkah laku — sebagai produk bersepadu.
Artikel sebelumnya dalam siri ini: "Barisan di Dalam Dinding: Menganalisis Kedudukan Pesanan dalam Ketumpatan Buku Pesanan"
Rujukan dan Bacaan Lanjut
- Kirilenko A., Kyle A., Samadi M., Tuzun T. — "The Flash Crash: High-Frequency Trading in an Electronic Market" (CFTC, 2011)
- Paddrik M., Hayes R., Scherer W., Beling P. — "Gaussian Process-Based Algorithmic Trading Strategy Identification" (CFTC / OFR, 2014)
- Cont R. et al. — "Unsupervised spectral clustering of trader order flow" (2023)
- FIDR-SCAN — "Explainable Machine Learning for HFT Dynamics Discovery" (2024)
- Do B.L., Putniņš T.J. — "Detecting Layering and Spoofing in Markets" (SSRN, 2023)
- Hawkes A.G. — "Spectra of Some Self-Exciting and Mutually Exciting Point Processes" (Biometrika, 1971)
- Avellaneda M., Stoikov S. — "High-Frequency Trading in a Limit Order Book" (Quantitative Finance, 2008)
Pengarang
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.