Ağırlık kısıtları getirmek
Yatırımcılar genellikle portföy ağırlıkları için izin verilen azami değerlerle kısıtlanır. Bu kısıtlar aslında bir avantaj olabilir. Azami ağırlık kısıtının avantajı, ortaya çıkan portföyün belirli varlıklarda daha az yoğunlaşmasıdır. Ancak bir de dezavantajı var. Dezavantajı, aynı hedef getirinin artık mümkün olmayabilmesi ya da daha yüksek oynaklık pahasına elde edilebilmesidir.
Önceki egzersizden hatırlarsan portfolio.optim() fonksiyonu, reshigh argümanı içinde ağırlık kısıtları tanımlamana izin verir. reshigh, her bir varlık için azami ağırlıklardan oluşan bir vektör ister.
Bu egzersizde, farklı azami ağırlık kısıtlarına sahip üç portföy oluşturacaksın. Bu egzersiz için portfolio.optim() fonksiyonunun çıktısını bilmek önemlidir. Bu fonksiyon dört bileşen içeren bir liste döndürür: (i) $pw: portföy ağırlıkları, (ii) $px: tüm portföyün getirileri, (iii) $pm: beklenen getiri portföyü, (iv) $ps: portföy getirilerinin standart sapması.
Bu egzersiz
R ile Portföy Analizine Giriş
kursunun bir parçasıdırEgzersiz talimatları
returnsiçindeki her bir varlık (sütun) içinrep()fonksiyonunu kullanarak üç farklı azami ağırlık vektörü oluştur. İlk vektör azami ağırlıkları %100, ikincisi %10, üçüncüsü %5 olacak. Sırasıyla bunlarımax_weights1,max_weights2,max_weights3olarak adlandır.- Azami ağırlıkları %100 olan ve
opt1adını verdiğin bir optimal portföy oluştur. - Azami ağırlıkları %10 olan ve
opt2adını verdiğin bir optimal portföy oluştur. - Azami ağırlıkları %5 olan ve
opt3adını verdiğin bir optimal portföy oluştur. - Her portföy için ağırlığı %1’den büyük olan kaç varlık olduğunu hesapla. Ağırlıklara, portföy adından sonra
$pwkullanarak erişebilirsin. - Oluşturduğun üç portföyün oynaklıklarını (standart sapmalar
$ps) yazdır.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Create vectors of maximum weights
max_weights1 <- rep(1, ncol(returns))
max_weights2 <- ___
max_weights3 <- ___
# Create an optimum portfolio with max weights of 100%
opt1 <- portfolio.optim(___, reshigh = ___)
# Create an optimum portfolio with max weights of 10%
# Create an optimum portfolio with max weights of 5%
# Calculate how many assets have a weight that is greater than 1% for each portfolio
sum(opt1$pw > .01)
sum(___$pw > .01)
sum(___$pw > .01)
# Print portfolio volatilites
opt1$ps
___$__
___$__