12 पोर्टफोलियो ऑप्टिमाइज़ेशन एल्गोरिदम की तुलना: HRP, Black-Litterman, NCO और आगे

क्रिप्टो की एक टोकरी, बारह आवंटन एल्गोरिदम, एक ईमानदार तुलना। हमने एक ओपन-सोर्स Rust पोर्टफोलियो ऑप्टिमाइज़र जारी किया है जो एक ही इंटरफ़ेस के पीछे HRP, HERC, MVO, Black-Litterman, NCO, Entropy Pooling और अन्य को चलाता है - यहां बताया गया है कि हर एक कैसे सोचता है और क्यों कोई एक विजेता नहीं है।

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

इसलिए एक तरीके पर दांव लगाने के बजाय, हमने एक ऐसा टूल बनाया जो बारह एल्गोरिदम को साथ-साथ चलाता है, सभी एक ही इंटरफ़ेस के पीछे, और आपको यह देखने देता है कि वे असली डेटा पर कैसे असहमत होते हैं। यह ओपन सोर्स है, Rust में लिखा गया है, और portfolio-optimizer.marketmaker.cc पर लाइव है। यह पोस्ट नक्शा है: हर एल्गोरिदम क्या मानता है, गणित कहां से आता है, और जब सभी बारह को क्रिप्टो की एक ही टोकरी पर लगाया जाता है तो क्या होता है।

एक इंटरफ़ेस, बारह राय

प्रोजेक्ट में हर एल्गोरिदम बिल्कुल वही फ़ंक्शन सिग्नेचर उजागर करता है:

pub fn optimize(prices: &[Vec<f64>]) -> Vec<f64>

कीमतें अंदर, वज़न बाहर। वज़न केवल-लॉन्ग, गैर-ऋणात्मक होते हैं, और उनका योग 1.0 होता है। यह एकरूपता ही पूरी बात है — इसका मतलब है कि आप कॉलिंग कोड की एक भी लाइन छुए बिना Hierarchical Risk Parity को Mean-Variance Optimization से बदल सकते हैं, और आप सभी को समान इनपुट पर बेंचमार्क कर सकते हैं। हर एल्गोरिदम अपने खुद के क्रेट में रहता है (portfolio-hrp, portfolio-mvo, portfolio-nco, …) ताकि आप केवल उसी पर निर्भर रह सकें जिसकी आपको ज़रूरत है।

अंदर से वे इससे ज़्यादा अलग नहीं हो सकते। आइए परिवारों को देखते हैं।

क्लासिक: Mean-Variance Optimization (MVO)

यहीं से आधुनिक पोर्टफोलियो सिद्धांत की शुरुआत हुई — हैरी मार्कोविट्ज़, 1952। MVO आवंटन को एक बाध्य अनुकूलन के रूप में मानता है: दिए गए जोखिम स्तर के लिए अपेक्षित रिटर्न को अधिकतम करना। औपचारिक रूप से, आप हल करते हैं

max⁡ww⊤μ−γ2 w⊤Σw\max_{w} \quad w^\top \mu - \frac{\gamma}{2}\, w^\top \Sigma w

s.t.∑iwi=1,wi≥0\text{s.t.} \quad \sum_i w_i = 1, \quad w_i \ge 0

जहां μ\mu अपेक्षित रिटर्न का वेक्टर है, Σ\Sigma कोवेरिएंस मैट्रिक्स है, और γ\gamma आपका जोखिम-विमुखता है। जब इनपुट अच्छे होते हैं, तो MVO अजेय होता है: यह, संरचना के अनुसार, दक्ष सीमा (efficient frontier) है।

समस्या यह है कि इनपुट कभी अच्छे नहीं होते। अपेक्षित रिटर्न μ\mu का अनुमान शोरगुल भरे इतिहास से लगाया जाता है, और MVO उनके प्रति बेहद संवेदनशील होता है — एक अनुमान में एक छोटा-सा बदलाव आवंटन को एक एसेट में 80% से दूसरे में 80% की ओर पलट सकता है। व्यवसायी इसे "त्रुटि अधिकतमीकरण" कहते हैं: ऑप्टिमाइज़र खुशी-खुशी उस एसेट में पूंजी उड़ेल देता है जिसका रिटर्न सबसे अधिक अधिक-आंका गया था। MVO वह मानक है जिससे हर कोई खुद को मापता है और वह चेतावनी भरी कहानी है जिसे हर कोई उद्धृत करता है।

पदानुक्रमित परिवार: HRP, HERC, GHRP, MHRP

2016 में मार्कोस लोपेज़ डे प्राडो ने एक अलग विचार प्रस्तावित किया: कोवेरिएंस मैट्रिक्स को बिल्कुल भी इनवर्ट न करें। Hierarchical Risk Parity (HRP) अनुकूलन समस्या को कभी सीधे हल न करके MVO की अस्थिरता से बच निकलता है। यह तीन चरणों में काम करता है:

  1. ट्री क्लस्टरिंग — सहसंबंध मैट्रिक्स को एक दूरी मीट्रिक में बदलें, dij=12(1−ρij)d_{ij} = \sqrt{\tfrac{1}{2}(1 - \rho_{ij})}, और एसेट्स का एक पदानुक्रम बनाएं ताकि समान एसेट्स एक ही शाखा पर बैठें।
  2. अर्ध-विकर्णीकरण (quasi-diagonalization) — कोवेरिएंस मैट्रिक्स को इस तरह पुनर्व्यवस्थित करें कि सहसंबद्ध एसेट्स आसन्न हों, जिससे बड़े मान विकर्ण के साथ केंद्रित हो जाएं।
  3. पुनरावर्ती द्विभाजन (recursive bisection) — पेड़ को ऊपर से नीचे विभाजित करें, दोनों हिस्सों के बीच उनके विचरण के व्युत्क्रम अनुपात में पूंजी आवंटित करें।

परिणाम एक ऐसा पोर्टफोलियो है जो बाज़ार की संरचना का सम्मान करता है — सहसंबद्ध एसेट्स एक-दूसरे के साथ वज़न के लिए प्रतिस्पर्धा करते हैं, न कि हर चीज़ के साथ एक साथ। HRP आउट-ऑफ-सैंपल MVO की तुलना में नाटकीय रूप से अधिक स्थिर है, ठीक इसलिए क्योंकि यह कभी भी खराब-कंडीशन्ड मैट्रिक्स को इनवर्ट नहीं करता।

प्रोजेक्ट इस परिवार के चार सदस्यों को शामिल करता है:

  • HRP — मूल लोपेज़ डे प्राडो एल्गोरिदम।
  • HERC (Hierarchical Equal Risk Contribution) — इनवर्स-वेरिएंस विभाजन को हर नोड पर एक समान-जोखिम-योगदान नियम से बदल देता है, ताकि हर क्लस्टर कुल जोखिम में समान रूप से योगदान करे।
  • GHRP (Generalized HRP) — एक पैरामीटरीकृत सामान्यीकरण जो आपको क्लस्टरिंग और आवंटन चरणों को ट्यून करने देता है।
  • MHRP (Modified HRP) — एक वेरिएंट जो भारी-पूंछ वाले रिटर्न वितरणों के लिए द्विभाजन भार को समायोजित करता है।

वे करीबी रिश्तेदार हैं, लेकिन असली डेटा पर वे सार्थक रूप से अलग हो जाते हैं — यही वजह है कि सभी चारों का होना उपयोगी है।

एक दृष्टिकोण डालना: Black-Litterman

Black-Litterman मॉडल (गोल्डमैन सैक्स, 1990 के दशक) MVO की सबसे व्यावहारिक खामी को ठीक करने के लिए बनाया गया था: यह आपको हर एसेट के लिए अपेक्षित रिटर्न देने पर मजबूर करता है, यहां तक कि उनके लिए भी जिन पर आपकी कोई राय नहीं है। इसके बजाय Black-Litterman एक तटस्थ बाज़ार-निहित संतुलन (market-implied equilibrium) से शुरू होता है और आपको अपने खुद के दृष्टिकोणों को मिलाने देता है, जो इस बात से भारित होते हैं कि आप कितने आश्वस्त हैं।

E[R]=[(τΣ)−1+P⊤Ω−1P]−1[(τΣ)−1Π+P⊤Ω−1Q]E[R] = \big[(\tau\Sigma)^{-1} + P^\top \Omega^{-1} P\big]^{-1} \big[(\tau\Sigma)^{-1}\Pi + P^\top \Omega^{-1} Q\big]

यहां Π\Pi संतुलन रिटर्न है, PP और QQ आपके दृष्टिकोणों को एनकोड करते हैं ("एसेट A, एसेट B से 2% बेहतर प्रदर्शन करेगा"), और Ω\Omega उन दृष्टिकोणों की अनिश्चितता है। जब आपके पास कोई दृष्टिकोण नहीं होता, तो यह वापस बाज़ार पोर्टफोलियो पर आ जाता है; जब आप निश्चित होते हैं, तो यह आपकी शर्तों की ओर ज़ोरदार ढंग से झुक जाता है। यह बारह में सबसे ज़्यादा राय-जागरूक है।

हाइब्रिड: Nested Clustered Optimization (NCO)

NCO, जो लोपेज़ डे प्राडो से ही आया है, ऊपर बताई गई दोनों दुनियाओं का एक चतुर मिलन है। यह HRP की तरह एसेट्स को क्लस्टर करता है, फिर हर क्लस्टर के अंदर और फिर क्लस्टरों के आर-पार एक छोटा, अच्छी तरह से कंडीशन्ड Mean-Variance Optimization चलाता है। हमेशा केवल छोटे, स्थिर उप-मैट्रिक्स को इनवर्ट करके, NCO वहां MVO की इष्टतमता को पकड़ लेता है जहां इसका उपयोग करना सुरक्षित है, साथ ही एक विशाल कोवेरिएंस मैट्रिक्स को इनवर्ट करने की अस्थिरता से बचता है। यह अक्सर दोनों व्यवहारों में सबसे अच्छा होता है।

बाकी की सूची

  • Entropy Pooling (Meucci) — एक प्रायिकतावादी ढांचा जो एक समूह दृष्टिकोणों को बाधाओं के रूप में संतुष्ट करते हुए आपके पूर्व (prior) के सबसे निकट वितरण को (सापेक्ष एन्ट्रॉपी द्वारा) खोजता है। जब आप बिंदु पूर्वानुमानों के बजाय अनिश्चितता व्यक्त करना चाहते हैं तो यह सुरुचिपूर्ण होता है।
  • OLPS (Online Portfolio Selection) — क्रमिक रणनीतियों का एक परिवार (universal portfolios, follow-the-winner, mean-reversion) जो नई कीमतें आने पर पुनर्संतुलन करता है, सिद्ध पछतावा सीमाओं (regret bounds) के साथ। सेट में एकमात्र वास्तव में ऑनलाइन पद्धति।
  • RBA (Robust Bayesian Allocation) — आवंटन को एक बायेसियन श्रिंकेज परत में लपेटता है, शोरगुल भरे अनुमानों को एक समझदार पूर्व की ओर खींचता है ताकि एक ही अजीब महीना वज़न पर हावी न हो सके।
  • TIC (Theory-Implied Correlation) — कच्चे सैंपल सहसंबंध मैट्रिक्स को एक ऐसे मैट्रिक्स से बदल देता है जिसे एक सैद्धांतिक संरचना (अक्सर एक आर्थिक वर्गीकरण) के विरुद्ध डीनॉइज़ किया गया है, जो सहसंबंधों पर पलने वाली पदानुक्रमित पद्धतियों को तेज़ी से बेहतर बना सकता है।
  • Pipeline — हमारा समग्र "हाउस" एल्गोरिदम: एक HRP रीढ़ जिसमें एक वैकल्पिक long/short ओवरले और एक CVaR (टेल-रिस्क) बाधा है। एकसमान केवल-लॉन्ग optimize() एंट्री पॉइंट के ज़रिए यह HRP की तरह व्यवहार करता है; इसकी long/short और टेल-रिस्क मशीनरी तब जीवंत हो जाती है जब आप इसे स्पष्ट सिग्नल के साथ चलाते हैं। हम इसे एक समर्पित गहन विश्लेषण में पूरी तरह से तोड़ते हैं: Inside Our House Algorithm: HRP + Long/Short + CVaR with Hull-White।

जब आप सभी बारह की दौड़ कराते हैं तो क्या होता है

अब मज़ेदार हिस्सा आता है। हमने सभी बारह को जानबूझकर बनाई गई एक मिश्रित टोकरी पर लगाया — तीन मज़बूत विजेता (ZEC, Tether Gold, 1000RATS) और तीन भारी हारने वाले (FLOW, KAVA, LINEA) — सितंबर 2025 से फरवरी 2026 की विंडो में, और हर एक को आवंटन करने दिया।

एल्गोरिदमवार्षिकीकृत रिटर्नशार्प
RBA+149%—
MVO+74%2.52
Entropy Pooling+57%1.93
NCO+44%—
HERC+30%—
Black-Litterman+7%—
OLPS−74%—
MHRP−78%—
GHRP−95%—
HRP / Pipeline−103%−2.45
TIC−131%—

इसमें से कुछ भी निकालने से पहले एक ज़ोरदार चेतावनी: ये आंकड़े एक टोकरी से एक विंडो पर आते हैं, और टोकरी को जानबूझकर अत्यधिक विजेताओं और हारने वालों को शामिल करने के लिए तैयार किया गया था। यह प्रदर्शन का दावा नहीं है और बिल्कुल भी सलाह नहीं है — यह व्यवहारिक विचलन (behavioral divergence) का प्रदर्शन है। इसे अपने खुद के एसेट्स पर चलाएं और रैंकिंग पूरी तरह से फिर से क्रमबद्ध हो जाएगी।

लेकिन परिणाम का आकार ही सबक है। रिटर्न-खोजी पद्धतियां — MVO, RBA, Entropy Pooling, NCO — ने विजेताओं में पूंजी केंद्रित की और मज़बूत सकारात्मक रिटर्न दिए। शुद्ध risk-parity पद्धतियां — HRP, TIC, MHRP, GHRP — ने विविधीकरण की खातिर वज़न को समान रूप से फैलाया, जिसका मतलब था हारने वालों को भी पकड़ना, और नकारात्मक हो गईं। दोनों में से कोई भी व्यवहार "गलत" नहीं है। Risk parity तब जीवित रहने के लिए बनाई गई है जब आप पहले से विजेताओं और हारने वालों को नहीं बता सकते; एक ऐसी टोकरी पर जहां भविष्य को जानने योग्य बनाने के लिए जोड़-तोड़ की गई थी, यह अपनी विनम्रता की कीमत चुकाती है। यह तनाव — एकाग्रता बनाम विविधीकरण, विश्वास बनाम मज़बूती — एक ही तालिका में पूरा क्षेत्र है।

ओपन सोर्स और लाइव

पूरी चीज़ खुली है: गिट सबमॉड्यूल के रूप में बारह Rust एल्गोरिदम क्रेट, एक Axum HTTP बैकएंड जो उन सभी को भेजता है, और एक इंटरैक्टिव इफ़िशिएंट-फ्रंटियर चार्ट और साथ-साथ तुलना तालिका वाला एक Next.js फ्रंट एंड। आप कर सकते हैं:

  • portfolio-optimizer.marketmaker.cc पर इसे लाइव आज़मा सकते हैं — एसेट्स, एक तारीख रेंज, और एक एल्गोरिदम चुनें, और वज़न व फ्रंटियर को अपडेट होते हुए देखें;
  • Compare Methods टैब खोलकर समान कीमतों पर सभी बारह को एक साथ चला सकते हैं;
  • अपने खुद के Rust प्रोजेक्ट में किसी भी एक क्रेट (portfolio-hrp, portfolio-nco, …) पर निर्भर रह सकते हैं।

मुख्य बातें

  1. कोई सार्वभौमिक रूप से सबसे अच्छा ऑप्टिमाइज़र नहीं है। सही चुनाव इस पर निर्भर करता है कि आप अपने रिटर्न अनुमानों पर कितना भरोसा करते हैं। भरोसा करते हैं → MVO/Black-Litterman। नहीं करते → HRP और उसके साथी।
  2. MVO इष्टतम और नाज़ुक है। यह दक्ष सीमा को परिभाषित करता है लेकिन अनुमान त्रुटि को अधिकतम करता है। इसके वज़न को संदेह के साथ लें जब तक कि आपके इनपुट वास्तव में विश्वसनीय न हों।
  3. पदानुक्रमित पद्धतियां चरम प्रदर्शन के बदले स्थिरता का व्यापार करती हैं। वे शायद ही कभी किसी एक बैकटेस्ट में शीर्ष पर रहती हैं लेकिन शायद ही कभी विफल भी होती हैं — जो वास्तव में मायने रखता है जब भविष्य अज्ञात है।
  4. एक समान इंटरफ़ेस एक महाशक्ति है। एक बार जब हर एल्गोरिदम prices -> weights हो जाता है, तो उन्हें ईमानदारी से तुलना करने में कोई लागत नहीं आती, और बदलना मुफ़्त है।

बारह एल्गोरिदम को समझने का सबसे अच्छा तरीका है उन्हें बहस करते हुए देखना। उन एसेट्स पर तुलना चलाएं जिनकी आपको वास्तव में परवाह है।

संदर्भ

  1. Markowitz, H. (1952). Portfolio Selection. The Journal of Finance.
  2. López de Prado, M. (2016). Building Diversified Portfolios that Outperform Out of Sample. The Journal of Portfolio Management.
  3. López de Prado, M. (2020). Machine Learning for Asset Managers. Cambridge University Press.
  4. Black, F., & Litterman, R. (1992). Global Portfolio Optimization. Financial Analysts Journal.
  5. Meucci, A. (2008). Fully Flexible Views: Theory and Practice. Risk.
  6. Marketmaker.cc: marketmaker.cc

उद्धरण

@article{soloviov2026portfoliooptimization,
  author = {Soloviov, Eugen and Zhuravleva, Marina and Kiselev, Kirill},
  title = {12 Portfolio Optimization Algorithms, Compared: HRP, Black-Litterman, NCO and Beyond},
  year = {2026},
  url = {https://marketmaker.cc/en/blog/post/portfolio-optimization-algorithms-compared},
  description = {A tour of twelve portfolio allocation algorithms — MVO, the hierarchical family (HRP, HERC, GHRP, MHRP), Black-Litterman, NCO, Entropy Pooling, OLPS, RBA, TIC and a composite pipeline — behind a single Rust interface, with an honest side-by-side comparison on a mixed crypto basket.}
}