MulaiMulai sekarang secara gratis

Perbarui batasan dan objektif

Di sini kita berhipotesis bahwa memperhalus batasan dan/atau objektif akan meningkatkan kinerja. Mari tambahkan objektif risk budget untuk menetapkan persentase minimum dan maksimum kontribusi terhadap risiko untuk setiap aset. Kita akan membangun di atas spesifikasi portofolio yang telah kita buat. Ini adalah masalah optimisasi yang lebih kompleks dan memerlukan global solver, sehingga kita akan menggunakan portofolio acak sebagai metode optimisasi.

Latihan ini adalah bagian dari kursus

Analisis Portofolio Tingkat Menengah di R

Lihat Kursus

Petunjuk latihan

  • Tambahkan objektif risk budget risk_budget ke port_spec dengan risiko didefinisikan sebagai simpangan baku. Tetapkan persentase risiko minimum 5% dan maksimum 10%.
  • Jalankan optimisasi dengan rebalancing triwulanan. Tetapkan periode pelatihan dan rolling window menggunakan data 5 tahun. Simpan hasilnya ke variabel bernama opt_rebal_rb.
  • Buat bagan bobot.
  • Buat bagan persentase komponen kontribusi terhadap risiko.
  • Hitung imbal hasil portofolio menggunakan Return.portfolio(). Simpan imbal hasilnya ke variabel bernama returns_rb.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.


# 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"
Edit dan Jalankan Kode