Örtüşen getiriler
Günlük log-getirileri daha uzun aralıklarda toplayarak serileri birleştirdiğinde, daha az sayıda gözlemi analiz edersin. Veri miktarını korumak için rollapplyr() fonksiyonu ile örtüşen getiriler hesaplayabilirsin; bu yaklaşım aynı zamanda gözlemler arasında güçlü korelasyonlar oluşturur.
Ortalama bir takvim haftasında 5 işlem günü vardır. Günlük endeks verilerinin log-getirilerinin 5 günlük hareketli toplamlarını hesaplayarak, her takvim haftasının sonunda biten yaklaşık örtüşen haftalık getiriler elde edebilirsin. Benzer şekilde, 21 günlük hareketli toplamlar yaklaşık örtüşen aylık getiriler, 63 günlük hareketli toplamlar ise yaklaşık örtüşen üç aylık getiriler verir.
djx içindeki Dow Jones günlük getiri verileriyle bir örneğe bakalım. Her hareketli toplam 5 değer kullanılarak hesaplandığı için, sonucun ilk 4 değeri NA olur. Bu durumda bunları indeksleme ile kaldıracağız:
> djx5 <- rollapplyr(djx, width = 5, FUN = sum)
> head(djx5)
^DJI
2008-01-03 NA
2008-01-04 NA
2008-01-07 NA
2008-01-08 NA
2008-01-09 -0.02394677
2008-01-10 -0.01571869
> djx5 <- djx5[-(1:4)]
Bu egzersizde, çalışma alanında yüklü olan djx üzerinden farklı aralıklarda hareketli toplamlar hesaplayacaksın. Ardından ortaya çıkan verilerin çarpıklık (skewness) ve basıklık (kurtosis) değerlerini bulacak ve önceki egzersizlerde olduğu gibi Jarque-Bera testini uygulayacaksın. Örtüşen getiriler daha normal görünüyor mu?
Bu egzersiz
R ile Nicel Risk Yönetimi
kursunun bir parçasıdırEgzersiz talimatları
djxiçindeki log-getirilerin 21 günlük hareketli toplamını hesapla, ilk 20 değeri kaldır vedjx21olarak ata.djxiçindeki log-getirilerin 63 günlük hareketli toplamını hesapla, ilk 62 değeri kaldır vedjx63olarak ata.merge()veall = FALSEkullanarakdjx,djx21vedjx63serilerini bu sırayla birleştir vedjx2olarak ata.plot.zoo()ile grafiğini çiz.apply()ve uygun fonksiyonları kullanarakdjx2içindeki her seri için çarpıklık (skewness) ve basıklığı (kurtosis) hesapla.apply()ve uygun fonksiyonu kullanarakdjx2içindeki her seri için Jarque-Bera testini uygula.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Calculate a 21-day moving sum of djx
djx21 <- ___(___, ___, ___)[___]
# Calculate a 63-day moving sum of djx
djx63 <- ___(___)[___]
# Merge the three series and plot
djx2 <- ___(___)
___(___)
# Compute the skewness and kurtosis for each series in djx2
___(___)
___(___)
# Conduct the Jarque-Bera test to each series in djx2
___(___)