कोपॉक वक्र आधारित मात्रात्मक व्यापारिक रणनीति

लेखक:चाओझांग, दिनांकः 2023-11-13 11:44:55
टैगः

img

अवलोकन

यह रणनीति मात्रात्मक व्यापार को लागू करने के लिए कम ज्ञात कॉपॉक वक्र तकनीकी संकेतक का उपयोग करती है। कॉपॉक वक्र को एस एंड पी 500 जैसे बाजार सूचकांक या एसपीवाई ईटीएफ जैसे एक ट्रेडिंग समकक्ष की परिवर्तन दर (आरओसी) के भारित चलती औसत को लेकर प्राप्त किया जाता है। जब कॉपॉक वक्र शून्य से ऊपर पार करता है तो खरीद संकेत उत्पन्न होते हैं और जब यह नीचे पार करता है तो संकेत बेचते हैं। लाभ में लॉक करने के लिए एक वैकल्पिक ट्रेलिंग स्टॉप लॉस उपलब्ध है। रणनीति अन्य ईटीएफ और शेयरों पर व्यापार संकेत उत्पन्न करने के लिए एक प्रॉक्सी के रूप में $ एसपीवाई कॉपॉक वक्र का उपयोग करती है।

सिद्धांत

रणनीति व्यापार संकेत उत्पन्न करने के लिए तकनीकी संकेतक के रूप में कोपॉक वक्र का उपयोग करती है। कोपॉक वक्र सूत्र हैः

कोपॉक वक्र = 10 अवधि WMA (14-अवधि ROC + 11 अवधि ROC)

जहां आरओसी परिवर्तन दर की गणना इस प्रकार की जाती हैः (वर्तमान बंद - बंद N अवधि पहले) / बंद N अवधि पहले

यह रणनीति $SPY के समापन मूल्य के आधार पर कॉपॉक वक्र की गणना करती है। जब वक्र शून्य से ऊपर पार होता है तो खरीद संकेत उत्पन्न होते हैं और जब यह नीचे पार होता है तो बिक्री संकेत उत्पन्न होते हैं।

लाभ

  • अद्वितीय कॉपॉक वक्र संकेतक का उपयोग करता है जो चलती औसत जैसे सामान्य संकेतकों की तुलना में बेहतर भविष्यवाणी शक्ति है
  • अनुकूलन के लिए विन्यास योग्य मापदंड जैसे WMA अवधि, ROC अवधि आदि।
  • सिग्नल स्रोत के रूप में $SPY का उपयोग करता है जिसके पास मजबूत बाजार प्रतिनिधित्व है
  • लाभ में लॉक करने और ड्रॉडाउन को कम करने के लिए वैकल्पिक ट्रैलिंग स्टॉप लॉस

जोखिम

  • कोपॉक वक्र व्यापक रूप से उपयोग किया जाने वाला संकेतक नहीं है, इसकी प्रभावशीलता को सत्यापित करने की आवश्यकता है
  • सिग्नल विलंब हो सकता है, मापदंडों को अनुकूलित करने की आवश्यकता है
  • बहुत व्यापक स्टॉप लॉस से पॉलबैक के अवसर चूक सकते हैं
  • एकल संकेतक पर भरोसा करने से गलत संकेत मिल सकते हैं

अनुकूलन दिशाएँ

  • विभिन्न बाजारों और स्टॉक में सर्वोत्तम पैरामीटर संयोजनों का परीक्षण करें
  • झूठे संकेतों को फ़िल्टर करने के लिए अन्य संकेतकों के साथ संयोजन, उदाहरण के लिए मात्रा
  • स्टॉप लॉस प्रतिशत का गतिशील अनुकूलन
  • अन्य प्रवेश संकेतों पर विचार करें जैसे कि बारों की संख्या या मूल्य सफलता

निष्कर्ष

यह रणनीति व्यापार संकेत उत्पन्न करने के लिए कोपॉक वक्र की अद्वितीय वक्र आकार विशेषताओं का उपयोग करती है। आम संकेतकों की तुलना में, कोपॉक वक्र में मजबूत भविष्य कहने की शक्ति है। लेकिन एक स्टैंडअलोन संकेतक के रूप में, इसकी विश्वसनीयता को सत्यापन की आवश्यकता है। झूठे संकेतों को फ़िल्टर करने के लिए इसे अन्य कारकों के साथ जोड़ने की सिफारिश की जाती है। पैरामीटर अनुकूलन, स्टॉप लॉस अनुकूलन और अन्य संकेतकों के साथ संयोजन के माध्यम से, यह रणनीति एक प्रभावी मात्रात्मक व्यापार प्रणाली बन सकती है।


/*backtest
start: 2023-10-13 00:00:00
end: 2023-11-12 00:00:00
period: 1d
basePeriod: 1h
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © RolandoSantos

//@version=4
strategy(title = "Coppock Curve", shorttitle = "Copp Curve Strat", default_qty_type=strategy.cash, default_qty_value=10000, initial_capital=10000)

///trail stop
longTrailPerc = input(title="Trail Long Loss (%)", minval=0.0, step=0.1, defval=100) * 0.01

// Determine trail stop loss prices
longStopPrice = 0.0

longStopPrice := if (strategy.position_size > 0)
    stopValue = close * (1 - longTrailPerc)
    max(stopValue, longStopPrice[1])
else
    0
//Use SPY for Copp Curve entries and exits//
security = input("SPY")
ticker = security(security, "D", close)

///Copp Curve////
wmaLength = input(title="WMA Length", type=input.integer, defval=10)
longRoCLength = input(title="Long RoC Length", type=input.integer, defval=14)
shortRoCLength = input(title="Short RoC Length", type=input.integer, defval=11)
source = ticker
curve = wma(roc(source, longRoCLength) + roc(source, shortRoCLength), wmaLength)

///Lower Band Plot///
band1 = hline(0)
band0 = hline(100)
band2 = hline(-100)
fill(band1, band0, color=color.green, transp=90)
fill(band2, band1, color=color.red, transp=90)
plot(curve, color=color.white)

///Trade Conditions///
Bull = curve > 0
Bear = curve < 0

///Entries and Exits//
if (Bull)
    strategy.entry("Long", strategy.long, comment = "LE")
    

if (Bear)
    strategy.close("Long", qty_percent=100, comment="close")
    
// Submit exit orders for trail stop loss price
if (strategy.position_size > 0)
    strategy.exit(id="Long Trail Stop", stop=longStopPrice)
    


अधिक