Kısıtları ve hedefleri iyileştir
Burada, kısıtları ve/veya hedefleri iyileştirmenin performansı artıracağını varsayıyoruz. Her varlık için riske katkının yüzdesine alt ve üst sınır koymak amacıyla bir risk bütçesi hedefi ekleyelim. Oluşturduğumuz portföy tanımı üzerine inşa edeceğiz. Bu, daha karmaşık bir optimizasyon problemidir ve küresel bir çözücü gerektirir; bu yüzden optimizasyon yöntemi olarak rastgele portföyleri kullanacağız.
Bu egzersiz
R ile Orta Düzey Portföy Analizi
kursunun bir parçasıdırEgzersiz talimatları
- Riske standart sapma olarak tanım verilen bir risk bütçesi hedefi
risk_budgetiport_spece ekle. Minimum yüzde riskini %5, maksimum yüzde riskini %10 olarak ayarla. - Optimizasyonu üç aylık yeniden dengeleme ile çalıştır. Eğitim periyodunu ve kayan pencereyi 5 yıllık veri kullanacak şekilde ayarla. Sonuçları
opt_rebal_rbadlı bir değişkene ata. - Ağırlıkları görselleştir.
- Bileşenlerin riske yüzde katkısını görselleştir.
- Portföy getirilerini
Return.portfolio()kullanarak hesapla. Getirilerireturns_rbadlı bir değişkene ata.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# Add a risk budge objective
port_spec <- add.objective(portfolio = ___,
type = ___,
name = ___,
min_prisk = ___,
max_prisk = ___)
# Run the optimization
opt_rebal_rb <- optimize.portfolio.rebalancing(R = ___,
portfolio = ___,
optimize_method = "random", rp = rp,
trace = TRUE,
rebalance_on = ___,
training_period = ___,
rolling_window = ___)
# Chart the weights
# Chart the percentage contribution to risk
chart.RiskBudget(___, match.col = "StdDev", risk.type = ___)
# Compute the portfolio returns
returns_rb <- Return.portfolio(R = ___, weights = ___)
colnames(returns_rb) <- "risk_budget"