अनुकूली नियमित चलती औसत क्रॉस-मार्केट मध्यस्थता रणनीति

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

img

अवलोकन

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

रणनीतिक सिद्धांत

रणनीति पहले एक स्केल मिनिमैक्स फ़ंक्शन को परिभाषित करती है ताकि समय श्रृंखला को एक निर्दिष्ट सीमा तक मानकीकृत किया जा सके। फिर यह एक अनुकूलन योग्य नियमित चलती औसत फ़ंक्शन रीमा को परिभाषित करती है ताकि चिकनी सिग्नल लाइन सिग की गणना की जा सके। सिग्नल लाइन की गणना हैः

  1. एक स्लाइडिंग विंडो को परिभाषित करें, डिफ़ॉल्ट लंबाई 5 दिन है.

  2. प्रत्येक दिन के लिए सिग मूल्य पिछले सिग मूल्य और वर्तमान समापन मूल्य का भारित औसत है। भारन में एक अनुकूलन भारन तंत्र का उपयोग किया जाता है, जहां वर्तमान मूल्य के करीब मूल्यों को अधिक भारित किया जाता है।

  3. सिग्नल संक्रमण को सुचारू बनाने के लिए एक नियमितकर्ता के रूप में λ पैरामीटर जोड़ें।

सिग्नल लाइन प्राप्त करने के बाद, रणनीति सिग्नल लाइन और मूल्य के स्वर्ण/मृत क्रॉस के आधार पर लंबी/लघु निर्धारित करती है। विशेष रूप सेः

  1. जब SIG कीमत के ऊपर से गुजरता है, तो लंबा हो जाता है।

  2. जब SIG कीमत के नीचे पार हो जाता है, तो शॉर्ट करें।

इसके अतिरिक्त, रणनीति लचीलापन बढ़ाने के लिए समायोज्य मापदंडों के रूप में चिकनी कारक और show_line जोड़ती है।

लाभ विश्लेषण

पारंपरिक चलती औसत रणनीतियों की तुलना में, इस रणनीति के निम्नलिखित फायदे हैंः

  1. अनुकूली भारन तंत्र मूल्य परिवर्तनों पर तेजी से प्रतिक्रिया दे सकता है।

  2. जोड़ा गया नियमित करने वाला सिग्नल लाइन को चिकनी बनाता है, जिससे कीमतों में भारी उतार-चढ़ाव से गलत संकेतों से बचा जा सकता है।

  3. क्रॉस-मार्केट आर्बिट्रेज बाजारों के बीच मूल्य अंतरों से लाभ उठा सकता है।

  4. लचीले समायोज्य मापदंडों को बाजार की स्थितियों के अनुसार अनुकूलित किया जा सकता है।

जोखिम और समाधान

इस रणनीति में कुछ जोखिम भी हैं:

  1. डबल क्रॉसओवर से गलत संकेतों की संभावना अधिक है। समाधान सिग्नल लाइन के दोलन से बचने के लिए चिकनी पैरामीटर को ठीक से समायोजित करना है।

  2. क्रॉस-मार्केट आर्बिट्रेज के लिए दो बाजारों में मूल्य सहसंबंध और सुसंगत रुझानों की आवश्यकता होती है। समाधान आर्बिट्रेज के लिए अत्यधिक सहसंबंधित बाजारों का चयन करना है।

  3. पैरामीटर अनुकूलन के लिए बैकटेस्टिंग के लिए पर्याप्त ऐतिहासिक डेटा की आवश्यकता होती है। समाधान लाइव ट्रेडिंग में सावधानीपूर्वक मापदंडों को समायोजित करना है।

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

इस रणनीति को निम्नलिखित पहलुओं में भी अनुकूलित किया जा सकता हैः

  1. पैरामीटर चयन में, पैरामीटर संयोजनों को स्वचालित रूप से अनुकूलित करने के लिए मशीन लर्निंग एल्गोरिदम पेश किए जा सकते हैं।

  2. सिग्नल जनरेशन में अधिक स्थिर ट्रेडिंग सिग्नल बनाने के लिए अधिक संकेतक पेश किए जा सकते हैं।

  3. जोखिम नियंत्रण में, प्रति व्यापार हानि को सीमित करने के लिए स्टॉप लॉस सेट किया जा सकता है।

  4. क्रॉस-मार्केट आर्बिट्रेज में, इसे अधिक अत्यधिक सहसंबद्ध ट्रेडिंग परिसंपत्तियों तक बढ़ाया जा सकता है।

सारांश

यह रणनीति चलती औसत की अनुकूलित गणना करके बाजारों के बीच मध्यस्थता व्यापार को लागू करती है। पारंपरिक चलती औसत रणनीतियों की तुलना में, इसमें अनुकूलन पैरामीटर, चिकनी प्रसंस्करण, क्रॉस-मार्केट मध्यस्थता, आदि के फायदे हैं। अगले कदम मशीन लर्निंग, संयुक्त संकेतों, जोखिम प्रबंधन, आदि के माध्यम से रणनीति को और अनुकूलित करना है।


/*backtest
start: 2023-10-01 00:00:00
end: 2023-10-31 23:59:59
period: 1h
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=3
strategy("Crossover82%", overlay=true)

//
// Functions
//
scaleMinimax(X, p, min, max) => 
    hi = highest(X, p), lo = lowest(X, p)
    (max - min) * (X - lo)/(hi - lo) + min

rema(ts, p) => // regularized ma
    rm = 0.0, lambda = .5, a = 2 / (p + 1)
    rm := (nz(rm[1]) + a * (ts - nz(rm[1])) + lambda * (2 * nz(rm[1]) - nz(rm[2]))) / (lambda + 1)
    rm
    
//
// Inputs
//
X = input(close, title="Data source")
smooth = input(2, title="REMA smooth factor")
show_line = input(true, title="Show signal line")

//
// Main
//
p = 5
sig = rema(scaleMinimax(pow(X*p,-X) - 0.1, 100, lowest(X, 100), highest(X, 100)), smooth)

plot(show_line ? sig : na, linewidth=1)
plot(cross(sig, X) ? ohlc4 : na, style=circles, linewidth=8, color=blue, transp=50)

longCondition = crossover(sig, X)
if (longCondition)
    strategy.entry("LE", strategy.long)

shortCondition = crossunder(sig, X)
if (shortCondition)
    strategy.entry("SE", strategy.short)



अधिक