VaR और CVaR से जोखिम प्रबंधन

Python में Quantitative Risk Management

Jamsheed Shorish

Computational Economist

मॉडर्न पोर्टफोलियो थ्योरी के जरिए जोखिम प्रबंधन

  • इफिशिएंट पोर्टफोलियो
    • दिए गए जोखिम स्तर पर रिटर्न अधिकतम करने वाले पोर्टफोलियो वेट्स
  • इफिशिएंट फ्रंटियर: अलग-अलग इफिशिएंट पोर्टफोलियो से बने (जोखिम, रिटर्न) बिंदुओं का सेट
    • हर बिंदु = पोर्टफोलियो वेट ऑप्टिमाइज़ेशन
  • इफिशिएंट पोर्टफोलियो/फ्रंटियर का निर्माण: मॉडर्न पोर्टफोलियो थ्योरी

इफिशिएंट फ्रंटियर का प्लॉट

Python में Quantitative Risk Management

MPT में Value at Risk को शामिल करना

  • मॉडर्न पोर्टफोलियो थ्योरी (MPT): "मीन-वेरिएंस" ऑप्टिमाइज़ेशन
    • सबसे अधिक अपेक्षित रिटर्न
    • जोखिम स्तर (वोलैटिलिटी) दिया हुआ
    • ऑब्जेक्टिव फंक्शन: अपेक्षित रिटर्न
  • VaR/CVaR: लॉस के वितरण पर जोखिम को मापते हैं
  • MPT को अनुकूलित करें ताकि अपेक्षित रिटर्न के बजाय लॉस डिस्ट्रीब्यूशन पर ऑप्टिमाइज़ हो
Python में Quantitative Risk Management

नया उद्देश्य: CVaR न्यूनतम करें

  • पोर्टफोलियो ऑप्टिमाइज़ेशन का उद्देश्य बदलें
    • मीन-वेरिएंस उद्देश्य: अपेक्षित मीन रिटर्न अधिकतम करें
    • CVaR उद्देश्य: दिए गए कॉन्फिडेंस लेवल पर अपेक्षित कंडीशनल लॉस को न्यूनतम करें
  • उदाहरण: लॉस डिस्ट्रीब्यूशन
    • VaR: 95% कॉन्फिडेंस पर अधिकतम लॉस
    • ऑप्टिमाइज़ेशन: CVaR को न्यूनतम करने वाले पोर्टफोलियो वेट्स
    • CVaR: कम-से-कम VaR लॉस होने पर अपेक्षित लॉस (सबसे खराब 5% केस)
  • सबसे खराब 100% - 95% = 5% आउटकम्स में सबसे कम अपेक्षित लॉस ढूँढें
Python में Quantitative Risk Management

रिस्क मैनेजमेंट की समस्या

  • ऑप्टिमल पोर्टफोलियो वेट्स $w^\star$ को समाधान के रूप में चुनें

cvar_minimization

  • याद करें: $f(x)$ = पोर्टफोलियो के लॉस की प्रॉबेबिलिटी डेंसिटी फंक्शन

  • PyPortfolioOpt: CVaR को नया उद्देश्य मानकर मिनिमाइज़ेशन चुनें

Python में Quantitative Risk Management

PyPortfolioOpt से CVaR मिनिमाइज़ेशन

  • एसेट रिटर्न returns के साथ EfficientCVaR ऑब्जेक्ट बनाएँ
  • .min_cvar() मेथड से ऑप्टिमल पोर्टफोलियो वेट्स निकालें

 

ec = pypfopt.efficient_frontier.EfficientCVaR(None, returns)

optimal_weights = ec.min_cvar()
Python में Quantitative Risk Management

मीन-वेरिएंस बनाम CVaR जोखिम प्रबंधन

  • मीन-वेरिएंस मिनिमम वोलैटिलिटी पोर्टफोलियो, 2005-2010 इन्वेस्टमेंट बैंक एसेट्स
ef = EfficientFrontier(None, e_cov)

min_vol_weights = ef.min_volatility()
print(min_vol_weights)
{'Citibank': 0.0,
 'Morgan Stanley': 5.0784330940519306e-18,
 'Goldman Sachs': 0.6280157234640608,
 'J.P. Morgan': 0.3719842765359393}
Python में Quantitative Risk Management

मीन-वेरिएंस बनाम CVaR जोखिम प्रबंधन

  • CVaR-मिनिमाइज़िंग पोर्टफोलियो, 2005-2010 इन्वेस्टमेंट बैंक एसेट्स
ec = pypfopt.efficient_frontier.EfficientCVaR(None, returns)
min_cvar_weights = ec.min_cvar()

print(min_cvar_weights)

 

{'Citibank': 0.0,
 'Morgan Stanley': 0.0,
 'Goldman Sachs': 0.669324359403484,
 'J.P. Morgan': 0.3306756405965026}
Python में Quantitative Risk Management

अभ्यास करते हैं!

Python में Quantitative Risk Management

Preparing Video For Download...