Menerapkan batasan bobot
Investor sering dibatasi oleh nilai maksimum yang diperbolehkan untuk bobot portofolio. Batasan ini sebenarnya bisa menjadi keuntungan. Keuntungannya adalah portofolio berikutnya akan kurang terkonsentrasi pada aset-aset tertentu. Namun, ada juga kekurangannya. Kekurangannya adalah tingkat imbal hasil target yang sama mungkin tidak lagi bisa dicapai atau hanya dapat dicapai dengan konsekuensi volatilitas yang lebih tinggi.
Ingat dari latihan sebelumnya bahwa fungsi portfolio.optim() memungkinkan Anda menetapkan batasan bobot melalui argumen reshigh. reshigh membutuhkan sebuah vektor bobot maksimum untuk setiap aset.
Dalam latihan ini, Anda akan membuat tiga portofolio dengan batasan bobot maksimum yang berbeda. Untuk latihan ini, penting untuk mengetahui keluaran dari fungsi portfolio.optim(). Fungsi ini membuat sebuah list yang berisi empat komponen: (i) $pw: bobot portofolio, (ii) $px: imbal hasil portofolio keseluruhan, (iii) $pm: imbal hasil portofolio yang diharapkan, (iv) $ps: simpangan baku imbal hasil portofolio.
Latihan ini adalah bagian dari kursus
Pengantar Analisis Portofolio di R
Petunjuk latihan
- Buat tiga vektor bobot maksimum untuk setiap aset (kolom) di
returnsmenggunakan fungsirep(). Vektor pertama berisi bobot maksimum 100%, yang kedua 10%, dan yang ketiga 5%. Beri nama masing-masingmax_weights1,max_weights2,max_weights3. - Buat portofolio optimum dengan bobot maksimum 100% bernama
opt1. - Buat portofolio optimum dengan bobot maksimum 10% bernama
opt2. - Buat portofolio optimum dengan bobot maksimum 5% bernama
opt3. - Hitung berapa banyak aset yang memiliki bobot lebih dari 1% untuk setiap portofolio. Akses bobot dengan menggunakan
$pwsetelah nama portofolio. - Cetak volatilitas (simpangan baku
$ps) dari ketiga portofolio yang Anda buat.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# Create vectors of maximum weights
max_weights1 <- rep(1, ncol(returns))
max_weights2 <- ___
max_weights3 <- ___
# Create an optimum portfolio with max weights of 100%
opt1 <- portfolio.optim(___, reshigh = ___)
# Create an optimum portfolio with max weights of 10%
# Create an optimum portfolio with max weights of 5%
# Calculate how many assets have a weight that is greater than 1% for each portfolio
sum(opt1$pw > .01)
sum(___$pw > .01)
sum(___$pw > .01)
# Print portfolio volatilites
opt1$ps
___$__
___$__