मात्रात्मक व्यापार पर आधारित संकेत से शोर चलती औसत ट्रेडिंग रणनीति

लेखक:चाओझांग, दिनांकः 2024-01-02 12:24:35
टैगः

img

I. रणनीति का नाम

सिग्नल-टू-शोर मूविंग एवरेज ट्रेडिंग रणनीति

II. रणनीति का अवलोकन

यह रणनीति एक निश्चित अवधि में संकेत-शोर अनुपात की गणना करके और इसे चलती औसत व्यापार संकेतों के साथ जोड़कर मात्रात्मक व्यापार को प्राप्त करती है। मूल विचार हैः

  1. एक निश्चित अवधि के दौरान संकेत-शोर अनुपात की गणना करें (समायोज्य)
  2. संकेत-शोर अनुपात को चिकना करने के लिए चलती औसत लागू करें
  3. ट्रेडिंग सिग्नल उत्पन्न करने के लिए चलती औसत मूल्य के साथ वर्तमान संकेत-शोर अनुपात की तुलना करें
  4. ट्रेडिंग संकेतों के आधार पर लंबा या छोटा

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

  1. संकेत-शोर अनुपात (StN) की गणना के लिए सूत्र हैः StN = -10*log ((Σ(1/close) /n), जहां n अवधि की लंबाई है
  2. सरल चलती औसत (एसएमए) को सिग्नल-शोर अनुपात पर लागू करें ताकि चिकनी स्टेन प्राप्त हो सके
  3. समतल SMAStN के साथ वर्तमान StN की तुलना करेंः (1) यदि SMAStN > StN, शॉर्ट करें (2) यदि SMAStN < StN, लंबे समय तक जाएं (3) अन्यथा, बंद स्थिति

IV. लाभ विश्लेषण

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

  1. एसटीएन बाजार के उतार-चढ़ाव और जोखिम का आकलन कर सकता है, एसएमए में शोर कम करने की क्षमता है
  2. बाजार जोखिम का आकलन करने के लिए StN और ट्रेडिंग संकेत उत्पन्न करने के लिए SMA का संयोजन विभिन्न संकेतकों के लाभों का उपयोग करता है
  3. विभिन्न बाज़ार स्थितियों के अनुकूल समायोज्य मापदंड
  4. स्टडआउट सिग्नल सीधे बाजार की विशेषताओं के लंबे या छोटे, सहज आकलन को इंगित करते हैं

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

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

  1. StN और MA के बीच क्रॉसिंग फैसले में विचलन का जोखिम मौजूद है
  2. गलत अवधि सेटिंग्स झूठे संकेत का कारण बन सकता है
  3. अपेक्षाकृत कम अल्पकालिक अवसर, पैरामीटर समायोजन के माध्यम से अनुकूलन योग्य
  4. ब्लैक स्वान घटनाओं के कारण अत्यधिक उतार-चढ़ाव स्टॉप लॉस को ट्रिगर कर सकते हैं

समाधान:

  1. अधिक चिकनाई से बचने के लिए एमए पैरामीटर समायोजित करें
  2. अवधि मापदंडों का अनुकूलन और विभिन्न बाजारों में परीक्षण अनुकूलनशीलता
  3. अधिक अल्पकालिक अवसर प्रदान करने के लिए छोटी शर्तों को समायोजित करें
  4. अधिकतम हानि को नियंत्रित करने के लिए स्टॉप लॉस सेट करें

VI. अनुकूलन दिशा

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

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

VII. सारांश

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


/*backtest
start: 2023-12-25 00:00:00
end: 2023-12-29 10:00:00
period: 30m
basePeriod: 15m
exchanges: [{"eid":"Futures_Binance","currency":"BTC_USDT"}]
*/

//@version=4
////////////////////////////////////////////////////////////
// This source code is subject to the terms of the Mozilla Public License 2.0 at https://mozilla.org/MPL/2.0/
// © HPotter 05/01/2021
// The signal-to-noise (S/N) ratio. 
// And Simple Moving Average.
// Thank you for idea BlockchainYahoo
//
// WARNING:
// - For purpose educate only
// - This script to change bars colors. 
////////////////////////////////////////////////////////////
SignalToNoise(length) =>
    StN = 0.0
    for i = 1 to length-1
        StN := StN + (1/close[i])/length
    StN := -10*log(StN)

strategy(title="Backtest Signal To Noise ", shorttitle="StoN", overlay=false)
length = input(title="Days", type=input.integer, defval=21, minval=2)
Smooth =  input(title="Smooth", type=input.integer, defval=7, minval=2)
reverse = input(false, title="Trade reverse")
StN = SignalToNoise(length)
SMAStN = sma(StN, Smooth)
pos = iff(SMAStN[1] > StN[1] , -1,
	   iff(SMAStN[1] < StN[1], 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)	 
if (possig == 0) 
    strategy.close_all()
barcolor(possig == -1 ? #b50404: possig == 1 ? #079605 : #0536b3 )
plot(StN, title='StN' )
plot(SMAStN, title='Smooth', color=#00ff00)

अधिक