এম্পিরিকেল মোড ডিকম্পোজিশনের উপর ভিত্তি করে পরিমাণগত ট্রেডিং কৌশল

লেখক:চাওঝাং, তারিখ: ২০২৩-১২-২২ 14:41:34
ট্যাগঃ

img

সারসংক্ষেপ

এই কৌশলটি মূলত মধ্যম ও দীর্ঘমেয়াদী হোল্ডিংয়ের জন্য প্রযোজ্য। এই কৌশলটি মূল্য সিরিজগুলিকে বিভাজন করতে এবং বিভিন্ন ফ্রিকোয়েন্সি ব্যান্ড থেকে বৈশিষ্ট্যগুলি বের করার জন্য পরীক্ষামূলক মোড ডিকম্পোজিশন (ইএমডি) পদ্ধতির উপর ভিত্তি করে।

কৌশলগত যুক্তি

  1. দাম ফিল্টার করতে এবং দামের ওঠানামা নিষ্কাশন করতে EMD পদ্ধতি ব্যবহার করুন
  2. শীর্ষ এবং নীচের ক্রমগুলির চলমান গড় গণনা করুন
  3. যখন গড় রেখাটি শিখর এবং নিম্নতম রেখাগুলির একটি নির্দিষ্ট শতাংশ অতিক্রম করে তখন ট্রেডিং সংকেত তৈরি করে
  4. ট্রেডিং সিগন্যালের ভিত্তিতে লং বা শর্ট

সুবিধা বিশ্লেষণ

  1. EMD পদ্ধতি কার্যকরভাবে মূল্য সিরিজ বিভাজন এবং দরকারী বৈশিষ্ট্য নিষ্কাশন করতে পারেন
  2. শীর্ষ এবং নিম্ন লাইন শুধুমাত্র যখন দামের ওঠানামা একটি নির্দিষ্ট ব্যাপ্তি চেয়ে বড় হয় ট্রেডিং কৌশল নিয়ন্ত্রণ
  3. গড় রেখার সাথে মিলিয়ে, এটি কার্যকরভাবে মিথ্যা ব্রেকআউট ফিল্টার করতে পারে

ঝুঁকি বিশ্লেষণ

  1. ইএমডি পদ্ধতির পরামিতিগুলির ভুল নির্বাচন অতিরিক্ত ফিটিংয়ের দিকে পরিচালিত করতে পারে
  2. এটি একটি লেনদেন সংকেত গঠন করতে একটি দীর্ঘ চক্র লাগে এবং উচ্চ ফ্রিকোয়েন্সি ট্রেডিং মানিয়ে নিতে পারে না
  3. বাজারের পরিস্থিতির সাথে নাটকীয় দামের ওঠানামা মোকাবেলা করতে অক্ষম

অপ্টিমাইজেশান নির্দেশাবলী

  1. বাজারে অভিযোজনযোগ্যতা উন্নত করার জন্য ইএমডি মডেলের পরামিতিগুলি অপ্টিমাইজ করুন
  2. স্টপ লস এবং লাভের সংকেত হিসাবে অন্যান্য সূচক একত্রিত করুন
  3. কৌশল ইনপুট হিসাবে বিভিন্ন মূল্য সিরিজ চেষ্টা করুন

সংক্ষিপ্তসার

এই কৌশলটি মূল্য সিরিজ থেকে বৈশিষ্ট্যগুলি বের করার জন্য পরীক্ষামূলক মোড বিভাজন পদ্ধতি ব্যবহার করে এবং নিষ্কাশিত বৈশিষ্ট্যগুলির উপর ভিত্তি করে ট্রেডিং সংকেত তৈরি করে, একটি স্থিতিশীল মাঝারি এবং দীর্ঘমেয়াদী ট্রেডিং কৌশল উপলব্ধি করে। এই কৌশলটির সুবিধা হ'ল এটি কার্যকরভাবে মূল্যের পর্যায়ক্রমিক বৈশিষ্ট্যগুলি সনাক্ত করতে পারে এবং বড় ওঠানামা চলাকালীন ট্রেডিং অর্ডার জারি করতে পারে। তবে কিছু ঝুঁকিও রয়েছে এবং আরও জটিল বাজারের পরিবেশে অভিযোজিত হওয়ার জন্য আরও অপ্টিমাইজেশনের প্রয়োজন।


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

//@version=2
////////////////////////////////////////////////////////////
//  Copyright by HPotter v1.0 12/04/2017
// The related article is copyrighted material from Stocks & Commodities Mar 2010
// You can use in the xPrice any series: Open, High, Low, Close, HL2, HLC3, OHLC4 and ect...
//
// You can change long to short in the Input Settings
// Please, use it only for learning or paper trading. Do not for real trading.
////////////////////////////////////////////////////////////
strategy(title="Empirical Mode Decomposition")
Length = input(20, minval=1)
Delta = input(0.5)
Fraction = input(0.1)
reverse = input(false, title="Trade reverse")
xPrice = hl2
beta = cos(3.1415 * (360 / Length) / 180)
gamma = 1 / cos(3.1415 * (720 * Delta / Length) / 180)
alpha = gamma - sqrt(gamma * gamma - 1)
xBandpassFilter = 0.5 * (1 - alpha) * (xPrice - xPrice[2]) + beta * (1 + alpha) * nz(xBandpassFilter[1]) - alpha * nz(xBandpassFilter[2])
xMean = sma(xBandpassFilter, 2 * Length)
xPeak =  iff (xBandpassFilter[1] > xBandpassFilter and xBandpassFilter[1] > xBandpassFilter[2], xBandpassFilter[1], nz(xPeak[1])) 
xValley =  iff (xBandpassFilter[1] < xBandpassFilter and xBandpassFilter[1] < xBandpassFilter[2], xBandpassFilter[1], nz(xValley[1])) 
xAvrPeak = sma(xPeak, 50)
xAvrValley = sma(xValley, 50)
nAvrPeak = Fraction * xAvrPeak
nAvrValley = Fraction * xAvrValley
pos = iff(xMean > nAvrPeak and xMean > nAvrValley, 1,
	     iff(xMean < nAvrPeak and xMean < nAvrValley, -1, nz(pos[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)	   	    
barcolor(possig == -1 ? red: possig == 1 ? green : blue )
plot(xMean, color=red, title="Mean")
plot(nAvrPeak, color=blue, title="Peak")
plot(nAvrValley, color=blue, title="Valley")

আরো