Optimisasi dengan fungsi objektif kustom
Latihan ini melanjutkan latihan sebelumnya dan kita akan menjalankan optimisasi dengan fungsi objektif kustom yang menghitung deviasi standar tahunan portofolio. Karena fungsi objektif bisa berupa fungsi R apa pun yang valid, kita menambahkan objective risiko untuk fungsi pasd(). Fungsi set.portfolio.moments() tidak akan mengenali nama objective pasd(), jadi kita perlu membuat fungsi momen kustom untuk menghitung momen kedua, sigma. Kita akan menyelesaikan masalah ini menggunakan portofolio acak sebagai metode optimisasi.
Latihan ini adalah bagian dari kursus
Analisis Portofolio Tingkat Menengah di R
Petunjuk latihan
- Tambahkan fungsi objektif kustom yang Anda buat pada latihan sebelumnya ke objek spesifikasi portofolio.
- Cetak objek spesifikasi portofolio untuk melihat batasan dan objective.
- Jalankan optimisasi. Nama fungsi momen kustom adalah
set_sigma. - Cetak hasil optimisasi.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)
# Print the portfolio specificaton object
# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)
# Print the results of the optimization