MulaiMulai sekarang secara gratis

Selesaikan masalah optimisasi portofolio sederhana

Latihan pertama ini akan mengajarkan Anda cara menyelesaikan masalah optimisasi portofolio sederhana menggunakan PortfolioAnalytics. Anda akan mempelajari cara membuat objek spesifikasi portofolio, menambahkan batasan dan objektif, serta menyelesaikan masalah optimisasi. Masalah portofolio ini adalah membentuk portofolio varian minimum dengan batasan investasi penuh dan hanya long. Objektifnya adalah meminimalkan varians portofolio. Ada dua batasan dalam masalah ini: batasan investasi penuh berarti bobot harus berjumlah 1, dan batasan hanya long berarti semua bobot harus lebih besar dari atau sama dengan 0 (artinya tidak diperbolehkan posisi short).

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 batasan investasi penuh sehingga jumlah bobot sama dengan 1 ke objek port_spec.
  • Tambahkan batasan hanya long sehingga bobot suatu aset berada antara 0 dan 1 ke objek port_spec.
  • Tambahkan objektif untuk meminimalkan simpangan baku portofolio ke objek port_spec.
  • Selesaikan masalah optimisasi portofolio menggunakan optimize_method = "ROI". Simpan hasil optimisasi ke objek bernama opt.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

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

# 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 minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = "___", name = "___")

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