जोखिम एक्सपोज़र और हानि

Python में Quantitative Risk Management

Jamsheed Shorish

Computational Economist

एक वेकेशन उदाहरण

  • छुट्टियों के लिए होटल बुकिंग

  • पहले से भुगतान, रहने से पहले

    • कम रूम रेट
    • नॉन-रिफंडेबल: कैंसलेशन फीस = रूम रेट का 100%
  • आगमन पर भुगतान

    • उच्च रूम रेट
    • आंशिक रूप से रिफंडेबल: रूम रेट का 20% कैंसलेशन फीस

कैरेबियन बीच के पास नाव की छवि

Python में Quantitative Risk Management

विकल्पों में कैसे चुनें

  • आपका निर्णय क्या तय करता है?
    1. नेगेटिव शॉक की संभावना: बीमारी, यात्रा बाधा, मौसम
      • Probability of loss
    2. शॉक से जुड़ी हानि: राशि या सशर्त राशि
      • जैसे VaR, CVaR
    3. शॉक से बचने की चाह: व्यक्तिगत भावना
      • Risk tolerance

बुखार से बीमार तीन बच्चों का कार्टून, मुंह में थर्मामीटर

 

रिस्क स्केल और रिस्क मैनेजमेंट के लिए पैसे की छवि

Python में Quantitative Risk Management

Risk exposure और VaR

  • Risk exposure: probability of loss × loss measure
    • Loss measure: जैसे VaR
  • छुट्टी रद्द करने की 10% संभावना: P(Illness) = 0.10
  • नॉन-रिफंडेबल:
    • कुल नॉन-रिफंडेबल होटल लागत: € 500
    • 90% कॉन्फिडेंस पर VaR: € 500
  • आंशिक रिफंड:
    • रिफंडेबल होटल लागत: € 550
    • 90% कॉन्फिडेंस पर VaR: 20% कैंसलेशन फीस × € 550 = € 110
Python में Quantitative Risk Management

जोखिम एक्सपोज़र की गणना

  • नॉन-रिफंडेबल एक्सपोज़र ("$\text{nr}$"):
    • P(illness) × $\text{VaR}_{0.90}^{\text{nr}}$ = 0.10 × € 500 = € 50.
  • आंशिक रिफंड एक्सपोज़र ("$\text{pr}$"):
    • P(illness) × $\text{VaR}_{0.90}^{\text{pr}}$ = 0.10 × € 110 = € 11.
  • जोखिम एक्सपोज़र का अंतर: € 50 - € 11 = € 39.
  • ऑफ़र्स के कुल दाम का अंतर: € 550 - € 500 = € 50.
  • Risk tolerance: क्या € 50 ज्यादा देकर € 39 का अतिरिक्त एक्सपोज़र टालना सही है?
Python में Quantitative Risk Management

Risk tolerance और risk appetite

  • Risk-neutral: सिर्फ अपेक्षित मान मायने रखते हैं
    • € 39 < € 50 $\Rightarrow$ नॉन-रिफंडेबल विकल्प पसंद
  • Risk-averse: अनिश्चितता खुद एक लागत है
    • € 39 < € 50 $\Rightarrow$ आंशिक रिफंड विकल्प पसंद
  • एंटरप्राइज/संस्थागत रिस्क मैनेजमेंट: प्राथमिकताएँ risk appetite
  • व्यक्तिगत निवेशक: प्राथमिकताएँ risk tolerance
Python में Quantitative Risk Management

हानि वितरण - डिस्क्रीट

  • Risk exposure हानि वितरण (probability of loss) पर निर्भर करता है
  • वेकेशन उदाहरण: रैंडम रिस्क फैक्टर से 2 आउटकम

वेकेशन उदाहरण से बाइनरी लॉस का बार चार्ट

Python में Quantitative Risk Management

हानि वितरण - कंटीन्यूस

  • Risk exposure हानि वितरण (probability of loss) पर निर्भर करता है
  • वेकेशन उदाहरण: रैंडम रिस्क फैक्टर से 2 आउटकम
  • सामान्यतः: कंटीन्यूस लॉस डिस्ट्रीब्यूशन
    • Normal distribution: बड़े सैंपल के लिए अच्छा

कंटीन्यूस नॉर्मल डिस्ट्रीब्यूशन की छवि

Python में Quantitative Risk Management

हानि वितरण - कंटीन्यूस

  • Risk exposure हानि वितरण (probability of loss) पर निर्भर करता है
  • वेकेशन उदाहरण: रैंडम रिस्क फैक्टर से 2 आउटकम
  • सामान्यतः: कंटीन्यूस लॉस डिस्ट्रीब्यूशन
    • Normal distribution: बड़े सैंपल के लिए अच्छा
    • Student's t-distribution: छोटे सैंपल के लिए अच्छा

कंटीन्यूस लॉस T डिस्ट्रीब्यूशन की छवि

Python में Quantitative Risk Management

संक्षेप: Student's t-distribution

  • इसे T distribution भी कहते हैं
  • छोटे सैंपल पर Normal से "मोटी" टेल्स होती हैं
    • पोर्टफोलियो रिटर्न/हानि जैसी
  • सैंपल साइज बढ़ने पर T Normal distribution में कन्वर्ज होता है

कंटीन्यूस लॉस डिस्ट्रीब्यूशन की छवि

Python में Quantitative Risk Management

Python में T distribution

  • उदाहरण: T distribution से 95% VaR निकालें
    • scipy.stats से t distribution इंपोर्ट करें
    • t.fit() से portfolio_loss डेटा फिट करें

 

from scipy.stats import t

params = t.fit(portfolio_losses)

कंटीन्यूस लॉस डिस्ट्रीब्यूशन की छवि

Python में Quantitative Risk Management

Python में T distribution

  • उदाहरण: T distribution से 95% VaR निकालें
    • scipy.stats से t distribution इंपोर्ट करें
    • t.fit() से portfolio_loss डेटा फिट करें
    • VaR पाने के लिए .ppf() से percent point function निकालें
from scipy.stats import t

params = t.fit(portfolio_losses)
VaR_95 = t.ppf(0.95, *params)

VaR के साथ कंटीन्यूस लॉस T डिस्ट्रीब्यूशन की छवि

Python में Quantitative Risk Management

Degrees of freedom

  • Degrees of freedom (df): स्वतंत्र ऑब्ज़र्वेशंस की संख्या
  • कम df: "फैट-टेल्ड" T distribution
  • ज्यादा df: Normal distribution
x = np.linspace(-3, 3, 100)

plt.plot(x, t.pdf(x, df = 2))
plt.plot(x, t.pdf(x, df = 5))
plt.plot(x, t.pdf(x, df = 30))

30 डिग्री ऑफ फ्रीडम के लिए T डिस्ट्रीब्यूशन की छवि

Python में Quantitative Risk Management

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

Python में Quantitative Risk Management

Preparing Video For Download...