BaşlayınÜcretsiz başlayın

Oynaklık için kovaryansları hesapla

MPT'de riski oynaklıkla ölçeriz. Portföy oynaklığını hesaplama matematiği karmaşıktır ve günlük getirilerin kovaryanslarını gerektirir. Şimdi returns_monthly DataFrame'indeki her ayı döngüyle gezeceğiz ve günlük getirilerin kovaryansını hesaplayacağız.

pandas datetime indeksleriyle, aya ve yıla df.index.month ve df.index.year ile erişebiliriz. Bunu, döngüdeki geçerli ay ve yıla ait günlük getirileri veren bir maske oluşturmak için returns_daily üzerinde kullanacağız. Daha sonra maskeyi şu şekilde DataFrame'i alt kümelemek için kullanırız: df[mask]. Bu, döngünün her turunda returns_daily DataFrame'inde geçerli ay ve yılda olan girdileri getirir. Son olarak, günlük getirilerin kovaryansını almak için pandas'ın .cov() metodunu kullanacağız.

Bu egzersiz, kursun bir parçasıdır

Python ile Finans için Machine Learning

Kursa Göz Atın

Egzersiz talimatları

  • returns_monthly indeksinde döngü yap.
  • returns_daily için, returns_monthly'den geçerli ay ve yılı kullanarak ve döngüdeki i'nin ay ve yılıyla eşleştirerek bir maske oluştur.
  • Maskeyi returns_daily üzerinde kullan ve .cov() ile kovaryansları hesapla.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# 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])
Kodu Düzenle ve Çalıştır