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 merupakan bagian dari kursus
Analisis Portofolio Tingkat Menengah di R
Instruksi 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 langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
# 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"