ट्रेड कंडीशन कोड क्या हैं और यह कैसे काम करते हैं
ट्रेड कंडीशन कोड यह तय करते हैं कि कौन सा ट्रेड शेयर की कीमत, दैनिक उच्चतम स्तर और वॉल्यूम को प्रभावित करेगा। इन कोड्स के बिना बाजार के डेटा को समझना लगभग असंभव है।
ट्रेड कंडीशन कोड ही वह कारण हैं कि क्यों तीन अलग-अलग प्लेटफॉर्म एक ही शेयर के लिए तीन अलग-अलग दैनिक उच्चतम स्तर (daily highs) दिखा सकते हैं, जबकि उनमें से कोई भी गलत नहीं होता। कंसोलिडेटेड टेप पर होने वाले हर ट्रेड (print) के साथ ये टैग जुड़े होते हैं। ये तय करते हैं कि क्या कोई ट्रेड अंतिम कीमत (last price), दिन के उच्चतम और न्यूनतम स्तर, आधिकारिक ओपन, आधिकारिक क्लोज और कुल कंसोलिडेटेड वॉल्यूम को अपडेट कर सकता है। एक ट्रेड वास्तविक कीमत पर निष्पादित होने के बावजूद इनमें से लगभग सभी क्षेत्रों से बाहर रखा जा सकता है।
ट्रेड कंडीशन कोड क्या हैं?
ट्रेड कंडीशन कोड, जिसे सेल कंडीशन भी कहा जाता है, एक ऐसा टैग है जिसे रिपोर्टिंग वेन्यू टेप पर भेजे जाने वाले ट्रेड रिपोर्ट के साथ जोड़ता है। कीमत और आकार यह बताते हैं कि क्या ट्रेड हुआ। कंडीशन यह बताती है कि रिपोर्ट किस प्रकार की है: क्या यह समय पर आई, क्या इसकी कीमत उस क्षण तय होने के बजाय अन्य निष्पादनों से गणना की गई, क्या यह नियमित घंटों के बाहर हुई, या क्या इसमें 100 शेयरों के राउंड लॉट से कम शेयर शामिल थे।
हर कोड के साथ पात्रता फ्लैग्स (eligibility flags) का एक सेट जुड़ा होता है, और यह वह हिस्सा है जिसे लगभग कोई नहीं देखता। प्रत्येक कोड को अंतिम कीमत, उच्चतम और न्यूनतम स्तर, ओपन, क्लोज और कंसोलिडेटेड वॉल्यूम के लिए 'पात्र' या 'अपात्र' के रूप में चिह्नित किया जाता है। ये फ्लैग्स एक-दूसरे से स्वतंत्र रूप से काम करते हैं। ऐसे कई ट्रेड्स जो उच्चतम या न्यूनतम स्तर को प्रभावित नहीं कर सकते, वे वॉल्यूम में गिने जाते हैं। यही कारण है कि किसी शेयर की रिपोर्ट की गई शेयर संख्या और उसके रिपोर्ट किए गए मूल्य के चरम स्तर (price extremes) ट्रेड्स के अलग-अलग लेकिन ओवरलैपिंग सेट से बनते हैं। फ्लैग्स का एक दूसरा सेट पहले सेट के साथ चलता है: एक सेट कंसोलिडेटेड टेप को नियंत्रित करता है, जबकि दूसरा व्यक्तिगत मार्केट सेंटर को, क्योंकि किसी एक्सचेंज का अपना आधिकारिक क्लोज केवल उसके अपने ट्रेड्स से ही निकाला जाता है।
कंडीशन कोड परिवारों (families) में आते हैं, और केवल एक परिवार यह नियंत्रित करता है कि ट्रेड क्या अपडेट कर सकता है।
हर आंकड़े के पीछे का पूरा SQL
SELECT
replaceAll(type, '_', ' ') AS condition_family,
countDistinct(id) AS codes
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
GROUP BY condition_family
ORDER BY codes DESCस्टॉक्स डिक्शनरी में 8 परिवार हैं। सबसे बड़ा sale condition परिवार है, जिसमें 40 अलग-अलग कोड हैं। कोट कंडीशन ट्रेड के बजाय बिड और ऑफर का वर्णन करती हैं। इंडिकेटर परिवार शॉर्ट सेल प्रतिबंध जैसे राज्यों को चिह्नित करते हैं। सेल कंडीशन परिवार वह है जिसमें पात्रता फ्लैग्स होते हैं, और नीचे दी गई हर संख्या इसी परिवार से ली गई है।
टेप पर वास्तव में क्या दर्ज होता है
नीचे दिया गया पैनल जून 2026 के एक सत्र को दर्शाता है: सुबह 4:00 बजे प्री-मार्केट ओपन से लेकर रात 8:00 बजे पोस्ट-मार्केट ट्रेडिंग के अंत तक के सभी AAPL ट्रेड्स, जिन्हें प्रत्येक ट्रेड द्वारा ले जाए गए सेल कंडीशन के आधार पर समूहीकृत किया गया है। यह विंडो SQL में फिक्स है, इसलिए ये आंकड़े केवल उसी दिन के हैं। एक ट्रेड में एक साथ कई कोड हो सकते हैं और कई में कोई भी नहीं होता, यही कारण है कि कॉलम का योग 100 नहीं होता।
हर आंकड़े के पीछे का पूरा SQL
WITH
(SELECT count()
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')) AS day_prints,
(SELECT sum(size)
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')) AS day_shares
SELECT
multiIf(t.code = -1, 'Regular way (no code)',
c.code_name = '', concat('Unmapped code ', toString(t.code)),
c.code_name) AS condition_name,
round(100 * count() / day_prints, 2) AS pct_of_prints,
round(100 * sum(t.size) / day_shares, 2) AS pct_of_shares
FROM
(
SELECT
size,
arrayJoin(if(empty(conditions),
[toInt32(-1)],
arrayMap(x -> toInt32(x), conditions))) AS code
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')
) AS t
LEFT JOIN
(
SELECT toInt32(id) AS code_id, any(name) AS code_name
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
AND type = 'sale_condition'
GROUP BY code_id
) AS c ON c.code_id = t.code
GROUP BY condition_name
ORDER BY pct_of_prints DESC
LIMIT 12उस दिन सबसे सामान्य टैग Odd Lot Trade था, जो सत्र के 65.83% ट्रेड्स और 6.37% शेयरों पर था। दोनों कॉलम की पंक्ति-दर-पंक्ति तुलना करें। जहाँ ट्रेड की संख्या वॉल्यूम के हिस्से से अधिक है, वहाँ कोड छोटे निष्पादनों को दर्शाता है। जहाँ यह दूसरी तरफ है, वहाँ कोड कुछ बहुत बड़े ट्रेड्स को दर्शाता है। ट्रेड्स की गिनती और शेयरों की गिनती अलग-अलग सवालों के जवाब देती है, और कंडीशन कोड ही उन्हें अलग करता है।
दो प्लेटफॉर्म अलग-अलग दैनिक उच्चतम स्तर क्यों दिखाते हैं?
चार प्रकार के ट्रेड्स को अलग-अलग क्षेत्रों से बाहर रखा जाता है।
- देर से रिपोर्ट किए गए और क्रम से बाहर (Late reported and out of sequence): 10:14 पर तय हुआ और 10:31 पर रिपोर्ट किया गया ट्रेड 'आउट ऑफ सीक्वेंस' टैग के साथ टेप पर पहुंचता है, या किसी पिछले संदर्भ मूल्य पर आधारित होता है। यह वॉल्यूम में गिना जाता है। यह अंतिम कीमत निर्धारित नहीं कर सकता, और यह दिन का उच्चतम स्तर भी नहीं बढ़ा सकता, भले ही इसकी कीमत सत्र के अन्य सभी ट्रेड्स से ऊपर हो। बातचीत के जरिए किए गए ब्लॉक ट्रेड्स और डार्क पूल ट्रेडिंग वेन्यू से आने वाले ट्रेड्स अक्सर यहाँ आते हैं।
- व्युत्पन्न मूल्य (Derivatively priced): औसत मूल्य वाला ट्रेड या VWAP फिल की कीमत उस क्षण सहमत होने के बजाय कई अन्य निष्पादनों के आधार पर निकाली जाती है। इसे अंतिम कीमत और चरम स्तरों से बाहर रखा जाता है, क्योंकि जो कीमत यह दिखाती है वह कभी लाइव कोट के रूप में मौजूद नहीं थी।
- ऑड लॉट (Odd lot): 100 शेयरों से कम। ऑड लॉट अंतिम कीमत और उच्चतम/न्यूनतम स्तर के लिए अपात्र हैं, जबकि कंसोलिडेटेड वॉल्यूम में पूरी तरह गिने जाते हैं। 2013 के अंत तक इन्हें कंसोलिडेटेड टेप पर बिल्कुल भी रिपोर्ट नहीं किया जाता था। उस सीमा से पहले की कोई भी वॉल्यूम तुलना शब्द की दो अलग-अलग परिभाषाओं की तुलना कर रही है, जिसे औसत दैनिक वॉल्यूम पर हमारी गाइड विस्तार से कवर करती है।
- विस्तारित घंटे और फॉर्म T (Extended hours and form T): प्री-मार्केट और पोस्ट-क्लोज ट्रेड्स को टैग किया जाता है और नियमित सत्र के ओपन, हाई, लो और क्लोज से बाहर रखा जाता है, जबकि वे कंसोलिडेटेड वॉल्यूम में गिने जाते हैं। जो प्लेटफॉर्म इन्हें चार्ट करता है, वह अलग दैनिक रेंज दिखाता है, और यही वह तंत्र है जिसके कारण आफ्टर-आवर्स और प्री-मार्केट ट्रेडिंग एक चार्ट पर दिखाई देती है और दूसरे पर नहीं।
यहाँ बताया गया है कि पांच प्रसिद्ध नामों के लिए एक सत्र का कितना हिस्सा प्रत्येक बकेट में आता है, उसी दिन के डेटा के आधार पर।
हर आंकड़े के पीछे का पूरा SQL
WITH
(SELECT groupArray(toInt32(id))
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
AND type = 'sale_condition'
AND name ILIKE '%odd lot%') AS odd_lot_codes,
(SELECT groupArray(toInt32(id))
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
AND type = 'sale_condition'
AND multiSearchAnyCaseInsensitive(name,
['form t', 'extended trading hours'])) AS extended_codes,
(SELECT groupArray(toInt32(id))
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
AND type = 'sale_condition'
AND multiSearchAnyCaseInsensitive(name,
['out of sequence', 'prior reference', 'derivatively priced',
'average price', 'price variation', 'seller'])
AND NOT multiSearchAnyCaseInsensitive(name,
['form t', 'extended trading hours'])) AS late_or_derived_codes
SELECT
ticker,
round(100 * countIf(hasAny(conditions, odd_lot_codes)) / count(), 2) AS odd_lot_pct,
round(100 * countIf(hasAny(conditions, late_or_derived_codes)) / count(), 2) AS late_or_derived_pct,
round(100 * countIf(hasAny(conditions, extended_codes)) / count(), 2) AS extended_hours_pct
FROM global_markets.stocks_trades
WHERE ticker IN ('AAPL', 'KO', 'MSFT', 'NVDA', 'SPY')
AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')
GROUP BY ticker
ORDER BY odd_lot_pct DESCऑड लॉट ट्रेड्स पांचों नामों में सभी ट्रेड्स के 46.8% से 85.14% तक रहे। वह कॉलम शेयर की कीमत को बारीकी से ट्रैक करता है, क्योंकि एक निश्चित डॉलर का ऑर्डर अधिक कीमत वाले नाम में कम शेयर खरीदता है। NVDA इसमें सबसे ऊपर रहा, जिसके 2.4% ट्रेड्स 'लेट' या 'डेरिवेटिवली प्राइस्ड' टैग किए गए थे और 3.53% 'एक्सटेंडेड आवर्स' टैग किए गए थे। इन तीनों बकेट में हर ट्रेड एक वास्तविक ट्रेड है, और उनमें से कोई भी उच्चतम या न्यूनतम स्तर निर्धारित करने के लिए पात्र नहीं है।
एक ट्रेड जो उच्चतम स्तर को नहीं बढ़ाता
अगला पैनल उसी AAPL सत्र को लेता है, नियमित सुबह 9:30 से शाम 4:00 बजे की विंडो को पंद्रह मिनट के बकेट में काटता है, और प्रत्येक बकेट के लिए दो उच्चतम स्तर खींचता है। एक लाइन किसी भी ट्रेड की उच्चतम कीमत लेती है। दूसरी लाइन उन ट्रेड्स के बीच उच्चतम कीमत लेती है जिनकी शर्तें उन्हें उच्चतम स्तर निर्धारित करने के लिए पात्र बनाती हैं।
हर आंकड़े के पीछे का पूरा SQL
WITH
(SELECT groupArray(toInt32(id))
FROM global_markets.stocks_condition_codes
WHERE asset_class = 'stocks'
AND type = 'sale_condition'
AND multiSearchAnyCaseInsensitive(name,
['odd lot', 'form t', 'extended trading hours', 'out of sequence',
'prior reference', 'derivatively priced', 'average price',
'price variation', 'seller'])) AS not_high_low_codes
SELECT
formatDateTime(toStartOfFifteenMinutes(toTimeZone(sip_timestamp, 'America/New_York')), '%H:%i') AS et_time,
round(toFloat64(max(price)), 2) AS tape_high,
round(toFloat64(maxIf(price, NOT hasAny(conditions, not_high_low_codes))), 2) AS eligible_high
FROM global_markets.stocks_trades
WHERE ticker = 'AAPL'
AND sip_timestamp >= toDateTime('2026-06-17 08:00:00', 'UTC')
AND sip_timestamp < toDateTime('2026-06-18 00:00:00', 'UTC')
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
+ toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) >= 570
AND (toHour(toTimeZone(sip_timestamp, 'America/New_York')) * 60
+ toMinute(toTimeZone(sip_timestamp, 'America/New_York'))) < 960
GROUP BY et_time
HAVING countIf(NOT hasAny(conditions, not_high_low_codes)) > 0
ORDER BY et_timeसत्र 09:30 पर टेप हाई $302.07 और पात्र हाई $302.07 के साथ खुलता है, और क्लोज तक 26 बकेट तक चलता है। पात्र लाइन कभी भी टेप लाइन से ऊपर नहीं हो सकती, क्योंकि पात्र ट्रेड्स सभी ट्रेड्स का एक उप-सेट हैं। जहाँ दोनों एक-दूसरे के ऊपर बैठते हैं, वहाँ उस पंद्रह मिनट में हर ट्रेड को हाई सेट करने की अनुमति थी। जहाँ ऊपरी लाइन अलग हो जाती है, वहाँ उस विंडो में कम से कम एक ट्रेड सबसे अधिक पात्र कीमत से ऊपर हुआ, और पात्रता नियमों के आधार पर बना कोई भी चार्ट इसे कभी नहीं दिखाएगा।
वह अंतर ही विसंगति का सटीक उत्तर है। एक स्रोत जो हर ट्रेड की अधिकतम कीमत लेता है, वह एक हाई रिपोर्ट करता है। एक स्रोत जो पात्रता फ्लैग्स लागू करता है, वह दूसरा रिपोर्ट करता है। एक स्रोत जो प्री-मार्केट और पोस्ट-क्लोज सत्रों को भी हटा देता है, वह तीसरा रिपोर्ट करता है। तीनों एक ही टेप पढ़ रहे हैं।
पात्रता परत कितनी ठोस है?
बहुत कम। फ्लैग्स संदर्भ डेटा (reference data) हैं, और संदर्भ डेटा को सुधारा जाता है। एक कमर्शियल मार्केट डेटा प्रदाता ने अपनी कंडीशन डिक्शनरी में एक सुधार भेजा जिसने आधिकारिक ओपन और क्लोज सेट करने के लिए एक सेल कंडीशन की पात्रता को फिर से वर्गीकृत किया। कोई ट्रेड नहीं बदला। प्रभावित हर दिन का टेप सुधार से पहले और बाद में समान था। जो बदला वह लुकअप टेबल में एक फ्लैग था, और उसके साथ, वह आधिकारिक ओपन और क्लोज जो उस डिक्शनरी के बाद के हर चार्ट और बैकटेस्ट में प्रिंट हो रहा था।
किसी भी एक वेंडर के OHLC को टेप के बारे में एक तथ्य के बजाय टेप का एक पाठ (reading) मानें। जब दो स्रोत असहमत हों, तो पूछें कि उनमें से प्रत्येक ने किन पात्रता नियमों को लागू किया। विलंबित और कंसोलिडेटेड कोट फीड्स इसी समस्या का एक दूसरा संस्करण जोड़ते हैं, जो पात्रता के बजाय समय पर आधारित होता है।
आधिकारिक ट्रेड कंडीशन कोड सूची कहाँ है
टेप दो राष्ट्रीय बाजार प्रणाली योजनाओं के तहत चलते हैं: NYSE-सूचीबद्ध प्रतिभूतियों के लिए CTA प्लान और Nasdaq-सूचीबद्ध प्रतिभूतियों के लिए UTP प्लान, और प्रत्येक उस टेप के लिए सेल कंडीशन विनिर्देश प्रकाशित करता है जिसे वह प्रशासित करता है। वे विनिर्देश ही आधिकारिक हैं। उसके बाद की हर चीज, जिसमें ऊपर दिए गए पैनलों के पीछे की आईडी संख्याएं शामिल हैं, एक वेंडर द्वारा उन्हें अपनी नंबरिंग में मैप करना है, और एक प्रदाता से कोड आईडी का मतलब दूसरे के पास जरूरी नहीं कि वही हो। संख्याओं के बजाय श्रेणियों को सीखें। श्रेणियां वर्षों से स्थिर हैं। संख्याएं एक लुकअप टेबल हैं, और लुकअप टेबल संपादित की जाती हैं।
डेटा नोट्स
ऊपर दिए गए पैनलों में कंडीशन बकेट हार्डकोडेड आईडी नंबरों के बजाय डिक्शनरी से ही बनाए गए हैं। प्रत्येक बकेट सेल कंडीशन परिवार के भीतर एक नाम मिलान है (ऑड लॉट, फॉर्म T और विस्तारित ट्रेडिंग घंटे, आउट ऑफ सीक्वेंस, पूर्व संदर्भ मूल्य, व्युत्पन्न मूल्य, औसत मूल्य, मूल्य भिन्नता, विक्रेता)। सटीक पैटर्न पढ़ने के लिए किसी भी पैनल के तहत SQL खोलें। कोड परस्पर अनन्य नहीं हैं और एक ही ट्रेड में कई कोड हो सकते हैं, इसलिए बकेट प्रतिशत ओवरलैप होते हैं और सत्र का योग नहीं बनाते हैं। दोनों AAPL पैनल और पांच-नाम वाला पैनल जून 2026 के एक निश्चित सत्र को कवर करते हैं, जो SQL में पिन किया गया है, इसलिए इस पेज पर कुछ भी नए सत्र आने के साथ नहीं बदलता है।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
ट्रेड कंडीशन कोड क्या है?
यह कंसोलिडेटेड टेप पर एक ट्रेड रिपोर्ट के साथ जुड़ा एक टैग है जो बताता है कि रिपोर्ट किस प्रकार की है, उदाहरण के लिए देर से रिपोर्ट की गई, व्युत्पन्न मूल्य, ऑड लॉट या विस्तारित घंटे। प्रत्येक कोड में फ्लैग्स होते हैं जो यह चिह्नित करते हैं कि क्या वह ट्रेड अंतिम कीमत, उच्चतम और न्यूनतम, ओपन, क्लोज और कंसोलिडेटेड वॉल्यूम को अपडेट कर सकता है।
दो वेबसाइटें एक ही शेयर के लिए अलग-अलग दैनिक उच्चतम स्तर क्यों दिखाती हैं?
प्रत्येक एक ही ट्रेड्स पर पात्रता नियमों का एक अलग सेट लागू करती है। एक रिपोर्ट किए गए किसी भी ट्रेड की उच्चतम कीमत ले सकती है, दूसरी उन ट्रेड्स को बाहर कर सकती है जिनके कंडीशन कोड उन्हें हाई सेट करने से रोकते हैं, और तीसरी प्री-मार्केट और पोस्ट-क्लोज सत्रों को भी छोड़ सकती है। वे सभी एक ही टेप पढ़ रहे हैं।
क्या ऑड लॉट ट्रेड्स वॉल्यूम में गिने जाते हैं?
हाँ। एक ऑड लॉट, जिसका अर्थ है 100 शेयरों से कम, कंसोलिडेटेड वॉल्यूम में गिना जाता है जबकि अंतिम कीमत या दिन के उच्चतम और न्यूनतम स्तर को सेट करने के लिए अपात्र रहता है। 2013 के अंत से पहले ऑड लॉट को कंसोलिडेटेड टेप पर बिल्कुल भी रिपोर्ट नहीं किया जाता था, इसलिए लंबी अवधि की वॉल्यूम तुलना उस बिंदु पर एक परिभाषा परिवर्तन को पार करती है।
क्या आफ्टर-आवर्स ट्रेड्स दैनिक उच्चतम और न्यूनतम स्तर में गिने जाते हैं?
नियमित सत्र के उच्चतम और न्यूनतम स्तर में नहीं। प्री-मार्केट और पोस्ट-क्लोज ट्रेड्स में 'एक्सटेंडेड आवर्स' या 'फॉर्म T' कंडीशन होती है जो उन्हें नियमित सत्र के ओपन, हाई, लो और क्लोज से बाहर रखती है, जबकि वे दिन के कंसोलिडेटेड वॉल्यूम में गिने जाते हैं।
सेल कंडीशन कोड की आधिकारिक सूची कहाँ है?
CTA प्लान और UTP प्लान उन टेप के लिए सेल कंडीशन विनिर्देश प्रकाशित करते हैं जिन्हें वे प्रशासित करते हैं, और वे दस्तावेज ही आधिकारिक हैं। वेंडर फीड्स कंडीशंस को अपनी आईडी स्पेस में फिर से नंबर देते हैं, इसलिए एक प्रदाता से एक संख्यात्मक कोड दूसरे के पास उसी संख्या से मेल नहीं खाता है।
यहाँ हर पैनल उस SQL के साथ आता है जिसने इसे बनाया है। एक खोलें, टिकर या तारीख बदलें, और Strasmore टर्मिनल पर किसी भी सत्र के लिए वही कंडीशन ब्रेकडाउन चलाएं।