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

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ır
Kursu Görüntüle

Egzersiz talimatları

  • Riske standart sapma olarak tanım verilen bir risk bütçesi hedefi risk_budgeti port_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_rb adlı 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. Getirileri returns_rb adlı 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"
Kodu Düzenle ve Çalıştır