Bracket Orders और OCO Orders का अर्थ और कार्यप्रणाली
ब्रैकेट ऑर्डर की कार्यप्रणाली समझें। जानें कि कैसे प्रॉफिट टारगेट और प्रोटेक्टिव स्टॉप एक OCO लिंक के रूप में काम करते हैं, पार्शियल फिल होने पर क्या होता है और यह लिंकेज कहाँ स्थित है।
ब्रैकेट ऑर्डर क्या है?
कल्पना कीजिए कि एक ट्रेडर 200 शेयर लगभग $50 पर खरीदना चाहता है, यदि ट्रेड सफल होता है तो $53 के करीब पोजीशन बंद करना चाहता है, और यदि नहीं होता है तो $48.50 के करीब बाहर निकलना चाहता है। यदि इन्हें अलग-अलग टिकटों के रूप में लिखा जाए, तो यह तीन ऑर्डर और एक मैन्युअल काम बन जाता है: टारगेट पूरा होते ही स्टॉप को कैंसिल करना, अन्यथा 200 शेयर दो बार बिकने का जोखिम रहता है। एक ब्रैकेट इसी उद्देश्य को एक ही सबमिशन में समेट देता है। एंट्री एक सामान्य मार्केट ऑर्डर या लिमिट ऑर्डर होती है। दो एग्जिट इसके चाइल्ड ऑर्डर होते हैं: टारगेट पर क्लोज करने के लिए एक लिमिट ऑर्डर, और सुरक्षात्मक स्तर पर क्लोज करने के लिए एक स्टॉप या स्टॉप लिमिट ऑर्डर।
शब्दावली अलग-अलग हो सकती है। ब्रैकेट, अटैच्ड ऑर्डर, OCO ब्रैकेट और OTOCO सभी इसी संरचना का वर्णन करते हैं। OTOCO, यानी 'वन ट्रिगर्स अ वन-कैंसल्स-द-अदर', इस क्रम का सबसे सटीक नाम है: एंट्री पेयर को सक्रिय करती है, और फिर पेयर खुद को एक में कैंसिल कर देता है।
ब्रैकेट ऑर्डर में OCO का क्या अर्थ है?
OCO दो ऐसे ऑर्डर हैं जिनके बीच एक कैंसिल लिंक होता है। दोनों एक ही समय में ऑर्डर बुक में सक्रिय रहते हैं। जब एक फिल होता है, तो दूसरा हटा दिया जाता है। जब एक आंशिक रूप से फिल होता है, तो दूसरा पूरी तरह से हटने के बजाय फिल की गई मात्रा से कम हो जाता है, और यही कमी पोजीशन और उसकी सुरक्षा को शेयर-दर-शेयर मेल खाती रखती है।
200-शेयर लॉन्ग ब्रैकेट के लिए पूरी प्रक्रिया इस प्रकार है:
- एंट्री अकेले काम करती है। टारगेट और स्टॉप ब्रोकर के सिस्टम के अंदर मौजूद होते हैं लेकिन सक्रिय ऑर्डर नहीं होते हैं, इसलिए एंट्री के फिल होने से पहले टारगेट प्राइस पर कोई भी ट्रेड (प्रिंट) होने पर कुछ नहीं होता।
- एंट्री 200 शेयरों के लिए फिल हो जाती है। दोनों चाइल्ड ऑर्डर 200-200 शेयरों के लिए सक्रिय हो जाते हैं।
- ट्रेडिंग स्टॉप प्राइस तक पहुँचती है। स्टॉप एक सक्रिय सेल ऑर्डर में बदल जाता है और बुक में काम करने लगता है।
- बाजार के विपरीत दिशा में जाने से पहले स्टॉप 120 शेयर फिल करता है। टारगेट लिमिट को 200 से घटाकर 80 कर दिया जाता है, जो बची हुई पोजीशन के बराबर है।
- वे अंतिम 80 शेयर बाद में सेशन के दौरान टारगेट पर फिल हो जाते हैं। स्टॉप के बचे हुए 80 शेयर कैंसिल हो जाते हैं और ब्रैकेट बंद हो जाता है।
एंट्री पर आंशिक फिल (partial fills) वह जगह है जहाँ प्लेटफॉर्म सबसे अधिक भिन्न होते हैं। कुछ ब्रोकर फिल की गई मात्रा के लिए चाइल्ड ऑर्डर्स को तुरंत सक्रिय कर देते हैं और एंट्री पूरी होने पर उन्हें बढ़ा देते हैं। अन्य एंट्री के पूरी तरह फिल होने का इंतजार करते हैं, जिससे उस अंतराल में पोजीशन असुरक्षित रहती है। ब्रोकर के अनुसार अर्थ अलग-अलग होते हैं जो केवल दिखावटी नहीं हैं: क्या चाइल्ड ऑर्डर आंशिक एंट्री फिल पर सक्रिय होते हैं, और क्या एक चाइल्ड को एडिट करने से दूसरे का कैंसिल लिंक टूट जाता है।
दोनों लेग्स के बीच कितनी दूरी होनी चाहिए?
दोनों लेग्स को किसी सामान्य दिन में शेयर की अस्थिरता (noise) से बाहर और उस दूरी के भीतर होना चाहिए जहाँ तक वह वास्तव में जा सकता है। दैनिक रेंज इसका पहला कच्चा पैमाना है। नीचे दिया गया पैनल पिछले वर्ष के छह प्रमुख नामों को दर्शाता है: ओपन के प्रतिशत के रूप में मीडियन हाई-टू-लो रेंज, और ओपन से क्लोज तक के मीडियन एब्सोल्यूट मूव के साथ।
हर आंकड़े के पीछे का पूरा SQL
SELECT
ticker,
round(quantileDeterministic(0.5)(
(toFloat64(high) - toFloat64(low)) / toFloat64(open) * 100,
toUInt32(date)), 2) AS median_range_pct,
round(quantileDeterministic(0.5)(
abs(toFloat64(close) - toFloat64(open)) / toFloat64(open) * 100,
toUInt32(date)), 2) AS median_open_to_close_pct
FROM global_markets.stocks_daily_aggs
WHERE ticker IN ('SPY', 'AAPL', 'MSFT', 'NVDA', 'KO', 'JNJ')
AND date >= today() - 370
AND date < today() - 2
GROUP BY ticker
ORDER BY median_range_pct DESCNVDA में छह में से सबसे व्यापक सेशन 2.72% पर है, और SPY में सबसे संकीर्ण 0.86% पर है। ध्यान दें कि हर पंक्ति में दूसरा कॉलम पहले से कितना नीचे है। एक सामान्य शेयर सेशन के दौरान ओपन से क्लोज तक की तुलना में काफी अधिक चलता है, और दोनों ब्रैकेट लेग्स उस यात्रा के भीतर रहते हैं। एक ही सामान्य दिन में टारगेट और स्टॉप दोनों तक पहुँचा जा सकता है।
ब्रैकेट लेग कितनी बार हिट होता है?
एंट्री से दूरी वह डायल है जिसे ट्रेडर वास्तव में नियंत्रित करता है। अगला पैनल SPY सेशन के तीन निश्चित वर्षों के डेटा को देखता है और पूछता है कि ओपनिंग प्रिंट से निश्चित दूरी पर, कितने प्रतिशत सेशन उस स्तर तक नीचे गए और कितने ऊपर।
हर आंकड़े के पीछे का पूरा SQL
SELECT
concat(toString(d.dist), '%') AS distance_from_open,
round(100 * countIf(
(toFloat64(a.open) - toFloat64(a.low)) / toFloat64(a.open) * 100 >= d.dist
) / count(), 1) AS reached_below_pct,
round(100 * countIf(
(toFloat64(a.high) - toFloat64(a.open)) / toFloat64(a.open) * 100 >= d.dist
) / count(), 1) AS reached_above_pct
FROM global_markets.stocks_daily_aggs AS a
CROSS JOIN
(
SELECT arrayJoin([0.25, 0.5, 1.0, 1.5, 2.0, 3.0]) AS dist
) AS d
WHERE a.ticker = 'SPY'
AND a.date >= '2023-08-01'
AND a.date < '2026-08-01'
GROUP BY d.dist
ORDER BY d.distओपन से एक चौथाई प्रतिशत की दूरी पर, 62.3% सेशन किसी बिंदु पर उतना नीचे ट्रेड हुए और 64.7% उतना ऊपर। दूरी को बढ़ाकर 3% करने पर डाउनसाइड का आंकड़ा 0.5% तक गिर जाता है। दोनों कर्व एक साथ घटते हैं, जो ब्रैकेट साइजिंग का मुख्य तनाव है। एक टाइट स्टॉप वह है जो सामान्य दिनों में भी हिट हो जाता है। एक दूर का टारगेट वह है जो ज्यादातर बिना फिल हुए समाप्त हो जाता है।
क्या स्टॉप लॉस हमेशा स्टॉप प्राइस पर ही फिल होता है?
नहीं। स्टॉप एक निर्देश है कि एक ट्रिगर प्राइस प्रिंट होने पर ऑर्डर भेजा जाए। एक साधारण स्टॉप मार्केट ऑर्डर भेजता है, और फिल उस क्षण बुक में जो भी कीमत उपलब्ध हो, उस पर होता है। एक स्टॉप लिमिट आपके द्वारा निर्धारित कीमत पर लिमिट ऑर्डर भेजता है, जो कीमत की रक्षा करता है लेकिन फिल न होने का जोखिम स्वीकार करता है। यह ट्रेड-ऑफ स्टॉप ऑर्डर बनाम स्टॉप लिमिट ऑर्डर का विषय है।
ओवरनाइट गैप सबसे स्पष्ट मामला है। एक सुरक्षात्मक स्टॉप उन घंटों के दौरान भी रहता है जब एक्सचेंज बंद होता है, और ओपनिंग प्रिंट ट्रिगर के काफी आगे हो सकता है। साढ़े तीन वर्षों में AAPL के दस उदाहरण:
हर आंकड़े के पीछे का पूरा SQL
SELECT
formatDateTime(session_date, '%b %e, %Y') AS gap_label,
round((day_open / prev_close - 1) * 100, 2) AS overnight_gap_pct
FROM
(
SELECT
session_date,
day_open,
lagInFrame(day_close) OVER (
ORDER BY session_date ROWS BETWEEN 1 PRECEDING AND CURRENT ROW
) AS prev_close
FROM
(
SELECT
date AS session_date,
toFloat64(any(open)) AS day_open,
toFloat64(any(close)) AS day_close
FROM global_markets.stocks_daily_aggs
WHERE ticker = 'AAPL'
AND date >= '2023-01-01'
AND date < '2026-07-01'
GROUP BY date
)
)
WHERE prev_close > 0
ORDER BY overnight_gap_pct ASC
LIMIT 10उनमें से सबसे बड़ा -9.45% था जो Aug 5, 2024 को हुआ, और सूची में दसवां भी -2.96% था। उन गैप्स के भीतर कहीं भी रखा गया सुरक्षात्मक स्टॉप ट्रिगर प्राइस पर नहीं, बल्कि ओपनिंग प्रिंट पर कन्वर्ट हुआ। केवल इंट्राडे रेंज से ब्रैकेट साइज करने पर यह दूरी अनमॉडल रह जाती है।
OCO लिंक वास्तव में कहाँ रहता है?
लगभग कभी भी एक्सचेंज पर नहीं। दो चाइल्ड ऑर्डर्स के बीच कैंसिल लिंक ब्रोकर के ऑर्डर-मैनेजमेंट सिस्टम में, या आपके अपने मशीन पर चल रहे ट्रेडिंग प्लेटफॉर्म में होता है। एक्सचेंज को दो सामान्य, असंबंधित ऑर्डर दिखाई देते हैं।
यह स्थान तय करता है कि आउटेज (सिस्टम बंद होने) के दौरान क्या सुरक्षित रहता है। ब्रोकर-साइड ब्रैकेट लैपटॉप बंद होने पर भी काम करता रहता है, क्योंकि ब्रोकर के सर्वर दोनों लेग्स और कैंसिल लॉजिक को संभालते हैं। प्लेटफॉर्म-साइड ब्रैकेट, जिसे कुछ चार्टिंग एप्लिकेशन स्थानीय रूप से लागू करते हैं, के लिए एप्लिकेशन का चालू और कनेक्टेड होना आवश्यक है। कुछ प्लेटफॉर्म एक सिम्युलेटेड स्टॉप रखते हैं जो केवल स्थानीय मेमोरी में मौजूद होता है जब तक कि ट्रिगर प्राइस प्रिंट न हो जाए। लैपटॉप बंद करें और वह स्टॉप कभी नहीं भेजा जाता।
यही सवाल आपके अपने कोड पर भी लागू होता है। एक स्टॉप जो केवल एक रनिंग प्रोसेस के अंदर रहता है, प्रोसेस बंद होने पर बुक में कुछ भी नहीं छोड़ता। ट्रेडिंग बॉट्स के लिए सर्किट ब्रेकर्स स्वचालित सिस्टम के लिए पैटर्न को कवर करता है: मान लें कि प्रोसेस सबसे खराब स्थिति में बंद हो जाती है, फिर पूछें कि ब्रोकर के पास क्या काम कर रहा है।
टाइम इन फोर्स प्रत्येक लेग पर लागू होता है
प्रत्येक लेग की अपनी टाइम इन फोर्स सेटिंग होती है। एक डे एंट्री के साथ GTC चाइल्ड ऑर्डर्स का मेल एक सामान्य और अजीब संयोजन है: एंट्री क्लोज पर समाप्त हो जाती है जबकि चाइल्ड ऑर्डर कभी सक्रिय नहीं होते, जिससे एक ऐसा ब्रैकेट रह जाता है जो अगली सुबह कुछ नहीं करता। इसके विपरीत, ओवरनाइट ले जाने वाली पोजीशन पर सुरक्षा 4:00 p.m. ET पर समाप्त हो जाती है।
नियमित घंटों के बाहर बुक का स्वरूप बदल जाता है। नीचे दिया गया पैनल पूरे दिन के SPY मिनट बार्स को ET समय के अनुसार बकेट करता है और प्रति आधे घंटे में दो चीजें पढ़ता है: एक-मिनट के मूव का औसत आकार, बेसिस पॉइंट्स में (एक बेसिस पॉइंट एक प्रतिशत का सौवां हिस्सा है), और एक मिनट में प्रिंट हुआ मीडियन वॉल्यूम।
हर आंकड़े के पीछे का पूरा SQL
SELECT
formatDateTime(
toStartOfInterval(toTimeZone(window_start, 'America/New_York'), INTERVAL 30 MINUTE),
'%H:%i') AS et_time,
round(avg(abs(toFloat64(close) - toFloat64(open)) / toFloat64(open) * 10000), 1) AS avg_move_bps,
round(quantileDeterministic(0.5)(toFloat64(volume), toUInt64(window_start)), 0) AS median_volume
FROM global_markets.delayed_stocks_minute_aggs
WHERE ticker = 'SPY'
AND window_start >= today() - 120
AND window_start < today() - 2
GROUP BY et_time
ORDER BY et_timeपैनल 32 आधे घंटे के बकेट लौटाता है, 04:00 से 19:30 ET तक। इसे बाएं से दाएं पढ़ें और आकार सब कुछ सिखा देता है। दोनों सीरीज प्रीमार्केट घंटों के दौरान अपने निचले स्तर पर रहती हैं, 09:30 के ओपन पर तेजी से ऊपर चढ़ती हैं, और 16:00 के बाद फिर से गिर जाती हैं। सुबह 5 बजे रखा गया GTC स्टॉप उस कर्व के पतले हिस्से में होता है, और इतनी पतली बुक में स्टॉप-मार्केट फिल ट्रिगर से काफी दूर हो सकता है।
अक्सर पूछे जाने वाले प्रश्न (FAQ)
ब्रैकेट ऑर्डर और OCO ऑर्डर में क्या अंतर है?
OCO स्वयं वह पेयर है: दो रेस्टिंग ऑर्डर जिनके बीच कैंसिल लिंक है, जहाँ एक के फिल होने पर दूसरा हट जाता है। ब्रैकेट एक एंट्री ऑर्डर है जिसके साथ एक OCO पेयर जुड़ा होता है, और पेयर केवल एंट्री फिल होने पर ही सक्रिय होता है। हर ब्रैकेट में एक OCO होता है। कई OCO पेयर अपने आप में भी उपयोग किए जाते हैं।
यदि मेरा कंप्यूटर बंद हो जाए तो क्या ब्रैकेट ऑर्डर काम करता है?
यह इस पर निर्भर करता है कि लिंकिंग कहाँ स्थित है। ब्रोकर-साइड ब्रैकेट ब्रोकर के सर्वर पर रहता है और प्लेटफॉर्म बंद होने पर भी काम करता रहता है। प्लेटफॉर्म-साइड या सिम्युलेटेड ब्रैकेट के लिए एप्लिकेशन का चालू और कनेक्टेड होना आवश्यक है, और इसके बिना चाइल्ड ऑर्डर शायद कभी बाजार तक न पहुँचें।
यदि प्रॉफिट टारगेट आंशिक रूप से फिल हो जाए तो स्टॉप का क्या होता है?
स्टॉप कैंसिल होने के बजाय फिल की गई मात्रा से कम हो जाता है। यदि 200-शेयर टारगेट 60 शेयर फिल करता है, तो स्टॉप 140 शेयरों तक गिर जाता है, जो खुली पोजीशन के बराबर होता है। कैंसिल तभी होता है जब पोजीशन का अंतिम हिस्सा बंद हो जाता है।
क्या मैं प्रीमार्केट या आफ्टर-ऑवर्स ट्रेडिंग में ब्रैकेट ऑर्डर का उपयोग कर सकता हूँ?
व्यवहार ब्रोकर के अनुसार अलग-अलग होता है, और कई ब्रोकर केवल नियमित घंटों के दौरान ही ब्रैकेट चाइल्ड ऑर्डर्स को रूट करते हैं। विशेष रूप से स्टॉप ऑर्डर अक्सर अमेरिकी इक्विटी पर 9:30 a.m. से 4:00 p.m. ET के बाहर अस्वीकार कर दिए जाते हैं या रोक दिए जाते हैं। प्रत्येक लेग पर टाइम-इन-फोर्स सेटिंग यह निर्धारित करती है कि क्या वह लेग विस्तारित सत्र के लिए पात्र है या नहीं।
क्या एक्सचेंज को पता होता है कि मेरे दो ऑर्डर जुड़े हुए हैं?
नहीं। अमेरिकी इक्विटी में कैंसिल लिंक ब्रोकर या प्लेटफॉर्म द्वारा रखा जाता है, और एक्सचेंज को दो स्वतंत्र ऑर्डर प्राप्त होते हैं। जीवित लेग के लिए कैंसिल संदेश उस सिस्टम द्वारा भेजा जाता है जो लिंक को रखता है, दूसरे लेग के फिल होने की रिपोर्ट के बाद।
यहाँ हर पैनल उसके नीचे के सटीक SQL के साथ आता है। किसी ऐसे शेयर पर रेंज और गैप जोखिम को मापने के लिए जिसे आप फॉलो करते हैं, Strasmore टर्मिनल पर सादे अंग्रेजी में सवाल पूछें।