गतिशीलता प्रवृत्ति अनुकूलन संयोजन रणनीति

लेखक:चाओझांग, दिनांकः 2024-02-06 15:11:57
टैगः

img

अवलोकन

मोमेंटम ट्रेंड ऑप्टिमाइजेशन कॉम्बिनेशन रणनीति एक मध्यम से दीर्घकालिक मात्रात्मक ट्रेडिंग रणनीति है जो गति और प्रवृत्ति कारकों को जोड़ती है। यह घातीय चलती औसत, चलती औसत, मात्रा और ढलान संकेतकों के संयोजन का उपयोग करके खरीद और बिक्री संकेत उत्पन्न करती है। रणनीति टी + 1 ट्रेडिंग के लिए अनुकूलित है और केवल लंबी स्थिति के लिए उपयुक्त है। अनुकूलन अंतरराष्ट्रीय शेयर बाजारों पर भी लागू होते हैं।

रणनीति तर्क

यह रणनीति दो चलती औसत को परिभाषित करने के लिए 6 दिन के सरल चलती औसत और 35 दिन के सरल चलती औसत का उपयोग करती है। खरीद संकेत रेखा को 2 दिन के घातीय चलती औसत के रूप में परिभाषित किया गया है, और बिक्री संकेत रेखा को पिछले 8 समापन कीमतों पर ढलान के आधार पर गणना की जाती है। इसके अलावा, वॉल्यूम संकेतक के रूप में वॉल्यूम का 20 दिन का घातीय चलती औसत परिभाषित किया गया है। कुछ शोर को फ़िल्टर करने के लिए, रणनीति बाजार की दिशा के लिए साप्ताहिक ढलान निर्णय भी पेश करती है।

जब समापन मूल्य 35 दिनों के चलती औसत से अधिक होता है, तो व्यापारिक मात्रा 20 दिनों की औसत व्यापारिक मात्रा से अधिक होती है, और साप्ताहिक चेक में एक बैल बाजार दिखाई देता है, नीचे से एक स्वर्ण क्रॉस एक खरीद संकेत को ट्रिगर करता है। इसके विपरीत, ऊपर से एक मृत्यु क्रॉस एक बिक्री संकेत को ट्रिगर करता है।

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

लाभ विश्लेषण

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

बैकटेस्ट के परिणामों से, रणनीति का समग्र रिटर्न 128.86% तक पहुंच गया, जिसमें एक बहुत ही महत्वपूर्ण अल्फा था। उसी समय, रणनीति की जीत दर भी 60.66% तक पहुंच गई, जो रणनीति प्रभाव की स्थिरता को दर्शाती है।

जोखिम विश्लेषण

यद्यपि जोखिम प्रबंधन तंत्रों के लिए रणनीति को अनुकूलित किया गया है, फिर भी कुछ जोखिम हैं जिन पर ध्यान देने की आवश्यकता है। विशेष रूप से मुख्य जोखिमों में शामिल हैंः

  1. ड्रॉडाउन जोखिम। 222,021.46 युआन के एकल सबसे बड़े नुकसान से, यह देखा जा सकता है कि रणनीति का प्रतिगमन आयाम बड़ा है। यह अपूर्ण स्थिति प्रबंधन तंत्र से संबंधित है।

  2. सिग्नल स्थिरता जोखिम। रणनीति संकेत पर व्यक्तिगत स्टॉक के विशेष कारकों का प्रभाव पड़ सकता है, जिसके परिणामस्वरूप झूठे संकेत की स्थिति हो सकती है। इसका रणनीति के रिटर्न पर कुछ प्रभाव पड़ेगा।

  3. बाजार परिवेश में परिवर्तन का जोखिमः यदि मैक्रो बाजार परिवेश में महत्वपूर्ण परिवर्तन होता है, तो प्रभाव को बनाए रखने के लिए रणनीति मापदंडों को समायोजित करना आवश्यक हो सकता है।

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

उपरोक्त जोखिम विश्लेषण के अनुसार, इस रणनीति को अनुकूलित करने की आवश्यकता और संभावना अभी भी है।

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

  2. कुछ विशेष स्टॉक घटनाओं की पहचान करने और झूठे संकेतों की संभावना को कम करने के लिए अधिक फ़िल्टरिंग संकेतकों को जोड़ने पर विचार करें। उदाहरण के लिए, मात्रा-मूल्य विचलन संकेतकों को पेश करें।

  3. रणनीति मापदंडों का बैकटेस्टिंग और सत्यापन जारी रखें और बाजार की स्थितियों में परिवर्तन के आधार पर समय पर मापदंडों को समायोजित करें।

सारांश

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


/*backtest
start: 2024-01-06 00:00:00
end: 2024-02-05 00:00:00
period: 1h
basePeriod: 15m
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/
// © fzj20020403

////@version=5
//@version=5
strategy("Optimized Zhaocaijinbao", overlay=true, margin_long=100, margin_short=0, default_qty_type=strategy.percent_of_equity, default_qty_value=100)

// Define two moving averages
ma6 = ta.sma(close, 6)
ma35 = ta.sma(close, 35)

// Define buy and sell signal lines
buyLine = ta.ema(close, 2)
sellSlope = (close - close[8]) / 8
sellLine = sellSlope * 1 + ta.sma(close, 8)

// Define volume indicator
volumeEMA = ta.ema(volume, 20)

// Define weekly slope factor
weeklyMa = ta.sma(close, 50)
weeklySlope = (weeklyMa - weeklyMa[4]) / 4 > 0

// Generate buy and sell signals
buySignal = ta.crossover(buyLine, sellLine) and close > ma35 and volume > volumeEMA and weeklySlope
sellSignal = ta.crossunder(sellLine, buyLine)

// Define dynamic position sizing factor
equity = strategy.equity
maxPositionSize = equity * input.float(title='Max Position Size (%)', defval=0.01, minval=0.001, maxval=0.5, step=0.001)
riskFactor = input.float(title='Risk Factor', defval=2.0, minval=0.1, maxval=10.0, step=0.1)
atr = ta.atr(14)
positionSize = maxPositionSize * riskFactor / atr

// Define position status
var inPosition = false

// Define buy and sell conditions
buyCondition = buySignal and not inPosition
sellCondition = sellSignal and inPosition

// Perform buy and sell operations
if (buyCondition)
    strategy.entry("Long", strategy.long, qty=positionSize)
    inPosition := true
if (sellCondition)
    strategy.close("Long")
    inPosition := false

// Draw vertical line markers for buy and sell signals
plotshape(buyCondition, style=shape.arrowdown, location=location.belowbar, color=color.green, size=size.small)
plotshape(sellCondition, style=shape.arrowup, location=location.abovebar, color=color.red, size=size.small)

// Draw two moving averages
plot(ma6, color=color.blue)
plot(ma35, color=color.orange)

// Draw volume indicator line
plot(volumeEMA, color=color.yellow)

// Define stop loss and take profit
stopLoss = strategy.position_avg_price * 0.5
takeProfit = strategy.position_avg_price * 1.25

if inPosition
    strategy.exit("Long Stop Loss", "Long", stop=stopLoss)
    strategy.exit("Long Take Profit", "Long", limit=takeProfit)



अधिक