Bắt đầu ngayBắt đầu miễn phí

Tối ưu hóa với hàm mục tiêu tùy chỉnh

Bài tập này nối tiếp bài trước: chúng ta sẽ chạy tối ưu hóa với hàm mục tiêu tùy chỉnh tính độ lệch chuẩn năm hóa của danh mục. Vì một hàm mục tiêu có thể là bất kỳ hàm R hợp lệ nào, chúng ta sẽ thêm một objective về rủi ro cho hàm pasd(). Hàm set.portfolio.moments() sẽ không nhận ra tên objective pasd(), nên chúng ta cần tạo một hàm moment tùy chỉnh để tính moment bậc hai, sigma. Chúng ta sẽ giải bài toán bằng phương pháp danh mục ngẫu nhiên (random portfolios) làm phương pháp tối ưu hóa.

Bài tập này là một phần của khóa học

Phân tích danh mục đầu tư nâng cao với R

Xem khóa học

Hướng dẫn bài tập

  • Thêm hàm mục tiêu tùy chỉnh bạn đã tạo ở bài trước vào đối tượng đặc tả danh mục (portfolio specification).
  • In đối tượng đặc tả danh mục để xem các ràng buộc và objective.
  • Chạy tối ưu hóa. Tên của hàm moment tùy chỉnh là set_sigma.
  • In kết quả của quá trình tối ưu hóa.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.


# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Print the portfolio specificaton object


# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)

# Print the results of the optimization

Chỉnh sửa và Chạy Mã