MulaiMulai sekarang secara gratis

Maksimalkan fungsi utilitas kuadratik

Pada video tentang tantangan optimisasi portofolio, Anda melihat cara menyelesaikan masalah optimisasi utilitas kuadratik dengan paket quadprog. Latihan ini akan menunjukkan cara menyelesaikan masalah utilitas kuadratik menggunakan paket PortfolioAnalytics. Ingat bahwa formulasi utilitas kuadratik memiliki dua suku, satu untuk rata-rata imbal hasil portofolio dan satu lagi untuk varians portofolio dengan parameter keengganan risiko, lambda.

Latihan ini adalah bagian dari kursus

Analisis Portofolio Tingkat Menengah di R

Lihat Kursus

Petunjuk latihan

  • Buat objek spesifikasi portofolio menggunakan nama aset dari himpunan data index_returns dan beri nama objek spesifikasi portofolio tersebut port_spec.
  • Tambahkan kendala investasi penuh sehingga jumlah bobot sama dengan 1 ke objek port_spec.
  • Tambahkan kendala long only sehingga bobot suatu aset berada antara 0 dan 1 ke objek port_spec.
  • Tambahkan objektif untuk memaksimalkan rata-rata imbal hasil portofolio ke objek port_spec.
  • Tambahkan objektif untuk meminimalkan varians portofolio ke objek port_spec. Keengganan risiko harus diatur ke 10.
  • Jalankan optimisasi. Masalah ini dapat diselesaikan oleh solver pemrograman kuadratik sehingga kita menetapkan optimize_method = "ROI"

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Create the portfolio specification
port_spec <- portfolio.spec(assets = ___)

# Add a full investment constraint such that the weights sum to 1
port_spec <- add.constraint(portfolio = ___, type = ___)

# Add a long only constraint such that the weight of an asset is between 0 and 1
port_spec <- add.constraint(portfolio = ___, type = ___)

# Add an objective to maximize portfolio mean return
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Add an objective to minimize portfolio variance
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___, risk_aversion = ___)

# Solve the optimization problem
opt <- optimize.portfolio(R = ___, portfolio = ___, optimize_method = "ROI")
Edit dan Jalankan Kode