Type/to search
2
Follow
484
Followers
क्रिप्टो बाजार RWA बहु-संपत्ति गतिशील भार विन्यास: जोखिम समता रणनीति
Discussions
Created 2026-04-08 16:37:16  Updated 2026-04-20 18:13:03
 0
 206

img

क्रिप्टो बाजार हाल ही में अच्छा नहीं चल रहा है। BTC अपने उच्च स्तर से गिर गया है, अल्टकॉइन्स और भी बुरी स्थिति में हैं, बहुत से लोग प्रतीक्षा कर रहे हैं या बाहर निकल गए हैं। लेकिन इसी बीच एक और चीज़ चुपचाप गर्म हो रही है — RWA, यानी वास्तविक दुनिया की संपत्तियों का टोकनीकरण। सोना, अमेरिकी शेयर, कच्चा तेल — पारंपरिक बाजारों की ये संपत्तियाँ क्रिप्टो एक्सचेंजों पर कॉन्ट्रैक्ट के रूप में दिखाई देने लगी हैं। प्रमुख एक्सचेंजों ने SPY (S&P 500 ETF का प्रतिनिधित्व), गोल्ड XAU, क्रूड ऑयल CL जैसे उत्पाद लॉन्च किए हैं, और पहले से मौजूद BTC के साथ, एक बहु-संपत्ति व्यापारिक वातावरण जो अमेरिकी शेयरों, सोने, कच्चे तेल और क्रिप्टोकरेंसी को कवर करता है, पहली बार चेन पर आकार ले चुका है।

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


पहले रिस्क पैरिटी को समझ लें, फिर आगे बढ़ें

यह बताने से पहले कि यह कैसे किया जाता है, हमें "रिस्क पैरिटी" शब्द को स्पष्ट करना होगा, अन्यथा आगे का तर्क समझना मुश्किल होगा।

एक सामान्य व्यक्ति पोर्टफोलियो बनाते समय सोच सकता है: मैं पैसे को चार बराबर भागों में बाँट दूँ, प्रत्येक परिसंपत्ति में 25% रखूँ। यह संतुलित लगता है, लेकिन समस्या यह है कि BTC एक दिन में 10% तक उतार-चढ़ाव कर सकता है, जबकि सोना शायद 0.5% ही हिले। समान 25% पॉज़िशन के साथ, BTC आपको सोने से बीस गुना अधिक जोखिम देता है। सतही तौर पर चार संपत्तियाँ समान रूप से विभाजित होती हैं, लेकिन वास्तव में पोर्टफोलियो का भाग्य लगभग पूरी तरह से BTC पर निर्भर करता है, बाकी तीन केवल सहायक भूमिका निभाते हैं।

रिस्क पैरिटी इसके विपरीत सोचता है: पैसे को समान रूप से विभाजित नहीं करना, बल्कि जोखिम को समान रूप से विभाजित करना। BTC में अधिक उतार-चढ़ाव है, तो इसे कम आवंटित करें; सोना स्थिर है, तो अधिक आवंटित करें — लेकिन यह केवल पहला कदम है। इससे भी महत्वपूर्ण बात यह है कि संपत्तियाँ एक-दूसरे से स्वतंत्र नहीं होतीं; BTC और अमेरिकी शेयर कुछ बाजार स्थितियों में एक साथ गिर सकते हैं। यदि दो संपत्तियाँ अत्यधिक सहसंबद्ध हैं, भले ही उनकी व्यक्तिगत अस्थिरता बहुत अलग हो, उनके जोखिम को समतल करने का कोई मतलब नहीं है। वास्तविक रिस्क पैरिटी को प्रत्येक संपत्ति की अस्थिरता और अन्य संपत्तियों के साथ उसके सहसंबंध दोनों पर विचार करना होता है, कोवेरियंस मैट्रिक्स का उपयोग करके यह मापा जाता है कि प्रत्येक संपत्ति पोर्टफोलियो के कुल जोखिम में कितना योगदान देती है, और अंततः प्रत्येक संपत्ति का जोखिम योगदान लगभग बराबर कर दिया जाता है। इस तर्क का लाभ यह है कि किसी एक संपत्ति के अचानक विस्फोट से पूरा पोर्टफोलियो चरमरा नहीं जाता।

img

पहले संपत्तियाँ चुनें, तभी विविधीकरण सार्थक है

रिस्क पैरिटी करने के लिए पहला कदम यह है कि पोर्टफोलियो में रखने के लिए सही संपत्तियाँ चुनें। यदि संपत्तियाँ सही नहीं चुनी गईं, तो आगे की गणना कितनी भी सटीक क्यों न हो, बेकार है।

एसेट पूल में SPY, XAU, CL, और BTC चुने गए। इन चारों को चुनने के पीछे तर्क है — इनकी चाल आमतौर पर पूरी तरह से सिंक नहीं होती। अच्छे आर्थिक समय में शेयर बढ़ते हैं, जोखिम-विरोधी भावना आने पर सोना बढ़ता है, मुद्रास्फीति की उम्मीद बढ़ने पर कच्चा तेल और सोना दोनों बढ़ते हैं, और क्रिप्टो बाजार कभी शेयरों के साथ एक दिशा में चलता है, तो कभी पूरी तरह से अलग हो जाता है। ठीक इसलिए कि इनके बीच सहसंबंध कम है, इन्हें एक साथ रखने से जोखिम विविधीकरण में अर्थ है। यदि चारों संपत्तियाँ हर दिन एक साथ बढ़ती और गिरतीं, तो विविधीकरण एक भ्रम होता, और कोई भी तरीका आपको नहीं बचा सकता।

संपत्तियाँ चुनने के बाद, अगला प्रश्न है: प्रत्येक संपत्ति में कितना रखा जाए? यही वह चीज़ है जिसकी रिस्क पैरिटी को वास्तव में गणना करने की आवश्यकता है।

img

प्रत्येक संपत्ति में कितना रखा जाए, इसकी गणना कैसे करें

रणनीति की गणना दो चरणों में होती है।

पहला चरण, चार संपत्तियों का Kलाइन डेटा खींचें और टाइमस्टैम्प के अनुसार संरेखित करें। रणनीति 1 घंटे की Kलाइन (PERIOD_H1) का उपयोग डेटा इनपुट के रूप में करती है। यह कदम सरल लगता है, लेकिन वास्तव में RWA कॉन्ट्रैक्ट प्रकारों में कभी-कभी डेटा की कमी हो सकती है; यदि किसी समय बिंदु पर SPY का कोई कोटेशन नहीं है, तो उस समय बिंदु का पूरा डेटा पंक्ति हटा दी जाती है, और केवल वे समय बिंदु रखे जाते हैं जहाँ चारों संपत्तियों के कोटेशन एक साथ उपलब्ध हों, फिर आगे की गणना की जाती है।

javascript
for (var k = 0; k < keys.length; k++) { var row = timeMap[keys[k]], ok = true; for (var i = 0; i < LABELS.length; i++) { if (row[LABELS[i]] === undefined) { ok = false; break; } } if (ok) timestamps.push(parseInt(keys[k])); }

डेटा संरेखित होने के बाद, क्लोज़िंग प्राइस श्रृंखला को लॉग रिटर्न में बदलें, यानी ln(वर्तमान मूल्य / पिछली अवधि का मूल्य)। सरल प्रतिशत परिवर्तन के बजाय लॉग रिटर्न का उपयोग इसलिए किया जाता है क्योंकि इसमें समय-योगात्मकता होती है — कई अवधियों का योग सीधे कुल लॉग रिटर्न के बराबर होता है, जिससे प्रबंधन आसान होता है; इसके अलावा, संपत्ति की कीमतों के ज्यामितीय ब्राउनियन गति का पालन करने की सामान्य धारणा के तहत, लॉग रिटर्न सामान्य वितरण का अनुसरण करता है, जो आगे के कोवेरियंस मैट्रिक्स गणना ढांचे के साथ संगत है। यह ध्यान देने योग्य है कि क्रिप्टो परिसंपत्तियों का वास्तविक रिटर्न अक्सर मोटी पूंछ वाला होता है, यह एक संभावित धारणा विचलन है जिसके प्रति सावधान रहना चाहिए, और चरम बाजार स्थितियों में कोवेरियंस मैट्रिक्स वास्तविक जोखिम को कम आंक सकता है।

javascript
function calcLogReturns(prices) { var r = []; for (var i = 1; i < prices.length; i++) { var prev = prices[i - 1], cur = prices[i]; if (!prev || !cur || prev <= 0 || cur <= 0) { r.push(0); continue; } r.push(Math.log(cur / prev)); } return r; }

दूसरा चरण, इन रिटर्न श्रृंखलाओं का उपयोग करके कोवेरियंस मैट्रिक्स की गणना करें। केवल ऐतिहासिक औसत कोवेरियंस की गणना करना बहुत मोटा है; यहाँ EWMA भारित विधि का उपयोग किया गया है — हाल के डेटा को अधिक भार दिया जाता है, ताकि कोवेरियंस मैट्रिक्स बाजार की स्थिति में बदलाव को तेज़ी से महसूस कर सके।

javascript
for (var t = T - 1; t >= 0; t--) { var w = Math.pow(lambda, T - 1 - t); c += w * (retMat[i][t] - means[i]) * (retMat[j][t] - means[j]); ws += w; } cov[i][j] = c / ws; cov[j][i] = cov[i][j];

lambda क्षय गुणांक है, रणनीति डिफ़ॉल्ट रूप से EWMA_LAMBDA = 0.94 का उपयोग करती है, यह मान RiskMetrics द्वारा दैनिक डेटा के लिए अनुभवजन्य सेटिंग का संदर्भ लेता है। ध्यान देने योग्य बात यह है कि RiskMetrics का 0.94 दैनिक डेटा के लिए डिज़ाइन किया गया है; रणनीति 1-घंटे के डेटा का उपयोग करती है, जो उच्च आवृत्ति है। यदि कोवेरियंस मैट्रिक्स की हाल के बदलावों के प्रति संवेदनशीलता दैनिक 0.94 के समान रखनी है, तो सैद्धांतिक रूप से इसे 1 के करीब मान में परिवर्तित करने की आवश्यकता होगी। हालांकि, व्यावहारिक उपयोग में, 0.94 घंटे के स्तर पर भी एक स्वीकार्य प्रारंभिक बिंदु है, जो हाल के डेटा को अधिक भार और ऐतिहासिक डेटा को तेज़ क्षय देने वाले कॉन्फ़िगरेशन को दर्शाता है; वास्तविक बैकटेस्ट परिणामों के अनुसार इसे और समायोजित किया जा सकता है। lambda जितना 1 के करीब होगा, ऐतिहासिक डेटा का प्रभाव उतना ही लंबे समय तक रहेगा, और कोवेरियंस मैट्रिक्स हाल के बदलावों के प्रति उतना ही सुस्त प्रतिक्रिया करेगा; lambda जितना छोटा होगा, रणनीति बाजार की स्थिति में बदलाव के प्रति उतनी ही संवेदनशील होगी, लेकिन अल्पकालिक शोर के कारण अनावश्यक पुनर्संतुलन की संभावना भी उतनी ही अधिक होगी।

गणना के बाद विकर्ण पर एक रेगुलराइज़ेशन टर्म जोड़ा जाता है, जिसका गुणांक विकर्ण के माध्य का 0.1% निर्धारित किया गया है (eps = diagMean * 0.001)। 0.001 गुणांक का चयन परीक्षण के माध्यम से किया गया है, जो संख्यात्मक रूप से मैट्रिक्स को सकारात्मक निश्चित बनाए रखने के लिए पर्याप्त है, जबकि कोवेरियंस संरचना पर प्रभाव नगण्य है। इसके अलावा, एक सरलीकरण का उल्लेख करना आवश्यक है: EWMA कोवेरियंस की सख्त गणना में भारित माध्य का उपयोग करके विचलन की गणना करनी चाहिए, लेकिन कोड पूरे रिवाइंड विंडो के सरल अंकगणितीय माध्य का उपयोग करता है। ऐसे मामलों में जहां रिटर्न का माध्य शून्य के करीब है (वित्तीय परिसंपत्तियों के अल्पकालिक रिटर्न की सामान्य स्थिति), यह सरलीकरण परिणाम पर नगण्य प्रभाव डालता है, लेकिन उन स्थितियों में जहां माध्य शून्य से महत्वपूर्ण रूप से विचलित होता है, यह एक छोटा विचलन उत्पन्न कर सकता है।

कोवेरियंस मैट्रिक्स प्राप्त करने के बाद, अगला चरण वास्तविक रिस्क पैरिटी समाधान है — ऐसे भार खोजना कि प्रत्येक संपत्ति का पोर्टफोलियो जोखिम में योगदान लगभग बराबर हो। पुनरावृत्ति शुरू करने से पहले, रणनीति पहले से ही समान अस्थिरता पोर्टफोलियो कोवेरियंस के माध्यम से प्रत्येक संपत्ति की दिशा निर्धारित कर चुकी है, जिसके परिणाम signs[] सरणी में संग्रहीत हैं (+1 लॉन्ग, -1 शॉर्ट दर्शाता है)। पुनरावृत्ति प्रक्रिया इस पूर्व-निर्धारित निश्चित संकेतों का उपयोग करती है, केवल भार के परिमाण को समायोजित करती है, दिशा नहीं बदलती — यह इंजीनियरिंग स्थिरता के लिए किया जाता है, ताकि पुनरावृत्ति के दौरान संख्यात्मक गड़बड़ी के कारण भार बार-बार दिशा बदलने से बचा जा सके।

इस समस्या का कोई विश्लेषणात्मक समाधान नहीं है; इसे पुनरावृत्ति द्वारा अनुमानित किया जाता है। प्रत्येक दौर में वर्तमान जोखिम योगदान की गणना की जाती है, और उन संपत्तियों का भार कम किया जाता है जिनका योगदान बहुत अधिक है, तथा जिनका योगदान बहुत कम है उनका भार बढ़ाया जाता है, जब तक कि अभिसरण न हो जाए।

javascript
for (var iter = 0; iter < 2000; iter++) { var trc = riskContribs(w, scaledCov); var pv = portVol(w, scaledCov); var target = pv / n; var obj = 0; for (var i = 0; i < n; i++) { for (var j = i + 1; j < n; j++) { var d = Math.abs(trc[i]) - Math.abs(trc[j]); obj += d * d; } } if (obj < 1e-12) break; var nw = [], ns = 0; for (var i = 0; i < n; i++) { var rc = Math.abs(trc[i]); var sign = signs[i]; // पूर्व निर्धारित निश्चित संकेत का उपयोग करें var a = target / rc; var v = sign * Math.max(Math.abs(w[i]) * Math.pow(a, 0.5), 1e-6); nw.push(v); ns += Math.abs(v); } // निरपेक्ष मान सामान्यीकरण, ताकि प्रत्येक परिसंपत्ति के भार के निरपेक्ष मानों का योग 1 हो for (var i = 0; i < n; i++) w[i] = nw[i] / ns; }

अभिसरण मानदंड यह है कि सभी परिसंपत्तियों के जोखिम योगदानों में अंतर के वर्गों का योग 1e-12 से कम हो, तब यह माना जाता है कि प्रत्येक परिसंपत्ति का जोखिम योगदान पर्याप्त रूप से निकट है और पुनरावृत्ति रोक दी जाती है। अधिकतम पुनरावृत्ति सीमा 2000 बार निर्धारित की गई है, ताकि सहप्रसरण मैट्रिक्स के अस्वस्थ होने पर अनंत लूप से बचा जा सके। व्यवहार में यह आमतौर पर कुछ सौ बार के भीतर अभिसरित हो जाता है। यदि ऊपरी सीमा तक पहुँचने पर भी अभिसरण नहीं होता, तो इसका अर्थ है कि इनपुट डेटा या सहप्रसरण मैट्रिक्स में समस्या है, और उस स्थिति में रणनीति समान भार वाले लॉन्ग में डिग्रेड हो जाएगी, ताकि सिस्टम खाली न चले।

प्रत्येक परिसंपत्ति के जोखिम योगदान को उसके भार को सीमांत जोखिम से गुणा करके परिभाषित किया जाता है, परिणाम ऋणात्मक हो सकता है, जो दर्शाता है कि यह परिसंपत्ति समग्र पोर्टफोलियो की अस्थिरता को कम कर रही है।

javascript
function riskContribs(w, cov) { var sv = matVecMul(cov, w); var pv = portVol(w, cov); var trc = []; for (var i = 0; i < w.length; i++) trc.push(w[i] * sv[i] / pv); return trc; }

भार ऋणात्मक हो सकते हैं, अर्थात शॉर्ट करना

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

निर्णय तर्क इस प्रकार है: पहले एक समान अस्थिरता वाला संदर्भ पोर्टफोलियो तैयार किया जाता है—उच्च अस्थिरता वाली परिसंपत्तियों का भार कम, निम्न अस्थिरता वाली परिसंपत्तियों का भार अधिक—फिर देखा जाता है कि प्रत्येक परिसंपत्ति का इस संदर्भ पोर्टफोलियो के साथ सहप्रसरण धनात्मक है या ऋणात्मक। यदि सहप्रसरण ऋणात्मक है, तो इसका अर्थ है कि यह परिसंपत्ति पोर्टफोलियो के समग्र रुझान के विपरीत चलने की प्रवृत्ति रखती है, इसे शॉर्ट करने से पोर्टफोलियो का समग्र जोखिम कम करने में मदद मिलती है, इसलिए भार ऋणात्मक निर्धारित किया जाता है, जो अनुबंध बाजार में शॉर्ट खोलने के अनुरूप है।

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

javascript
var invVols = [], sumInvVol = 0; for (var i = 0; i < n; i++) { var vol = Math.sqrt(Math.max(scaledCov[i][i], 1e-16)); invVols.push(1 / vol); sumInvVol += 1 / vol; } var eqVolWeights = []; for (var i = 0; i < n; i++) { eqVolWeights.push(invVols[i] / sumInvVol); } var covWithPortfolio = 0; for (var j = 0; j < n; j++) { covWithPortfolio += eqVolWeights[j] * scaledCov[i][j]; } var dir = covWithPortfolio < 0 ? -1 : 1; Log('[方向判断]', LABELS[i], '与等波动率组合协方差:', _N(covWithPortfolio, 8), '→', dir < 0 ? '🔴 做空(short)' : '🟢 做多(long)');

दिशा एक बार निर्धारित होने के बाद, इसे signs[] सरणी में स्थिर रूप से संग्रहीत किया जाता है और संपूर्ण पुनरावृत्ति समाधान प्रक्रिया के दौरान इसे बदला नहीं जाता है। पुनरावृत्ति केवल भार के परिमाण को समायोजित करने के लिए जिम्मेदार है, दिशा को नहीं बदलती। दिशा तय होने के बाद, एक और काम करना बाकी है: पूरे पोर्टफोलियो पर कितना लीवरेज लगाया जाना चाहिए।


लीवरेज जितना अधिक हो उतना बेहतर नहीं, बल्कि अस्थिरता के अनुसार चलता है

रणनीति में एक अंतर्निर्मित लीवरेज समायोजन तंत्र है, जिसका उद्देश्य पोर्टफोलियो की समग्र अस्थिरता को एक पूर्व निर्धारित स्तर के आसपास नियंत्रित करना है। एक उदाहरण लें: आप गाड़ी चला रहे हैं, लक्ष्य गति 60 किमी/घंटा है। राजमार्ग पर सड़क की स्थिति अच्छी है, आप थोड़ा और एक्सीलेटर दबा सकते हैं; शहर में सड़क जटिल है, आप गति कम कर लेते हैं। रणनीति का लीवरेज तंत्र समान है—जब बाजार की समग्र अस्थिरता कम होती है, तो उपयुक्त लीवरेज बढ़ाया जाता है ताकि पोर्टफोलियो का जोखिम स्तर लक्ष्य तक पहुँचे; जब बाजार की अस्थिरता अधिक होती है, तो लीवरेज स्वचालित रूप से कम हो जाता है, जोखिम कम हो जाता है।

रणनीति 1 घंटे की K-लाइन का उपयोग करती है, एक वर्ष में ठीक 8760 लाइनें होती हैं, इसलिए वार्षिकीकरण गुणांक सीधे sqrt(8760) लिया जाता है। यदि कोई अन्य समय अवधि अपनाई जाती है, तो इस गुणांक को तदनुसार समायोजित करने की आवश्यकता है: 15 मिनट की लाइन sqrt(35040) के अनुरूप, 4 घंटे की लाइन sqrt(2190) के अनुरूप, दैनिक लाइन sqrt(365) के अनुरूप।

javascript
function calcLeverage(w, cov) { var pv = portVol(w, cov) * Math.sqrt(8760); if (!isFinite(pv) || pv <= 0) return 1; return Math.min(TARGET_VOL / pv, MAX_LEVERAGE); }

पोर्टफोलियो की वार्षिक अस्थिरता को लक्ष्य अस्थिरता से विभाजित करके लीवरेज गुणक प्राप्त होता है जिसे लागू किया जाना चाहिए, साथ ही एक ऊपरी सीमा निर्धारित की जाती है ताकि चरम स्थितियों में लीवरेज को नियंत्रण से बाहर जाने से रोका जा सके। यह अधिकतम रिटर्न की खोज नहीं है, बल्कि जोखिम बजट प्रबंधन है—कितने जोखिम के बदले में कितना रिटर्न चाहिए, यह पहले से तय किया जाता है, बाजार के साथ बहता नहीं है।

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

javascript
function getAdaptiveSleep(w, cov) { var av = portVol(w, cov) * Math.sqrt(8760); if (av > 0.50) return FAST_INTERVAL; // 15 मिनट else if (av > 0.30) return MID_INTERVAL; // 30 मिनट else return SLOW_INTERVAL; // 60 मिनट }

पुनर्संतुलन कब करें

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

सापेक्ष बहाव की गणना करते समय, हर पिछले भार के निरपेक्ष मान को हर के रूप में लिया जाता है। जब किसी परिसंपत्ति का भार बहुत छोटा (शून्य के करीब) हो जाता है, तो सापेक्ष बहाव बढ़ जाता है, जिससे बार-बार पुनर्संतुलन हो सकता है। रणनीति इससे बचाव करती है: जब lastWeights[i] शून्य होता है, तो बहाव जाँच को छोड़ दिया जाता है, शून्य से विभाजन के कारण गलत ट्रिगर से बचा जाता है।

javascript
if (!lastWeights) { needRebal = true; rebalReason = 'पहली बार पोजीशन बनाना'; } else if ((now - lastTime) > REBALANCE_HOURS * 3600000) { needRebal = true; rebalReason = 'नियत समय पर पुनर्संतुलन(' + REBALANCE_HOURS + 'h)'; } else { for (var i = 0; i < weights.length; i++) { if ((weights[i] >= 0) !== (lastWeights[i] >= 0)) { needRebal = true; rebalReason = LABELS[i] + ' दिशा उलट (लॉन्ग↔शॉर्ट)'; break; } if (lastWeights[i] !== 0 && Math.abs(weights[i] - lastWeights[i]) / Math.abs(lastWeights[i]) > DRIFT_THRESHOLD) { needRebal = true; rebalReason = LABELS[i] + ' भार बहाव सीमा पार'; break; } } }

पुनर्संतुलन ट्रिगर होने के बाद, रणनीति प्रत्येक परिसंपत्ति के लिए लक्ष्य नाममात्र राशि की गणना करती है, धनात्मक मान लॉन्ग (खरीदारी) और ऋणात्मक मान शॉर्ट (बिक्री) को दर्शाता है। फिर यह वर्तमान होल्डिंग्स की तुलना करके तय करती है कि पोजीशन बढ़ानी है, घटानी है या दिशा बदलनी है। दिशा बदलते समय, पहले विपरीत दिशा की पोजीशन को बंद किया जाता है, फिर नई दिशा में पोजीशन खोली जाती है, ताकि एक ही समय में लॉन्ग और शॉर्ट दोनों पोजीशन न हों।

javascript
if (targetSide === 'long' && shortQty > 0) { exchange.CreateOrder(sym, "closesell", -1, shortQty); } if (targetSide === 'short' && longQty > 0) { exchange.CreateOrder(sym, "closebuy", -1, longQty); } if (diffQty > 0) { exchange.CreateOrder(sym, targetSide === 'long' ? "buy" : "sell", -1, diffQty); } else if (diffQty < 0) { exchange.CreateOrder(sym, targetSide === 'long' ? "closebuy" : "closesell", -1, Math.abs(diffQty)); }

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


और एक आपातकालीन सर्किट ब्रेकर

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

javascript
if (pos.side === 'long') { drop = (last - cur) / last; } else if (pos.side === 'short') { drop = (cur - last) / last; } if (drop >= EMERGENCY_DROP) { Log('🚨 आपातकालीन जोखिम ट्रिगर! [' + label + '][' + pos.side + '] प्रतिकूल परिवर्तन:', _N(drop * 100, 2) + '%', 'पिछला मूल्य:', _N(last, 4), '→ वर्तमान मूल्य:', _N(cur, 4)); if (mode === 'live') emergencyReduceLive(sym, label, pos.side, EMERGENCY_REDUCE); else emergencyReducePaper(sym, label, cur, pos.side, EMERGENCY_REDUCE); }

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

यहाँ एक डिज़ाइन विवरण स्पष्ट करना आवश्यक है: आपातकालीन पोजीशन घटाने के ट्रिगर होने के बाद, आधार मूल्य तुरंत रीसेट नहीं होता है। अगली जांच अभी भी ट्रिगर से पहले के मूल्य को संदर्भ के रूप में उपयोग करती है। इसका मतलब है कि ऐसे बाजार में जहां परिसंपत्ति लगातार प्रतिकूल दिशा में बढ़ रही है, यह तंत्र प्रत्येक चक्र में बार-बार ट्रिगर होगा, धीरे-धीरे पोजीशन कम करता रहेगा जब तक कि पोजीशन खत्म न हो जाए, या जब तक अगला सामान्य पुनर्संतुलन आधार मूल्य को रीसेट न कर दे। यह डिज़ाइन जानबूझकर किया गया है - अत्यधिक एकतरफा बाजार में, लगातार पोजीशन घटाना एक बार घटाकर रुकने की तुलना में नुकसान को बेहतर ढंग से नियंत्रित करता है; लेकिन इसका दुष्प्रभाव यह है कि यदि मूल्य थोड़े समय के लिए सीमा से नीचे गिरकर जल्दी वापस आ जाता है, तो अत्यधिक पोजीशन घटाने के कारण रिकवरी छूट सकती है। सामान्य बाजार में यह तंत्र लगभग कभी ट्रिगर नहीं होता, लेकिन इसके होने से कम से कम यह सुनिश्चित होता है कि ब्लैक स्वान घटना में आप अंत तक पोजीशन न लिए रहें।


यह चलने पर कैसा दिखता है

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

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

javascript
function sleepWithPnlRefresh(totalSleepMs, weights, leverage, covMatrix, corrMatrix) { var elapsed = 0; while (elapsed < totalSleepMs) { var step = Math.min(PNL_INTERVAL, totalSleepMs - elapsed); Sleep(step); elapsed += step; var prices = getTickers(); var equity = calcEquity(prices); var initCap = _G('pt_initCapital') || INIT_CAPITAL; _chart.add(0, [new Date().getTime(), equity]); LogProfit(equity - initCap, '&'); renderDashboard(weights, leverage, covMatrix, corrMatrix, prices, totalSleepMs, true); } }

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


पेपर ट्रेडिंग के नतीजे

रणनीति परीक्षण अवधि के दौरान अस्थायी रूप से कुल लाभ की स्थिति में है। पोजीशन दिशाएँ: BTC, XAU, SPY सभी लॉन्ग हैं, CL क्रूड ऑयल शॉर्ट है। इस अवधि के दौरान ईरान-अमेरिका स्थिति में शिथिलता के संकेत मिलने, भू-राजनीतिक जोखिम प्रीमियम में गिरावट आने और क्रूड ऑयल की कीमतों में स्पष्ट गिरावट आने के कारण, क्रूड ऑयल पर शॉर्ट इस दौर का मुख्य लाभ स्रोत रहा। इस दौरान बाजार की चाल रणनीति के अनुकूल रही, जिसका मतलब यह नहीं है कि भविष्य में भी ऐसा ही होगा। वास्तव में, इस रणनीति में अभी भी कई ऐसे पहलू हैं जो पूरी तरह स्पष्ट नहीं हैं, और उन्हें ईमानदारी से बताना आवश्यक है।

img


जो पहलू स्पष्ट नहीं हैं

इस रणनीति को बनाते समय, कुछ समस्याएं थीं जो पूरी तरह हल नहीं हो सकीं।

पहली, RWA कॉन्ट्रैक्ट की तरलता BTC की तुलना में बहुत कम है। SPY, XAU, CL जैसे उपकरण चेन पर अभी भी बहुत नए हैं, स्लिपेज और ऑर्डर बुक डेप्थ अज्ञात हैं, पेपर ट्रेडिंग में यह समस्या महसूस नहीं होती, लेकिन लाइव ट्रेडिंग में यह वास्तविक रूप से घटित होगी।

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

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

चौथी, ऐतिहासिक डेटा सीमित है, और छोटी समयावधि में सहप्रसरण मैट्रिक्स की स्थिरता संदिग्ध है। EWMA डिके फैक्टर, लक्ष्य अस्थिरता दर, पुनर्संतुलन सीमा जैसे पैरामीटर सभी अनुभवजन्य मूल्य हैं, कठोर सत्यापन के बिना। शॉर्ट पोजीशन के निर्णय के लिए समान अस्थिरता वाले संदर्भ पोर्टफोलियो के सहप्रसरण चिह्न का उपयोग किया जाता है, यह एक इंजीनियरिंग अनुमान है। जब कई परिसंपत्तियां एक साथ संदर्भ पोर्टफोलियो के साथ ऋणात्मक सहप्रसरण दिखाती हैं, तो क्या उन सभी पर एक साथ शॉर्ट करना वास्तव में पोर्टफोलियो जोखिम को कम करता है, इसकी व्यक्तिगत रूप से पुष्टि की जानी चाहिए, इसे सीधे लागू नहीं किया जा सकता। क्रिप्टो परिसंपत्तियों में स्वाभाविक रूप से भारी पूंछ वाली विशेषताएं होती हैं, वास्तविक रिटर्न वितरण सामान्य वितरण से विचलित होता है, और चरम बाजार स्थितियों में सहप्रसरण मैट्रिक्स जोखिम का अनुमान कम लगा सकता है। ये वे धारणा पूर्वाग्रह हैं जिन्हें वर्तमान ढांचे का उपयोग करते समय स्वीकार करना होगा।

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

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


अंत में

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

उपरोक्त सामग्री केवल रणनीति खोज प्रक्रिया को रिकॉर्ड करती है, निवेश सलाह का गठन नहीं करती है। डेरिवेटिव ट्रेडिंग में उच्च जोखिम है, डेमो ट्रेडिंग के परिणाम लाइव परिणामों का प्रतिनिधित्व नहीं करते हैं। वास्तविक धन का उपयोग करने से पहले संबंधित जोखिमों को पूरी तरह से समझ लें।

रणनीति स्रोत कोड: RWA प्रमुख परिसंपत्ति जोखिम समानता रणनीति

Comment
All comments (0)
No data
No data
  • 1
iPhone Download
Forums
PINE Language
© 2015 - ∞ INVENTOR PTE LTD (SG)