वोलैटिलिटी के लिए कोवेरियंस निकालें
MPT में, हम जोखिम को वोलैटिलिटी से मापते हैं. पोर्टफोलियो वोलैटिलिटी निकालने का गणित जटिल है, और इसके लिए डेली रिटर्न्स के कोवेरियंस चाहिए होते हैं. अब हम returns_monthly DataFrame के हर महीने पर लूप चलाएँगे और डेली रिटर्न्स का कोवेरियंस निकालेंगे.
pandas के datetime इंडेक्स के साथ, आप df.index.month और df.index.year से महीना और साल एक्सेस कर सकते हैं. हम इसका उपयोग returns_daily के लिए एक मास्क बनाने में करेंगे, जो लूप में चालू महीने और साल के डेली रिटर्न्स दे. फिर हम इस मास्क से DataFrame को ऐसे सबसेट करेंगे: df[mask]. इससे returns_daily के वे एंट्रीज़ मिलेंगी जो लूप के हर चक्र में चालू महीने और साल में आती हैं. अंत में, हम pandas की .cov() मेथड से डेली रिटर्न्स का कोवेरियंस लेंगे.
यह अभ्यास पाठ्यक्रम का हिस्सा है
Python में Finance के लिए Machine Learning
अभ्यास निर्देश
returns_monthlyके इंडेक्स पर लूप चलाएँ.returns_dailyके लिए ऐसा मास्क बनाएँ जोreturns_monthlyके चालू महीने और साल का उपयोग करे, और लूप मेंiसे चालू महीने और साल से मैच करे.returns_dailyपर मास्क लगाएँ और.cov()का उपयोग करके कोवेरियंस निकालें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# Daily covariance of stocks (for each monthly period)
covariances = {}
rtd_idx = returns_daily.index
for i in returns_monthly.____:
# Mask daily returns for each month and year, and calculate covariance
mask = (rtd_idx.month == i.month) & (rtd_idx.____ == i.____)
# Use the mask to get daily returns for the current month and year of monthy returns index
covariances[i] = returns_daily[____].cov()
print(covariances[i])