बैंडपास फ़िल्टरिंग प्रवृत्ति निष्कर्षण रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-03 15:22:49
टैगः

img

अवलोकन

बैंडपास फ़िल्टरिंग ट्रेंड एक्सट्रैक्शन रणनीति बैंडपास फ़िल्टर पर आधारित एक स्टॉक ट्रेंड ट्रैकिंग रणनीति है। यह मूल्य श्रृंखला को संसाधित करने और प्रविष्टियों और निकासों के लिए संकेत के रूप में कीमतों में प्रवृत्ति घटक को निकालने के लिए घातीय रूप से भारित चलती औसत और बैंडपास फ़िल्टरिंग का उपयोग करता है।

सिद्धांत

रणनीति पहले चलती औसत की लंबाई और चिकनाई को नियंत्रित करने के लिए लंबाई और डेल्टा मापदंडों को समायोजित करके एक डबल घातीय चलती औसत का निर्माण करती है। फिर यह मूल्य श्रृंखला से प्रवृत्ति घटक को निकालने के लिए गणितीय परिवर्तनों के एक सेट का उपयोग करता है और इसे xBandpassFilter चर में संग्रहीत करता है। अंत में, यह प्रविष्टियों और निकास के लिए संकेतक के रूप में xBandpassFilter, xMean के सरल चलती औसत की गणना करता है।

जब xMean ट्रिगर स्तर के ऊपर पार करता है, तो यह लंबा हो जाता है, और नीचे पार करते समय छोटा हो जाता है। प्रवेश और निकास की संवेदनशीलता को ट्रिगर स्तर को ट्यून करके नियंत्रित किया जा सकता है।

लाभ

  1. डबल ईएमए प्रभावी रूप से अधिक स्थिर रणनीतियों के लिए कीमतों में कुछ शोर को फ़िल्टर करता है।
  2. बैंडपास फ़िल्टरिंग केवल कीमतों में रुझान घटक को निकालती है, जिससे विप्सॉव से बचा जाता है।
  3. कम मापदंड अनुकूलन और जोखिम नियंत्रण को आसान बनाते हैं।

जोखिम

  1. समय की विलंबता तेजी से उलटफेर के कारण खोए हुए अवसरों का कारण बनती है।
  2. डबल ईएमए और बैंडपास फ़िल्टरिंग में कम पास प्रभाव होते हैं, जिससे संवेदनशीलता कम होती है।
  3. अत्यधिक फ़िल्टरिंग के कारण मजबूत रुझानों की कमी हो सकती है यदि मापदंडों को खराब रूप से समायोजित किया जाता है।

लंबाई को छोटा करने से विलंब की समस्याएं सुधरी जा सकती हैं। ट्रिगर को ट्यून करने से संवेदनशीलता नियंत्रित होती है।

सुधार

  1. एकल व्यापार हानि को नियंत्रित करने के लिए स्टॉप लॉस जोड़ें.
  2. दोहरी चलती औसत प्रणाली स्थिरता में सुधार कर सकती है।
  3. वॉल्यूम या अन्य रिवर्स सिग्नल के साथ संयोजन करें ताकि whipsaws से बचा जा सके।
  4. मापदंडों को अनुकूलित करने के लिए मशीन लर्निंग या आनुवंशिक एल्गोरिदम का उपयोग करें।

निष्कर्ष

यह रणनीति मजबूत ट्रेंडिंग बाजारों में अच्छे प्रदर्शन के साथ अपेक्षाकृत स्थिर है। कई बाजार वातावरणों में आगे के अनुकूलन इसे अधिक विश्वसनीय रूप से लाभदायक बना सकते हैं। यह आगे के शोध और अनुप्रयोग की गारंटी देता है।


/*backtest
start: 2022-12-27 00:00:00
end: 2024-01-02 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version = 2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 14/12/2016
// The related article is copyrighted material from Stocks & Commodities Mar 2010
//
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Extracting The Trend Strategy Backtest")
Length = input(20, minval=1)
Delta = input(0.5)
Trigger = input(0)
reverse = input(false, title="Trade reverse")
hline(Trigger, color=blue, linestyle=line)
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
pos = iff(xMean > Trigger, 1,
	   iff(xMean < Trigger, -1, nz(pos[1], 0))) 
possig = iff(reverse and pos == 1, -1,
          iff(reverse and pos == -1, 1, pos))	   
if (possig == 1) 
    strategy.entry("Long", strategy.long)
if (possig == -1)
    strategy.entry("Short", strategy.short)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMean, color=red, title="ExTrend")

अधिक