लेख की विषय-सूची
- साक्ष्य और दायरा
- चित्रण
- प्रक्रिया
- ऊँची कीमत का अर्थ अधिक प्रॉमिनेंस वाला शिखर नहीं
- एक सीमित पुष्टिकरण विलंब वाला स्थानीय डिटेक्टर
- ऊंचाई, दहलीज, उभार और चौड़ाई अलग-अलग सवालों के जवाब देते हैं
- न्यूमेरिकल उदाहरण, रिजेक्टेड रिपल्स और घाटे वाले ट्रेड
- एंट्री बनाने से पहले एंकर फ़ीचर के तौर पर प्रॉमिनेंस का इस्तेमाल करें
- वॉल्यूम को एक अलग योगदान का परीक्षण करने दें
- ज्योमेट्री, स्टेबिलिटी और इकोनॉमिक वैल्यू को अलग-अलग वैलिडेट करें
- आम गलतियाँ
- व्यावहारिक जाँच सूची
- अक्सर पूछे जाने वाले प्रश्न
- शोध स्रोत
साक्ष्य और दायरा
ये तीनों रेफरेंस ऑफिशियल SciPy API डॉक्यूमेंट हैं जो डेफिनिशन और इम्प्लीमेंटेशन बिहेवियर को सपोर्ट करते हैं। वे इस बात का कोई सबूत नहीं देते कि इन फीचर्स से बनी ट्रेडिंग स्ट्रेटेजी फायदेमंद है।
व्यावहारिक कार्यप्रवाह
- श्रृंखला चुनेंक्लोज-प्राइस या इंडिकेटर सीरीज़ चुनकर स्थिर रखें और लापता डेटा की जाँच करें।
- खिड़की का इंतज़ार करेंइसके सेंटर को तभी देखें जब दाहिना हिस्सा बंद हो जाए।
- दोनों आधार ज्ञात करेंखिड़की की सीमाओं और ऊंची चोटियों का सम्मान करें।
- सुसंगत इकाइयों में सामान्यीकृत करेंप्रॉमिनेंस की तुलना रजिस्टर्ड, यूनिट-कंसिस्टेंट थ्रेशहोल्ड से करें।
- इवेंट को फ़्रीज़ करेंप्रॉपर्टीज़ और सही कन्फर्मेशन टाइमस्टैम्प स्टोर करें।
ऊँची कीमत का अर्थ अधिक प्रॉमिनेंस वाला शिखर नहीं
120 पर 119.8 के पास आस-पास के बेस के ऊपर एक क्लोज, 100 के पास बेस के ऊपर 105 पर क्लोज की तुलना में स्ट्रक्चर के हिसाब से कम अलग हो सकता है। एब्सोल्यूट हाइट इंस्ट्रूमेंट की नॉमिनल कीमत पर निर्भर करती है। प्रॉमिनेंस एक अलग ज्योमेट्रिक सवाल पूछता है: कैंडिडेट अपने आस-पास के स्ट्रक्चर को जोड़ने वाले कंटूर से कितना ऊपर उठता है?
SciPy दो साइड बेस [1] में से जो ज़्यादा है, उसका इस्तेमाल करके प्रॉमिनेंस को बताता है। चौड़ाई को एक तय रिलेटिव प्रॉमिनेंस ऊंचाई [2] पर मापा जाता है, जबकि find_peaks कई अलग-अलग फिल्टर [3] दिखाता है। ये न्यूमेरिकल-सीरीज़ टूल हैं। किसी माने हुए पीक को रेजिस्टेंस, डिस्ट्रीब्यूशन या ट्रेडिंग के मौके के तौर पर समझने के लिए और कॉन्टेक्स्ट और इंडिपेंडेंट टेस्टिंग की ज़रूरत होती है।
उद्देश्य नगण्य एंकरों को एक पुनरुत्पादित की जा सकने वाली प्रक्रिया से कम करना है। अधिक प्रॉमिनेंस अंतिम शिखर की गारंटी नहीं देता। मज़बूत ट्रेंड स्थानीय शिखर के बाद और ऊपर जा सकता है; आसपास की संरचना की पुष्टि का इंतज़ार करने से रिवॉर्ड-टू-रिस्क आकर्षक नहीं रह सकता।
एक सीमित पुष्टिकरण विलंब वाला स्थानीय डिटेक्टर
प्रस्तावित बेसलाइन W=11 ऑब्ज़र्वेशन और रेडियस h=5 का इस्तेमाल करती है। t के आखिर में, i−5 के अंदर i+5 तक सिर्फ़ कैंडिडेट i=t−5 को इवैल्यूएट करें। कम से कम 1.5×ATR[i−1] की प्रोमिनेंस चाहिए। W=11 और 1.5 एक्सपेरिमेंटल सेटिंग्स हैं, ऑप्टिमाइज़्ड वैल्यू नहीं। कैंडिडेट से पहले ATR एक फिक्स्ड वोलैटिलिटी रेफरेंस देता है जो कन्फर्मेशन से पहले से पता है।
पीक से, हर तरफ तब तक देखें जब तक विंडो बाउंड्री या कोई ऊंचा पीक सर्च को लिमिट न कर दे। हर इंटरवल में मिनिमम ढूंढें, ऊंचा बेस चुनें और उसे कैंडिडेट वैल्यू से घटा दें। ट्रफ के लिए, नेगेटिव क्लोज प्राइस पर वही ज्योमेट्री अप्लाई करें। दोनों तरफ सबसे कम वैल्यू लेने से बड़े स्ट्रक्चर के शोल्डर पर बैठे पीक के लिए प्रोमिनेंस को बढ़ा-चढ़ाकर बताया जाएगा।
कोड प्लेटो को एक ही ऑब्ज़र्वेशन तक सीमित रखता है। अगर फ़्लैट टॉप की ज़रूरत है, तो उनके रिप्रेजेंटेटिव टाइमस्टैम्प और पूरी कन्फ़र्मेशन पॉलिसी को दूसरे वर्शन के तौर पर डिफ़ाइन करें। NaN वैल्यू चुपचाप ज़ीरो नहीं होनी चाहिए क्योंकि इससे आर्टिफ़िशियल डीप बेस बनेंगे। विंडो बाउंड्री पर एक कैंडिडेट के पास ज़रूरी आस-पास के सबूत नहीं होते हैं और उसे सेंटर्ड पीक नहीं माना जाना चाहिए।
h = 5; W = 2*h + 1
on_closed_bar(t):
i = t - h
if i-h < 0 or invalid_data(i-h, t): return
x = close[i-h:t+1]
candidates, _ = find_peaks(x, plateau_size=(1,1))
if h not in candidates: return
prominences, left_bases, right_bases = peak_prominences(x, [h], wlen=W)
p = prominences[0]
a = ATR[i-1]
if a is not missing and isfinite(a) and a > 0 and p / a >= 1.5:
emit_once(i, confirmed_at=t, prominence=p, window=W)
# Troughs: repeat on -close, preserving timestamps and ATR.
ऊंचाई, दहलीज, उभार और चौड़ाई अलग-अलग सवालों के जवाब देते हैं
ऊंचाई चोटी की वैल्यू है। थ्रेशोल्ड आस-पास के ऑब्ज़र्वेशन से इसके तुरंत के अंतर को मापता है। प्रोमिनेंस एक बड़े आस-पास के बेस का इस्तेमाल करता है। चौड़ाई चुने हुए वर्टिकल लेवल पर हॉरिजॉन्टल फैलाव को मापती है। एक चौड़े गोल टॉप में काफी प्रोमिनेंस बनाए रखते हुए आस-पास के छोटे अंतर हो सकते हैं; एक हाई थ्रेशोल्ड ज़रूरत अनजाने में सिर्फ़ एक-बार स्पाइक्स रख सकती है।
डिस्टेंस फ़िल्टरिंग के लिए भी एक कॉज़ल पॉलिसी की ज़रूरत होती है। पूरी हिस्टोरिकल सीरीज़ पर find_peaks चलाने और पहले के पास के पीक को हटाने के लिए भविष्य के बड़े पीक को अनुमति देने से पिछला सिलेक्शन बदल सकता है। बेसलाइन हर सेंटर्ड कैंडिडेट का मूल्यांकन करती है और कोई ग्लोबल डिस्टेंस प्रूनिंग लागू नहीं करती है। पब्लिश हुए इवेंट्स के बाद कूलडाउन एक संभावित विकल्प है, लेकिन यह बाद में दिखने वाले सबसे प्रभावशाली पीक के बजाय क्रोनोलॉजिकल उपलब्धता को प्राथमिकता देता है।
फ़िल्टर द्वारा कैंडिडेट अस्वीकार होने पर भी उसकी सभी मापी गई विशेषताएँ इवेंट रिकॉर्ड में रखें। इससे पता चलेगा कि किस शर्त ने अवसर हटाया। अन्यथा चौड़ाई और दूरी एक साथ जोड़ने पर समग्र आँकड़ा सुधर सकता है, लेकिन यह स्पष्ट नहीं होगा कि बदलाव आकार, समय या ट्रेडों की संख्या से आया।
न्यूमेरिकल उदाहरण, रिजेक्टेड रिपल्स और घाटे वाले ट्रेड
सिंथेटिक लोकल सेगमेंट: 100, 101, 103, 106, 104, 102, 103. ठीक इसी उदाहरण वाले सेगमेंट में, बायां बेस 100 है और दायां बेस 102 है, इसलिए प्रॉमिनेंस 4 है. रेफरेंस ATR=2 के साथ, नॉर्मलाइज़्ड प्रॉमिनेंस 2 ATR है और यह प्रस्तावित 1.5 थ्रेशहोल्ड से ज़्यादा है. इसे पब्लिश इवेंट बनाने से पहले आस-पास की विंडो को अभी भी खत्म होना है.
एक और सेगमेंट, 108, 109, 110, 109.8, 109.7, में एक ज़्यादा एब्सोल्यूट पीक है लेकिन 109.7 का एक ज़्यादा साइड बेस है। इसका लोकल प्रोमिनेंस सिर्फ़ 0.3 है; ATR=1 के साथ यह उसी फ़िल्टर में फेल हो जाता है। ये सेगमेंट पूरे W=11 फिक्स्चर या इस बात का सबूत नहीं हैं कि एक फ़ायदेमंद ट्रेड करता है और दूसरा नहीं, बल्कि ज्योमेट्री दिखाते हैं।
एक ट्रेड एक खास हाई के बाद नुकसान में जा सकता है। मान लीजिए कन्फर्मेशन से शॉर्ट की इजाज़त मिलती है, तो अगला अवेलेबल फिल 101.8 है और एक स्ट्रक्चरल स्टॉप 106.2 पर है। प्लान्ड प्राइस रिस्क पहले से ही 4.4 पॉइंट्स है। 107 पर रिबाउंड होने पर ट्रेड हार जाता है, भले ही डिटेक्टर ने पहले के एक्सट्रीम को सही ढंग से मापा हो। प्रोमिनेंस के बराबर एक प्रोजेक्टेड टारगेट खुद एक अलग हाइपोथिसिस होगी।
लोकैलिटी टेस्ट करने के लिए फिक्स्ड विंडो के ठीक अंदर या ठीक बाहर एक ऊंचा नेबरिंग पीक जोड़ें। नए इवैल्यूएट किए गए कैंडिडेट का प्रॉमिनेंस उन डेटासेट के बीच बदल सकता है, लेकिन बिना बदले हुए प्रीफिक्स से पहले पब्लिश हुए इवेंट को दोबारा नहीं लिखा जाना चाहिए। यह जानबूझकर बनाई गई विंडो डेफिनिशन को भविष्य के स्ट्रक्चर के गलती से इस्तेमाल से अलग करता है।
एंट्री बनाने से पहले एंकर फ़ीचर के तौर पर प्रॉमिनेंस का इस्तेमाल करें
एक सुझाया गया इस्तेमाल यह है कि डबल टॉप या रेजिस्टेंस ज़ोन के लिए एंकर चुनें, जबकि ट्रिगर को बाद के इवेंट पर छोड़ दें, जैसे कि बीच के लो के नीचे क्लोज। window_start, window_end, दोनों बेस, प्रॉमिनेंस, ATR_ref, डिटेक्टर वर्शन और confirmed_at को कैंडिडेट के साथ फ्रीज़ करें। ये फील्ड फैसले को ठीक से फिर से बनाने की इजाज़त देते हैं।
कन्फर्मेशन के तुरंत बाद एंट्री के लिए अपना स्टॉप, टाइम एग्जिट, एक्सपोजर लिमिट और एग्जीक्यूशन मॉडल चाहिए। प्रॉमिनेंस कोई नेचुरल गारंटीड प्राइस टारगेट नहीं देता है। प्रॉमिनेंस-बेस्ड प्रोजेक्शन की तुलना फिक्स्ड-R टारगेट या टाइम एग्जिट से सिर्फ रजिस्टर्ड कॉन्फ़िगरेशन में करें; हर अट्रैक्टिव चार्ट के लिए अलग से एग्जिट न चुनें।
जब डिटेक्टर RSI या किसी दूसरे बाउंडेड इंडिकेटर पर काम करता है, तो उसका प्रॉमिनेंस इंडिकेटर पॉइंट्स में मापा जाता है। RSI प्रॉमिनेंस को कीमत ATR से डिवाइड करने पर यूनिट्स मिक्स हो जाती हैं। डायमेंशनली कंसिस्टेंट नॉर्मलाइज़ेशन का इस्तेमाल करें, या रॉ इंडिकेटर पॉइंट्स को अलग से कैलिब्रेट किए गए फ़ीचर के तौर पर रखें। लॉग-प्राइस और ऑर्डिनरी-प्राइस डिटेक्टर्स की तुलना करते समय भी यही चेतावनी लागू होती है।
वॉल्यूम को एक अलग योगदान का परीक्षण करने दें
वॉल्यूम प्रॉमिनेंस फ़ॉर्मूले में नहीं है, इसलिए यह एक अलग डेटा फ़ीचर जोड़ सकता है, लेकिन यह स्टैटिस्टिकल इंडिपेंडेंस की गारंटी नहीं देता है। एक्सट्रीम के पास की एक्टिविटी और आखिरी ट्रिगर पर RVOL को अलग-अलग सेव करें। सिर्फ़ ज़्यादा एग्रीगेट वॉल्यूम से इंस्टीट्यूशनल पार्टिसिपेशन की पहचान नहीं हो सकती है, और न्यूज़ के आस-पास के खास पीक महंगे स्प्रेड के साथ मेल खा सकते हैं।
ऑब्ज़र्वेशन को प्रॉमिनेंस/ATR के हिसाब से ग्रुप करें और उन ग्रुप में अलग-अलग RVOL रेंज की तुलना करें। यह पूछता है कि क्या वॉल्यूम सिर्फ़ बड़े मूव्स को चुनने के बजाय प्राइस एम्प्लिट्यूड से आगे की जानकारी जोड़ता है। इंट्राडे एसेट्स के लिए मिलते-जुलते सेशन-टाइम बेसलाइन का इस्तेमाल करें, और क्रिप्टो के लिए वेन्यू और बेस-वर्सस-कोट-वॉल्यूम कन्वेंशन तय करें।
रिपोर्ट करें कि वॉल्यूम फ़िल्टर सिग्नल काउंट, एवरेज होल्डिंग टाइम और एक्सपोज़र को कैसे बदलता है। अगर फ़िल्टर कई काम के मौकों को छोड़ देता है, तो हर भरे हुए ट्रेड पर ज़्यादा एवरेज प्रॉफ़िट कम पोर्टफ़ोलियो परफ़ॉर्मेंस के साथ हो सकता है। मिसिंग वॉल्यूम के लिए एक साफ़ अनअवेलेबल-डेटा पॉलिसी होनी चाहिए, न कि इसे बहुत ज़्यादा ड्राई-अप समझा जाए।
ज्योमेट्री, स्टेबिलिटी और इकोनॉमिक वैल्यू को अलग-अलग वैलिडेट करें
फिक्सचर में एक बड़ी चोटी के बगल में नेस्टेड एक छोटी चोटी, फ्लैट प्लेटो, NaNs, विंडो एज और पास-पास रखे कैंडिडेट शामिल होने चाहिए। सही बेस लोकेशन और रिजल्टिंग प्रोमिनेंस चेक करें। अगर SciPy इस्तेमाल किया जाता है, तो उसका वर्जन और कोई भी प्रीप्रोसेसिंग रिकॉर्ड करें; एक सेंटर्ड स्मूथिंग फिल्टर अपना फ्यूचर-डेटा डिले जोड़ता है।
रिटेन किए गए एंकर की संख्या, फिक्स्ड h-बार कन्फर्मेशन लैग और डाउनस्ट्रीम पैटर्न का वह हिस्सा मापें जो उनके फाइनल एंकर के उपलब्ध होने पर पुराने हो जाते हैं। फिर रियलिस्टिक कॉस्ट और एग्जीक्यूशन के साथ एक लॉक्ड टेस्ट पीरियड पर नेट रिजल्ट्स को इवैल्यूएट करें। एक विज़ुअली साफ चार्ट कोई इकोनॉमिक मेट्रिक नहीं है।
W बढ़ाने से नए इवैल्यूएटेड लोकल स्ट्रक्चर की डेफ़िनिशन बदल जाती है। इसे पिछले वर्शन से जुड़े पहले से पब्लिश इवेंट्स को मॉडिफ़ाई नहीं करना चाहिए। डेवलपमेंट डेटा पर आस-पास के विंडो साइज़ की तुलना करें, ट्रायल्स की संख्या रजिस्टर करें और रिपोर्ट करें कि क्या एक्स्ट्रा फ़िल्टरिंग से छूटे हुए मौकों को ध्यान में रखते हुए नेट एक्सपेक्टेंसी या रिस्क में कोई खास सुधार होता है।
आम गलतियाँ
प्रमुखता को पूर्ण ऊँचाई के साथ भ्रमित करना
ज़्यादा नॉमिनल कीमत का मतलब यह नहीं है कि लोकल बेस के मुकाबले यह ज़्यादा खास पीक पर है।
पूरी सीरीज़ देखने के बाद प्रूनिंग की दूरी
भविष्य का पीक पहले के इवेंट को हटा सकता है। इसके बजाय रीप्ले या बताए गए कॉज़ल कूलडाउन का इस्तेमाल करें।
देरी का हिसाब रखे बिना स्मूद करना
एक सेंटर्ड स्मूथर बाद के ऑब्ज़र्वेशन का इस्तेमाल करता है। उस देरी को इवेंट की असल अवेलेबिलिटी में जोड़ें।
इस विधि का उपयोग करने से पहले जाँच सूची
अपने डेटा पर सत्यापन के बाद प्रत्येक मद पर निशान लगाएँ। प्रगति इसी ब्राउज़र में सहेजी जाती है; यह रणनीति के लाभदायक होने का प्रमाणपत्र नहीं है।
अक्सर पूछे जाने वाले प्रश्न
क्या प्रोमिनेंस एक आम पिवट से बेहतर है?
यह एक एम्प्लिट्यूड-और-बेस क्राइटेरिया जोड़ता है। इससे मदद मिलेगी या नहीं, यह डिटेक्टर के मकसद और उसके एंकर्स का इस्तेमाल करने वाली स्ट्रैटेजी के आउट-ऑफ-सैंपल परफॉर्मेंस पर निर्भर करता है।
क्या प्रोमिनेंस RSI पीक्स का पता लगा सकता है?
हाँ, क्योंकि RSI एक न्यूमेरिकल सीरीज़ है। रिज़ल्टिंग यूनिट RSI पॉइंट हैं, इसलिए प्राइस ATR एक वैलिड डायरेक्ट डिनॉमिनेटर नहीं है।
शोध स्रोत
हर स्रोत अपने साथ दिए गए विवरण में परिभाषा या साक्ष्य का समर्थन करता है। छद्मकोड, कृत्रिम उदाहरण और प्रस्तावित पैरामीटर अलग सत्यापन माँगते हैं।
- scipy.signal.peak_prominencesSciPy. आधार, wlen और एल्गोरिदम की परिभाषाओं का अध्ययन किया गया; यह संख्यात्मक दस्तावेज़ है, वित्तीय शोध नहीं। जाँच की तारीख: .
- scipy.signal.peak_widthsSciPy. सापेक्ष प्रॉमिनेंस पर चौड़ाई का मापन और इंटरपोलेशन व्यवहार देखा गया। जाँच की तारीख: .
- scipy.signal.find_peaksSciPy. फ़िल्टर की परिभाषाएँ और दूरी का व्यवहार देखा गया। जाँच की तारीख: .
संबंधित विधियाँ
जोखिम संबंधी सूचना
यह सामग्री शिक्षा और शोध की योजना बनाने के लिए है, वित्तीय सलाह नहीं। Backtest ऐतिहासिक डेटा का सिमुलेशन है, भविष्य के प्रदर्शन की गारंटी नहीं देता और वास्तविक ट्रेड नहीं करता। इस संग्रह की विधियाँ अपने-आप ऐप में उपलब्ध सुविधाएँ नहीं हैं। देखें कार्यपद्धति और शिक्षण केंद्र.
वास्तविक पूँजी जोखिम में डालने से पहले नियमों का सत्यापन करें
ऐप की क्षमताओं, डेटा और प्रत्येक सिमुलेटेड ट्रेड की जाँच करें; उन्नत डिटेक्टरों के लिए अलग कार्यान्वयन की आवश्यकता हो सकती है।
App Store से Backtest डाउनलोड करें