कर्नेल डेंसिटी एस्टीमेशन

Python में Quantitative Risk Management

Jamsheed Shorish

Computational Economist

हिस्टोग्राम पर दोबारा नज़र

  • रिस्क फैक्टर वितरण
    • मान्य (जैसे Normal, T, आदि)
    • फिटेड (पैरामीट्रिक एस्टीमेशन, Monte Carlo सिमुलेशन)
    • नज़रअंदाज़ (हिस्टोरिकल सिमुलेशन)
  • वास्तविक डेटा: हिस्टोग्राम
  • हिस्टोग्राम को probability distribution से कैसे दर्शाएँ?
    • फ़िल्टरिंग से डेटा को स्मूद करें
    • नॉन-पैरामीट्रिक एस्टीमेशन

लॉस का हिस्टोग्राम

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें

हिस्टोग्राम अक्ष

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं

ऑब्जर्वेशन जमा होते हुए

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं

ऑब्जर्वेशन जमा होते हुए

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं

ऑब्जर्वेशन जमा होते हुए

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं
  • कोई एक खास पोर्टफोलियो लॉस चुनें

लॉस और तीर से चुना हुआ खास लॉस

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं
  • कोई एक खास पोर्टफोलियो लॉस चुनें
    • पास के लॉस जाँचें

ऑब्जर्वेशन पर सुपरइंपोज़्ड कर्नेल विंडो

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं
  • कोई एक खास पोर्टफोलियो लॉस चुनें
    • पास के लॉस जाँचें
    • लॉस का "वेटेड एवरेज" बनाएँ
  • कर्नेल: फ़िल्टर का चुनाव; "विंडो" तय करता है

कर्नेल से निकला वेटेड एवरेज दर्शाया गया

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं
  • कोई एक खास पोर्टफोलियो लॉस चुनें
    • पास के लॉस जाँचें
    • लॉस का "वेटेड एवरेज" बनाएँ
  • कर्नेल: फ़िल्टर का चुनाव; "विंडो" तय करता है
    • विंडो को किसी दूसरे लॉस पर ले जाएँ

दूसरे कर्नेल स्थान की छवि

Python में Quantitative Risk Management

डेटा स्मूदिंग

  • फ़िल्टर: हिस्टोग्राम की 'उभार' स्मूद करें
  • ऑब्जर्वेशन समय के साथ जमा होते हैं
  • कोई एक खास पोर्टफोलियो लॉस चुनें
    • पास के लॉस जाँचें
    • लॉस का "वेटेड एवरेज" बनाएँ
  • कर्नेल: फ़िल्टर का चुनाव; "विंडो" तय करता है
    • विंडो को किसी दूसरे लॉस पर ले जाएँ
  • कर्नेल डेंसिटी एस्टीमेट: probability density

कर्नेल डेंसिटी एस्टीमेट की छवि

Python में Quantitative Risk Management

गॉसियन कर्नेल

  • कंटीन्यूअस कर्नेल
  • सभी ऑब्जर्वेशन को सेंटर से दूरी के अनुसार वेट देता है
  • आम तौर पर: कई तरह के कर्नेल उपलब्ध हैं
    • टाइम सीरीज़ एनालिसिस में उपयोग
    • सिग्नल प्रोसेसिंग में उपयोग

गॉसियन कर्नेल की छवि

Python में Quantitative Risk Management

Python में KDE

from scipy.stats import gaussian_kde

kde = guassian_kde(losses)
loss_range = np.linspace(np.min(losses), np.max(losses), 1000)
plt.plot(loss_range, kde.pdf(loss_range))
  • विज़ुअलाइज़ेशन: KDE फिट से probability density function

गॉसियन KDE एस्टीमेट प्लॉट

Python में Quantitative Risk Management

KDE से VaR निकालना

  • VaR: gaussian_kde की .resample() मेथड उपयोग करें
  • प्राप्त सैंपल का क्वांटाइल निकालें
  • CVaR: अपेक्षित मान पहले जैसा, पर
    • gaussian_kde में .expect() नहीं है => इंटीग्रल manually निकालें
    • अभ्यास के लिए खास .expect() मेथड लिखा गया है
sample = kde.resample(size = 1000)

VaR_99 = np.quantile(sample, 0.99)
print("VaR_99 from KDE: ", VaR_99)
VaR_99 from KDE: 0.08796423698448601
Python में Quantitative Risk Management

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

Python में Quantitative Risk Management

Preparing Video For Download...