वोलैटिलिटी और चरम मान

Python में Quantitative Risk Management

Jamsheed Shorish

Computational Economist

Chow test की मान्यताएँ

  • Chow test: संभावित स्ट्रक्चरल ब्रेक की सांख्यिकीय महत्वता जाँचें
  • आवश्यकता: स्ट्रक्चरल ब्रेक का पहले से तय बिंदु
  • आवश्यकता: लिनीयर संबंध (जैसे फैक्टर मॉडल) $$ \log(\text{Population}_t) = \alpha + \beta * \text{Year}_t + u_t $$

स्ट्रक्चरल ब्रेक बिंदु सहित चीन की जनसंख्या वृद्धि की छवि

Python में Quantitative Risk Management

स्ट्रक्चरल ब्रेक के संकेत

  • ट्रेंड का विजुअलाइज़ेशन ब्रेक पॉइंट न दर्शाए
  • विकल्प: ट्रेंड के बजाय वोलैटिलिटी जाँचें
    • स्ट्रक्चरल बदलाव प्रायः अधिक अनिश्चितता के साथ आता है => वोलैटिलिटी
    • समृद्ध मॉडल्स संभव (जैसे stochastic volatility मॉडल)

संभावित स्ट्रक्चरल ब्रेक पॉइंट्स सहित मासिक वोलैटिलिटी की छवि

Python में Quantitative Risk Management

रोलिंग विंडो वोलैटिलिटी

  • रोलिंग विंडो: समय के साथ वोलैटिलिटी निकालें और बदलाव पहचानें
  • स्मरण: 30-दिन की रोलिंग विंडो

    • ".rolling()" मेथड से रोलिंग विंडो बनाएँ
    • रोलिंग विंडो की वोलैटिलिटी निकालें (उपलब्ध न होने वाली तिथियाँ हटाएँ)
    • इच्छित समरी स्टैटिस्टिक निकालें, जैसे .mean(), .min(), आदि

     

rolling = portfolio_returns.rolling(30)

volatility = rolling.std().dropna()
vol_mean = volatility.resample("M").mean()
Python में Quantitative Risk Management

रोलिंग विंडो वोलैटिलिटी

  • प्राप्त वोलैटिलिटी (वेरिएंस या स्टैंडर्ड डेविएशन) को विजुअलाइज़ करें
import matplotlib.pyplot as plt
vol_mean.plot(
  title="Monthly average volatility"
).set_ylabel("Standard deviation")
plt.show()

मासिक औसत वोलैटिलिटी की छवि

Python में Quantitative Risk Management

रोलिंग विंडो वोलैटिलिटी

  • प्राप्त वोलैटिलिटी (वेरिएंस या स्टैंडर्ड डेविएशन) को विजुअलाइज़ करें
  • वोलैटिलिटी में बड़े बदलाव => संभावित स्ट्रक्चरल ब्रेक पॉइंट(s)
  • सुझाए गए ब्रेक पॉइंट्स को वोलैटिलिटी के लिनीयर मॉडल में उपयोग करें
    • Chow Test का एक वेरिएंट
  • जैसे ARCH, stochastic volatility मॉडलों के प्रयोग हेतु मार्गदर्शन
vol_mean.pct_change().plot(
  title="$\Delta$ average volatility"
).set_ylabel("% $\Delta$ stdev")
plt.show()

मासिक वोलैटिलिटी में प्रतिशत बदलाव की छवि

Python में Quantitative Risk Management

चरम मान

  • VaR, CVaR: किसी निश्चित कॉन्फिडेंस लेवल पर अधिकतम लॉस, अपेक्षित शॉर्टफॉल
  • VaR प्लॉट कर अधिकतम लॉस के बदलाव विजुअलाइज़ करें?
    • बड़े डेटासेट्स के लिए उपयोगी
    • छोटे डेटासेट्स: पर्याप्त जानकारी नहीं
  • विकल्प: किसी थ्रेशोल्ड से अधिक होने वाले लॉस खोजें
  • उदाहरण: $\text{VaR}_{95}$ वह अधिकतम लॉस है जो 95% समय तक नहीं टूटता
    • यानी 5% समय, लॉस $\text{VaR}_{95}$ को पार कर सकता है
  • बैकटेस्टिंग: पिछला डेटा ex-post उपयोग कर देखें कि रिस्क अनुमान कैसा रहा
    • एंटरप्राइज़ रिस्क मैनेजमेंट में व्यापक रूप से उपयोग
Python में Quantitative Risk Management

बैकटेस्टिंग

  • मान लें $\text{VaR}_{95} = 0.03$
  • तब 3% से अधिक लॉस चरम मान हैं
  • बैकटेस्टिंग: लगभग 5% (100% - 95%) पिछले लॉस 3% को पार करने चाहिए
    • ज्यादा than 5%: चौड़ी ("fatter") टेल्स वाला वितरण
    • कम than 5%: संकरी टेल्स वाला वितरण
  • बैकटेस्टिंग के लिए CVaR: टेल को VaR से बेहतर कैप्चर करता है

लॉस और 95% VaR थ्रेशोल्ड की छवि

Python में Quantitative Risk Management

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

Python में Quantitative Risk Management

Preparing Video For Download...