ट्रेडर का डिजिटल फिंगरप्रिंट: ऑर्डर बुक व्यवहार से मार्केट मेकर की पहचान कैसे करें
किसी ट्रेडिंग एल्गोरिदम का व्यवहारगत फिंगरप्रिंट: टाइमिंग, साइज़िंग और प्लेसमेंट के अद्वितीय पैटर्न
हर एल्गोरिदम एक अद्वितीय फिंगरप्रिंट छोड़ता है। इसे पढ़ना सीखें — और आप जान जाएंगे कि आपके ट्रेड के दूसरी ओर कौन है।
परिचय: ऑर्डर बुक एक अपराध स्थल की तरह
जब कोई फोरेंसिक जांचकर्ता किसी अपराध स्थल पर पहुंचता है, तो वह फिंगरप्रिंट, जूतों के निशान, डीएनए — ऐसी हर चीज़ खोजता है जो किसी घटना को किसी विशिष्ट व्यक्ति से जोड़े। ऑर्डर बुक एक ऐसी जगह है जहां हर सेकंड सैकड़ों प्रतिभागी अपने "फिंगरप्रिंट" छोड़ते हैं: एक विशिष्ट साइज़ के, एक विशिष्ट आवृत्ति पर, कीमत से एक विशिष्ट दूरी पर, और एक विशिष्ट टाइम-टू-लिव वाले ऑर्डर।
केंद्रीकृत एक्सचेंजों (CEX) पर ये फिंगरप्रिंट गुमनाम होते हैं — आप केवल हर कीमत स्तर पर एकत्रित (aggregated) वॉल्यूम देख पाते हैं। लेकिन एकत्रित डेटा से भी आप बहुत कुछ सीख सकते हैं। और ऑन-चेन ऑर्डर बुक वाले DEX एक्सचेंजों पर — जैसे Hyperliquid — हर ऑर्डर किसी विशिष्ट वॉलेट पते से जुड़ा होता है, और ये "फिंगरप्रिंट" व्यक्तिगत बन जाते हैं।
इस लेख में हम यह जानेंगे कि प्रतिभागी प्रकारों और विशिष्ट मार्केट मेकर एल्गोरिदम की पहचान के लिए "व्यवहारगत फिंगरप्रिंट" की एक प्रणाली कैसे बनाई जाए।
भाग 1: व्यवहारगत फिंगरप्रिंट क्या है
रडार चार्ट: किसी ट्रेडर के व्यवहारगत फिंगरप्रिंट के पांच प्रमुख आयाम
हर एल्गोरिदम नियमों का एक समूह है
एक मार्केट-मेकिंग बॉट एक ऐसा प्रोग्राम है जो कठोर (या सीखे गए) नियमों के आधार पर निर्णय लेता है:
- ऑर्डर मिड-प्राइस से कितनी दूर रखे जाने चाहिए? हर MM का अपना "स्प्रेड प्रोफ़ाइल" होता है।
- कितने साइज़ के? राउंड लॉट (100, 500, 1000)? रैंडम संख्याएं? ±5% शोर के साथ निश्चित साइज़?
- कोट कितनी बार अपडेट किए जाने चाहिए? हर 50ms पर? केवल जब मिड-प्राइस बदले? किसी टाइमर पर?
- फिल पर कैसे प्रतिक्रिया दें? तुरंत री-कोटिंग? विराम? शेष साइड को शिफ्ट करना?
- वोलैटिलिटी पर कैसे प्रतिक्रिया दें? स्प्रेड चौड़ा करना? कोट खींच लेना? साइज़ घटाना?
- इन्वेंट्री कैसे प्रबंधित करें? पोज़िशन जमा करते समय कोट स्क्यूइंग?
इन प्रश्नों के उत्तरों का हर समूह एल्गोरिदम का एक अद्वितीय "हस्ताक्षर" होता है।
फिंगरप्रिंट के पांच आयाम
┌─────────────────────────────────────────────────────────────────┐
│ 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 │
│──────────────────┴───────────────────────────────────────────── │
└─────────────────────────────────────────────────────────────────┘
भाग 2: फीचर एक्सट्रैक्शन
सेल्फ-एक्साइटिंग Hawkes प्रोसेस: घातांकीय क्षय के साथ इवेंट क्लस्टर
टाइमिंग: कब और कितनी बार
टाइमिंग पैटर्न फिंगरप्रिंट का सबसे कठिन तत्व है जिसे नकली बनाना मुश्किल है। यह एल्गोरिदम की आर्किटेक्चर, नेटवर्क लेटेंसी, हार्डवेयर, और यहां तक कि डेवलपर्स के टाइम ज़ोन से भी निर्धारित होता है।
मुख्य मेट्रिक्स:
-
इंटर-ऑर्डर इंटरवल (IOI) — एक ही प्रतिभागी के लगातार ऑर्डर के बीच का समय। किसी HFT बॉट के लिए, IOI = 50–500 माइक्रोसेकंड। किसी मैनुअल ट्रेडर के लिए — सेकंड से मिनट तक।
-
ट्रेड पर प्रतिक्रिया समय — किसी ऑर्डर के फिल होने और अगली क्रिया के बीच का विलंब। यह बॉट की आंतरिक आर्किटेक्चर को दर्शाता है।
-
सर्केडियन पैटर्न — दैनिक गतिविधि प्रोफ़ाइल। एक संस्थागत MM ट्रेडिंग सत्रों के दौरान संचालित होता है। एक क्रिप्टो बॉट 24/7 चलता है।
-
सेल्फ-एक्साइटेशन (Hawkes intensity) — एक वर्तमान ऑर्डर अगले ऑर्डर को कितनी मजबूती से "ट्रिगर" करता है। मार्केट मेकर मजबूत सेल्फ-एक्साइटेशन दिखाते हैं।
टाइमिंग पैटर्न के मॉडलिंग के लिए, Hawkes processes — सेल्फ-एक्साइटिंग पॉइंट प्रोसेस — आदर्श हैं। Hawkes प्रोसेस के पैरामीटर (आधार तीव्रता μ, एक्साइटेशन गुणांक α, क्षय दर β) किसी प्रतिभागी का एक संक्षिप्त "कालानुक्रमिक फिंगरप्रिंट" बनाते हैं।
साइज़िंग: कितना और कैसे
- साइज़ वितरण — ऑर्डर साइज़ का वितरण। पेशेवर MM अक्सर शोर के साथ राउंड लॉट का उपयोग करते हैं: 100 ± 5, 500 ± 10।
- साइज़-डेप्थ सहसंबंध — क्या ऑर्डर साइज़ बुक की वर्तमान गहराई पर निर्भर करता है?
- बिड-आस्क साइज़ असममिति — बिड और आस्क पर साइज़ का अनुपात। स्क्यू पैटर्न इन्वेंट्री प्रबंधन की "लिखावट" है।
- साइज़ ऑटोसहसंबंध — समय के साथ साइज़ की पुनरावृत्ति।
प्लेसमेंट: बुक में कहां
- स्प्रेड ऑफ़सेट — मिड-प्राइस से टिक या bps में दूरी
- लेवल प्राथमिकता — विशिष्ट स्तरों से जुड़ाव (राउंड संख्याएं?)
- कोटिंग समममिति — बिड और आस्क ऑर्डर कितने समममित हैं
- मल्टी-लेवल फुटप्रिंट — एक साथ कितने स्तरों पर कोट किया जाता है
प्रतिक्रिया: यह घटनाओं पर कैसे प्रतिक्रिया देता है
- पोस्ट-फिल व्यवहार — किसी ऑर्डर के फिल होने के बाद क्या होता है
- वोलैटिलिटी प्रतिक्रिया — वोलैटिलिटी बढ़ने पर व्यवहार कैसे बदलता है
- कोट-टू-ट्रेड रेशियो (QTR) — ऑर्डर अपडेट का फिल से अनुपात
- एडवर्स सिलेक्शन प्रतिक्रिया — पोज़िशन के विरुद्ध कीमत की गति पर प्रतिक्रिया
लाइफसाइकल: ऑर्डर का जीवन चक्र
- ऑर्डर लाइफटाइम वितरण — औसत ऑर्डर टाइम-टू-लिव
- Modify बनाम Cancel+New — क्या यह modify के जरिए अपडेट करता है या cancel+new के जरिए?
- कैंसल क्लस्टरिंग — क्या यह एक-एक करके कैंसल करता है या बैच में?
भाग 3: प्रतिभागी वर्गीकरण
बाज़ार प्रतिभागियों की वर्गीकरण-प्रणाली: मार्केट मेकर, HFT, अवसरवादी, फंडामेंटल और शोर ट्रेडर
बाज़ार प्रतिभागियों की वर्गीकरण-प्रणाली
व्यवहारगत विशेषताओं के आधार पर, प्रतिभागियों को स्थिर श्रेणियों में वर्गीकृत किया जा सकता है। CFTC का शोध (Kirilenko et al., 2011):
1. मार्केट मेकर
-
80% समय के लिए दो-तरफा कोट (बिड + आस्क)
- दिन के अंत तक शून्य या शून्य के निकट शुद्ध पोज़िशन
- उच्च QTR (>100:1)
- वोलैटिलिटी पर स्प्रेड चौड़ा करके प्रतिक्रिया देते हैं
2. उच्च-आवृत्ति ट्रेडर (HFT)
- अति-उच्च संदेश दर (>1000 इवेंट/मिनट)
- बहुत छोटी होल्डिंग अवधि (सेकंड)
- सब-मिलीसेकंड प्रतिक्रिया समय
3. अवसरवादी ट्रेडर
- मध्यम आवृत्ति
- विशिष्ट बाज़ार स्थितियों पर प्रतिक्रिया देते हैं
- अनियमित टाइमिंग, घटनाओं के इर्द-गिर्द क्लस्टर
4. फंडामेंटल ट्रेडर
- दीर्घकालिक पोज़िशन जमा करते हैं
- कम आवृत्ति, बड़े ऑर्डर साइज़
- निष्पादन के लिए TWAP/VWAP एल्गोरिदम
5. शोर ट्रेडर (रिटेल)
- छोटे साइज़, अनियमित टाइमिंग
- प्रतिक्रियात्मक: कीमत बढ़ने के बाद ट्रेड करते हैं, पहले नहीं
- चरम वोलैटिलिटी पर मार्केट ऑर्डर
वर्गीकरण विधियां
Supervised Learning: DEX डेटा (Hyperliquid) के लिए, ज्ञात मार्केट मेकरों के पतों से एक प्रशिक्षण सेट तैयार किया जा सकता है। RNN मॉडल >85% सटीकता प्राप्त करते हैं।
Unsupervised Learning:
- Spectral Clustering (Cont et al., 2023) — ऑर्डर फ्लो पैटर्न समानता मैट्रिक्स द्वारा क्लस्टरिंग
- FIDR-SCAN (2024) — फीचर इंटरपोलेशन + डाइमेंशन रिडक्शन + डेंसिटी-आधारित क्लस्टरिंग
- Inverse Reinforcement Learning (CFTC, 2014) — प्रत्येक ट्रेडर के रिवॉर्ड फ़ंक्शन को पुनर्प्राप्त करना
भाग 4: विशिष्ट मार्केट मेकरों की पहचान
वर्गीकरण से पहचान तक
वर्गीकरण इस प्रश्न का उत्तर देता है कि "क्या यह एक मार्केट मेकर है?" पहचान इस प्रश्न का उत्तर देती है कि "क्या यह वही विशिष्ट मार्केट मेकर है?"
फिंगरप्रिंट वेक्टर का निर्माण
पांच आयामों से हम एक संख्यात्मक वेक्टर निकालते हैं — प्रतिभागी का embedding:
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) │
└──────────────────────────────────────────────────────────┘
पता क्लस्टरिंग: "एक ऑपरेटर — N वॉलेट"
पता क्लस्टर ग्राफ: एक ऑपरेटर — अनेक वॉलेट, व्यवहारगत समानता के आधार पर समूहबद्ध
Hyperliquid पर, एक ही मार्केट मेकर दर्जनों या सैकड़ों पतों के माध्यम से संचालित हो सकता है।
क्लस्टरिंग एल्गोरिदम:
- प्रत्येक सक्रिय पते के लिए — N घंटों की एक विंडो पर एक फिंगरप्रिंट वेक्टर बनाएं
- पदानुक्रमिक क्लस्टरिंग — दूरी < थ्रेशोल्ड वाले पतों को मर्ज करें
- कालिक सत्यापन — समय के साथ क्लस्टर की स्थिरता सत्यापित करें
- क्रॉस-पेयर सत्यापन — यदि दो पते अलग-अलग जोड़ियां ट्रेड करते हैं लेकिन फिंगरप्रिंट मेल खाते हैं — तो यह एक मजबूत संकेत है
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%
भाग 5: हेरफेर के परिदृश्य और उनके फिंगरप्रिंट
स्पूफिंग: एक नकली दीवार का फिंगरप्रिंट
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
स्क्वीज़: लिक्विडिटी ट्रैप
चार चरण: शांत संचयन, लिक्विडिटी हटाना, स्टॉप-ऑर्डर कैस्केड, और मुनाफ़ा वसूली। चरण 1 से चरण 2 में संक्रमण की पहचान करके रियल-टाइम में इसका पता लगाना संभव है।
आइसबर्ग / छिपा संचयन: मूक निर्माण
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
वॉश ट्रेडिंग: स्वयं से सौदा
एक ही क्लस्टर के दो या अधिक पते एक साथ बिड और आस्क पर बैठते हैं और एक-दूसरे के विरुद्ध निष्पादन करते हैं। उद्देश्य: वॉल्यूम को बढ़ा-चढ़ाकर दिखाना।
भाग 6: Marketmaker.cc में कार्यान्वयन
व्यवहारगत फिंगरप्रिंट प्रणाली की आर्किटेक्चर
┌─────────────────────────────────────────────────────────────┐
│ 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 │
└─────────────────────────────────────────────────────────────┘
ट्रेडर टर्मिनल में क्या देखता है
╔═══════════════════════════════════════════════════════════════════════════╗
║ 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 ║
╚═══════════════════════════════════════════════════════════════════════════╝
अलर्ट
- 🔴 आपके प्राइस लेवल पर स्पूफ का पता चला — आपके ऑर्डर के सामने एक संदिग्ध ब्लॉक की पहचान की गई है
- 🟡 MM निकासी — एक मार्केट मेकर ने कोट खींच लिए हैं, लिक्विडिटी गिर गई है
- 🟡 स्क्वीज़ सेटअप का पता चला — पतों का एक क्लस्टर पोज़िशन जमा कर रहा है और लिक्विडिटी हटा रहा है
- 🟢 दीवार मजबूत हुई — किसी ज्ञात MM की ओर से आपके स्तर पर वॉल्यूम जोड़ा गया है
भाग 7: नैतिकता और सीमाएं
क्या स्वीकार्य है और क्या नहीं
स्वीकार्य और प्रोत्साहित:
- अपने स्वयं के ट्रेडिंग निर्णयों के लिए गुमनाम प्रतिभागियों का प्रकार के अनुसार वर्गीकरण करना
- एडवर्स सिलेक्शन से बचाव के लिए हेरफेर का पता लगाना
- बाज़ार संरचना को समझने के लिए DEX पर पतों की क्लस्टरिंग करना
स्वीकार्य नहीं:
- वॉलेट पतों से व्यक्तियों की पहचान उजागर करना (deanonymizing)
- सहमति के बिना पहचाने गए पैटर्न को बेचना
- बाज़ार में हेरफेर के लिए डेटा का उपयोग करना
सीमाएं
- अनुकूली एल्गोरिदम — उन्नत MM रैंडमाइज़ेशन जोड़ते हैं
- रिजीम स्विचिंग — एक ही बॉट बाज़ार रिजीम के आधार पर अपना व्यवहार बदल सकता है
- फॉल्स पॉज़िटिव — दो प्रतिभागी संयोगवश समान पैरामीटर साझा कर सकते हैं
- CEX अपारदर्शिता — CEX पर L3 डेटा उपलब्ध नहीं होता
निष्कर्ष: बुक पढ़ने से प्रतिभागियों को पढ़ने तक
एक पारंपरिक ट्रेडर देखता है: 10000 स्तर पर 2,400 लॉट। एक उन्नत ट्रेडर देखता है: "मेरा ऑर्डर कतार में 1,800वें स्थान पर है, ETA — 15 सेकंड।" लेकिन व्यवहारगत फिंगरप्रिंटिंग वाला एक ट्रेडर देखता है:
"उन 2,400 में से 800 एक मार्केट मेकर के हैं (संभवतः Wintermute), दीवार ठोस है। 500 के स्पूफ होने का संदेह है, मेरे आगे की असली कतार 1,300 है, 1,800 नहीं। समायोजित ETA — 10 सेकंड। मार्केट मेकर कोट नहीं खींच रहा — इसलिए अभी किसी बड़ी गति की उम्मीद नहीं है।"
जानकारी की हर नई परत एक बढ़त है। और गति के विपरीत, ऑर्डर बुक की व्याख्या की गुणवत्ता एक ऐसा क्षेत्र है जहां एक रिटेल ट्रेडर प्रतिस्पर्धा कर सकता है।
Marketmaker.cc में, हम इस प्रणाली का निर्माण कर रहे हैं — कतार स्थिति से लेकर व्यवहारगत फिंगरप्रिंटिंग तक — एक एकीकृत उत्पाद के रूप में।
श्रृंखला का पिछला लेख: "Queue Inside the Wall: Analyzing Order Position in Order Book Density"
संदर्भ और आगे पढ़ने के लिए
- 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)
Authors
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.