Constraints जोड़ें
add.constraint() फंक्शन से constraints को पोर्टफोलियो स्पेसिफिकेशन ऑब्जेक्ट में जोड़ा जाता है. हर जोड़ा गया constraint एक अलग ऑब्जेक्ट होता है और पोर्टफोलियो ऑब्जेक्ट के constraints स्लॉट में स्टोर होता है. इस तरह constraints मॉड्यूलर रहते हैं और आप पोर्टफोलियो ऑब्जेक्ट में उन्हें आसानी से जोड़, हटा, या संशोधित कर सकते हैं. add.constraint() के लिए आवश्यक आर्ग्युमेंट हैं: वह portfolio जिसमें constraint जोड़ा जाएगा, constraint का type, और उस constraint टाइप के कंस्ट्रक्टर को ... से पास किए गए named आर्ग्युमेंट्स.
बेसिक constraint टाइप्स:
- वेट्स के योग पर constraint निर्दिष्ट करें
weight_sum,weight,leveragefull_investmentएक special case है जोmin_sum = max_sum = 1सेट करता हैdollar_neutralएक special case है जोmin_sum = max_sum = 0सेट करता है
- व्यक्तिगत एसेट वेट्स के लिए constraints निर्दिष्ट करें
boxlong_onlyएक special case है जोmin = 0औरmax = 1सेट करता है
- ग्रुप (sector, region, asset class, आदि) के अनुसार एसेट्स के वेट्स के योग के लिए constraint निर्दिष्ट करें
group
- target mean return पर constraint निर्दिष्ट करें
return
इस अभ्यास में, आप कुछ आम constraint टाइप्स जोड़ेंगे. ऊपर दिए गए बेसिक टाइप्स के अलावा, PortfolioAnalytics position limit, turnover, diversification, factor exposure, और leverage exposure जैसे constraint टाइप्स भी सपोर्ट करता है. अगर आप अन्य constraint टाइप्स में रुचि रखते हैं, तो constraint constructors की help फाइलें देखें. help फाइलों में constraint टाइप का विवरण और example code शामिल है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में इंटरमीडिएट पोर्टफोलियो विश्लेषण
अभ्यास निर्देश
- एक
weight_sumconstraint जोड़ें ताकि वेट्स का न्यूनतम योग 1 और अधिकतम योग 1 हो. - एक
boxconstraint जोड़ें ताकि पहली पाँच एसेट्स का न्यूनतम वेट 10% हो और शेष एसेट्स का न्यूनतम वेट 5% हो. सभी एसेट्स का अधिकतम वेट 40% हो. - एक
groupconstraint जोड़ें ताकि एसेट्स 1, 5, 7, 9, 10, और 11 पहला ग्रुप हों और एसेट्स 2, 3, 4, 6, 8, और 12 दूसरा ग्रुप हों. प्रत्येक ग्रुप के लिए न्यूनतम वेट 40% और अधिकतम वेट 60% सेट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Add the weight sum constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min_sum = ___, max_sum = ___)
# Add the box constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min = c(___), max = ___)
# Add the group constraint
port_spec <- add.constraint(portfolio = ___, type = ___, groups = list(c(___), c(___)), group_min = ___, group_max = ___)
# Print the portfolio specification object