MulaiMulai sekarang secara gratis

Tambahkan kendala

Kendala ditambahkan ke objek spesifikasi portofolio dengan fungsi add.constraint(). Setiap kendala yang ditambahkan adalah objek terpisah dan disimpan di slot constraints dalam objek portofolio. Dengan cara ini, kendala bersifat modular dan Anda dapat dengan mudah menambah, menghapus, atau memodifikasi kendala dalam objek portofolio. Argumen yang wajib untuk add.constraint() adalah portfolio tempat kendala ditambahkan, type kendala, serta argumen bernama yang diteruskan melalui ... ke konstruktor jenis kendala.

Jenis kendala dasar:

  • Tentukan kendala pada jumlah bobot
    • weight_sum, weight, leverage
    • full_investment adalah kasus khusus yang menetapkan min_sum = max_sum = 1
    • dollar_neutral adalah kasus khusus yang menetapkan min_sum = max_sum = 0
  • Tentukan kendala untuk bobot aset individual
    • box
    • long_only adalah kasus khusus yang menetapkan min = 0 dan max = 1
  • Tentukan kendala untuk jumlah bobot aset berdasarkan grup (sektor, wilayah, kelas aset, dll.)
    • group
  • Tentukan kendala pada target rerata imbal hasil
    • return

Dalam latihan ini, Anda akan menambahkan beberapa jenis kendala yang lebih umum. Selain jenis kendala dasar yang tercantum di atas, PortfolioAnalytics juga mendukung jenis kendala pembatasan posisi, perputaran (turnover), diversifikasi, paparan faktor, dan paparan leverage. Jika Anda tertarik pada jenis kendala lainnya, lihat berkas bantuan untuk konstruktor kendala. Berkas bantuan mencakup deskripsi jenis kendala serta contoh kode.

Latihan ini adalah bagian dari kursus

Analisis Portofolio Tingkat Menengah di R

Lihat Kursus

Petunjuk latihan

  • Tambahkan kendala weight_sum sehingga jumlah bobot minimum adalah 1 dan jumlah bobot maksimum adalah 1.
  • Tambahkan kendala box sehingga lima aset pertama memiliki bobot minimum 10% dan aset sisanya memiliki bobot minimum 5%. Semua aset memiliki bobot maksimum 40%.
  • Tambahkan kendala group sehingga aset 1, 5, 7, 9, 10, dan 11 merupakan grup pertama dan aset 2, 3, 4, 6, 8, dan 12 merupakan grup kedua. Tetapkan bobot minimum 40% dan bobot maksimum 60% untuk setiap grup.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Add the weight sum constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min_sum = ___, max_sum = ___)

# Add the box constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min = c(___), max = ___)

# Add the group constraint
port_spec <- add.constraint(portfolio = ___, type = ___, groups = list(c(___), c(___)), group_min = ___, group_max = ___)


# Print the portfolio specification object

Edit dan Jalankan Kode