MulaiMulai sekarang secara gratis

Mendefinisikan fungsi momen kustom

Dalam banyak kasus untuk masalah optimisasi dengan batasan, manajer portofolio atau analis mungkin ingin mengestimasi momen dengan teknik tertentu dan/atau memperluas gagasan set.portfolio.moments(). Fungsi momen kustom yang didefinisikan pengguna dapat memiliki argumen bernama apa pun. Namun, argumen bernama R untuk imbal hasil aset dan portfolio untuk objek portofolio akan terdeteksi secara otomatis dan ditangani dengan efisien. Karena itu, sangat dianjurkan untuk menggunakan R untuk objek imbal hasil aset dan portfolio untuk objek portofolio.

Fungsi momen kustom harus mengembalikan list bernama di mana elemennya mewakili momen:

  • $mu: momen pertama (vektor ekspektasi imbal hasil)
  • $sigma: momen kedua (matriks varians-kovarians)
  • $m3: momen ketiga (matriks coskewness)
  • $m4: momen keempat (matriks cokurtosis)

Dalam latihan ini, Anda akan menulis fungsi momen kustom untuk mengestimasi matriks varians-kovarians menggunakan metode yang robust. Kita akan menggunakan fungsi cov.rob() dari paket MASS. Tanda tangan fungsi harus memiliki argumen bernama R untuk imbal hasil aset dan portfolio untuk objek spesifikasi. Fungsi harus mengembalikan list bernama. Karena Anda hanya mengestimasi momen kedua, Anda hanya perlu mengembalikan list dengan satu elemen yang dinamai dengan tepat. Anda dapat menerapkan aturan ini untuk menulis fungsi momen kustom bagi model lain seperti model faktor, model GARCH, atau kelas model apa pun yang secara teoretis seharusnya memberikan estimasi yang lebih baik daripada estimasi sampel.

Latihan ini adalah bagian dari kursus

Analisis Portofolio Tingkat Menengah di R

Lihat Kursus

Petunjuk latihan

  • Definisikan fungsi bernama moments_robust yang mengestimasi matriks varians-kovarians dari imbal hasil aset menggunakan metode "mcd".
  • Estimasikan momen portofolio yang baru saja Anda definisikan. Simpan ke variabel bernama moments. Anda melakukan ini sebagai pemeriksaan untuk memastikan fungsi momen kustom Anda bekerja sebagaimana mestinya.
  • Hitung matriks varians-kovarians secara langsung menggunakan cov.rob() dan periksa apakah nilainya sama dengan moments$sigma

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# Define custom moment function
moments_robust <- function(R, portfolio){
  out <- list()
  out$___ <- cov.rob(R, method = ___)$cov
  out
}

# Estimate the portfolio moments using the function you just defined 
moments <- moments_robust(R = ___, portfolio = ___)

# Check the moment estimate
cov.rob(___, method = ___)$cov == moments$___
Edit dan Jalankan Kode