उद्देश्य जोड़ें
पोर्टफोलियो ऑब्जेक्ट में उद्देश्यों को add.objective() फंक्शन से जोड़ा जाता है. जो भी उद्देश्य जोड़ा जाता है, वह एक अलग ऑब्जेक्ट होता है और पोर्टफोलियो स्पेसिफिकेशन ऑब्जेक्ट के objectives स्लॉट में स्टोर होता है. इस तरह उद्देश्य मॉड्यूलर रहते हैं और आप आसानी से उद्देश्य ऑब्जेक्ट जोड़, हटा या संशोधित कर सकते हैं. name आर्ग्युमेंट एक मान्य R फंक्शन होना चाहिए. PerformanceAnalytics पैकेज में कई फंक्शन उपलब्ध हैं, और यूज़र-डिफाइंड फंक्शन भी ऑब्जेक्टिव फंक्शन के रूप में उपयोग किए जा सकते हैं. add.objective() के लिए आवश्यक आर्ग्युमेंट हैं: वह portfolio जिसमें उद्देश्य जोड़ा जा रहा है, उद्देश्य का type, उद्देश्य का name, और उद्देश्य टाइप के कंस्ट्रक्टर को ... के माध्यम से पास किए जाने वाले नामित आर्ग्युमेंट. ऑब्जेक्टिव फंक्शन के आर्ग्युमेंट्स को arguments में एक नामित लिस्ट के रूप में निर्दिष्ट किया जाता है.
बेसिक ऑब्जेक्टिव टाइप्स:
return: यह ऑब्जेक्टिव टाइप ऑब्जेक्टिव को अधिकतम करने का लक्ष्य रखता है.risk: यह ऑब्जेक्टिव टाइप ऑब्जेक्टिव को न्यूनतम करने का लक्ष्य रखता है.risk_budget: यह ऑब्जेक्टिव टाइप रिस्क कंसंट्रेशन को न्यूनतम करने या उस रिस्क कॉन्ट्रिब्यूशन को पेनलाइज़ करने का लक्ष्य रखता है जो अनुमत न्यूनतम या अधिकतम प्रतिशत कॉन्ट्रिब्यूशन टू रिस्क से अधिक हो जाता है.
उपरोक्त ऑब्जेक्टिव टाइप्स के अलावा, PortfolioAnalytics क्वाड्रेटिक यूटिलिटी और वेट कंसंट्रेशन ऑब्जेक्टिव टाइप्स को भी सपोर्ट करता है. यदि आप अन्य constraint टाइप्स में रुचि रखते हैं, तो constraint कंस्ट्रक्टर्स की हेल्प फाइलें देखें. हेल्प फाइलों में constraint टाइप का वर्णन और उदाहरण कोड शामिल है.
यह अभ्यास पाठ्यक्रम का हिस्सा है
R में इंटरमीडिएट पोर्टफोलियो विश्लेषण
अभ्यास निर्देश
- पिछले अभ्यास में आपने जो पोर्टफोलियो स्पेसिफिकेशन ऑब्जेक्ट
port_specबनाया था, उसमें एक रिटर्न ऑब्जेक्टिव जोड़ें. port_specमें पोर्टफोलियो स्टैंडर्ड डिविएशन को न्यूनतम करने के लिए एक रिस्क ऑब्जेक्टिव जोड़ें.port_specमें एक रिस्क बजट ऑब्जेक्टिव जोड़ें जहाँ रिस्क को कंपोनेंट स्टैंडर्ड डिविएशन के रूप में परिभाषित किया गया हो. न्यूनतम प्रतिशत रिस्क 5% और अधिकतम प्रतिशत रिस्क 10% सेट करें.port_specऑब्जेक्ट को प्रिंट करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Add a return objective to maximize mean return
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)
# Add a risk objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)
# Add a risk budget objective
port_spec <- add.objective(portfolio = ___, type = ___, name = ___, min_prisk = ___, max_prisk = ___)
# Print the portfolio specification object