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
Petunjuk latihan
- Tambahkan objektif risk budget
risk_budgetkeport_specdengan 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 bernamareturns_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"