
यह रणनीति मौसमी प्रभावों पर आधारित एक रिवर्स ट्रेडिंग रणनीति है। यह मौसमी प्रभावों के कारण होने वाले मूल्य रिवर्स को पकड़ने के लिए एक विशिष्ट प्रवेश महीने में एक स्थिति स्थापित करता है और एक महीने में एक स्थिति छोड़ देता है।
इस रणनीति का मूल तर्क यह है कि उपयोगकर्ता द्वारा चुने गए प्रवेश और प्रस्थान महीनों के आधार पर मौसमी पदों का निर्माण किया जाए। विशेष रूप से, यदि वर्तमान माह प्रवेश के बराबर है और कोई स्थिति नहीं बनाई गई है, तो मल्टीहेड या रिक्त दिशा में प्रवेश करें। यदि स्थिति स्थापित हो गई है और वर्तमान माह प्रस्थान के बराबर है, तो स्थिति को खाली करें।
उदाहरण के लिए, यदि अक्टूबर में प्रवेश करने और जनवरी में बाहर निकलने का विकल्प चुना जाता है, तो हर साल अक्टूबर में, यदि कोई स्थिति नहीं है, तो एक नया पद बहुमुखी या रिक्त दिशा के अनुसार बनाया जाता है; यदि कोई स्थिति है, तो वह स्थिति हर साल जनवरी में समतल हो जाती है। इस तरह के तर्क के आधार पर, मौसमी प्रभाव के कारण होने वाली कीमतों को पकड़ना संभव है।
ध्यान दें कि इस रणनीति में प्रति लेनदेन 25% जोखिम पूंजी को डिफ़ॉल्ट रूप से शामिल किया गया है और 0.5% की कमीशन फीस के आधार पर गणना की जाती है।
इस रणनीति का सबसे बड़ा लाभ मौसमी प्रभाव से उत्पन्न बाजार उलटफेर का लाभ उठाने में है। कई कमोडिटी और वित्तीय बाजारों में अधिक स्पष्ट मौसमी मूल्य उतार-चढ़ाव होते हैं। उचित प्रवेश और समापन समय का चयन करने पर, इस तरह के मौसमी प्रभाव से उत्पन्न उलटफेर के अवसरों को प्रभावी ढंग से पकड़ा जा सकता है।
इसके अलावा, यह रणनीति बहुत सरल, समझने और लागू करने में आसान है, जो कि केवल दो मापदंडों पर निर्भर है, जो रणनीति के अनुकूलन की कठिनाई को काफी कम करता है।
हालांकि इस रणनीति का प्रभाव काफी है, फिर भी कुछ जोखिम हैं। सबसे पहले, गलत समय पर प्रवेश और निकास का चयन करने से कीमतों में उलटफेर को पकड़ने में असमर्थता हो सकती है, जिससे नुकसान हो सकता है; दूसरी बात, बाजार के वातावरण में बदलाव से मौसमी प्रभाव कम हो सकता है; अंत में, डिफ़ॉल्ट स्टॉप लॉजिक कमजोर है, जिससे एकल नुकसान को प्रभावी ढंग से नियंत्रित नहीं किया जा सकता है।
जोखिम को कम करने के लिए, बाजार में प्रवेश करने और बाहर निकलने के समय को अनुकूलित करने के विकल्पों पर विचार किया जा सकता है, बाजार की स्थिति का आकलन करने के लिए अधिक विश्लेषण के साथ, और जोखिम को नियंत्रित करने के लिए स्टॉप-लॉस सेट करें। बेशक, कोई भी ट्रेडिंग रणनीति बाजार के जोखिम को पूरी तरह से टालने में सक्षम नहीं है, और व्यापारियों को सावधानी बरतने की आवश्यकता है।
इस रणनीति में कई अनुकूलन स्थान भी हैं। सबसे पहले, स्टॉप लॉजिक को पेश किया जा सकता है, एक उचित स्टॉप मार्जिन सेट किया जा सकता है। इसके बाद, आप सबसे अच्छा पैरामीटर खोजने के लिए कई अलग-अलग प्रवेश और निकास पोर्टफोलियो का परीक्षण कर सकते हैं। इसके बाद, आप अधिक कारकों के साथ निर्णय ले सकते हैं और प्रतिकूल परिस्थितियों में व्यापार से बच सकते हैं। अंत में, सूचकांक भारित एल्गोरिदम को पेश करने के लिए, स्थिति को समायोजित करने के लिए, स्थिति को बढ़ाने के लिए जब यह लाभदायक हो, और स्थिति को कम करने के लिए जब यह नुकसानदायक हो।
उपरोक्त कुछ बिंदुओं के अनुकूलन के माध्यम से, रणनीति की स्थिरता को और बढ़ाया जा सकता है। बेशक, किसी भी अनुकूलन के लिए कठोर प्रतिक्रिया सत्यापन की आवश्यकता होती है, जिससे अत्यधिक अनुकूलन से बचा जा सके।
यह मौसमी पलटाव अवधि-पार ट्रेडिंग रणनीति समग्र रूप से बहुत व्यावहारिक है। यह उपयुक्त प्रवेश और बहिर्गमन महीनों का चयन करके मौसमी प्रभाव के कारण मूल्य पलटाव को प्रभावी ढंग से पकड़ता है, जिससे लाभ होता है। साथ ही, यह रणनीति बहुत सरल, समझने और लागू करने में आसान है, जो कि मात्रात्मक व्यापार के शुरुआती लोगों के लिए उपयुक्त है। बेशक, व्यापारियों को कुछ बाजार जोखिमों पर ध्यान देने की भी आवश्यकता होती है, और रणनीति को लक्षित रूप से अनुकूलित करने के लिए लक्षित रूप से अनुकूलित किया जाता है ताकि यह बाजार के वातावरण में परिवर्तन के अनुकूल हो सके।
/*backtest
start: 2023-01-24 00:00:00
end: 2024-01-24 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/
// © EmpiricalFX
//@version=4
strategy("Seasonality Benchmark ","Season",overlay=false,default_qty_type=strategy.percent_of_equity,
default_qty_value=25,initial_capital=100000,currency="USD",
commission_type=strategy.commission.percent,commission_value=0.5)
input_entry_direction = input("Long","Position Type",options=["Long","Short"])
input_entry_month = input("Oct","Entry Month",options=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])
input_exit_month = input("Jan","Entry Month",options=["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"])
//Convert three character month string to integer
month_str_to_int(m)=>
ret = m == "Jan" ? 1 :
m == "Feb" ? 2 :
m == "Mar" ? 3 :
m == "Apr" ? 4 :
m == "May" ? 5 :
m == "Jun" ? 6 :
m == "Jul" ? 7 :
m == "Aug" ? 8 :
m == "Sep" ? 9 :
m == "Oct" ? 10 :
m == "Nov" ? 11 :
m == "Dec" ? 12 : -1
is_long = input_entry_direction == "Long" ? true : false
entry = month_str_to_int(input_entry_month)
exit = month_str_to_int(input_exit_month)
var balance = strategy.equity
//Entering a position is conditional on:
//1. No currently active trades
//2. Input entry month matches current month
if(strategy.opentrades == 0 and entry == month)
strategy.entry("Swing",is_long)
//Exiting a position is conditional on:
//1. Must have open trade
//2. Input exit month matches current month
if(strategy.opentrades > 0 and exit == month)
strategy.close("Swing")
//Update the balance every time a trade is exited
if(change(strategy.closedtrades)>0)
balance := strategy.equity
plot(strategy.equity,"Equity",color.orange)
plot(balance,"Balance",color.red)