1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Phân tích danh mục đầu tư nâng cao với R

Connected

Bài tập

Tối ưu hóa đơn kỳ

Có hai hàm để chạy tối ưu hóa, optimize.portfolio() và optimize.portfolio.rebalancing(). Bài tập này tập trung vào tối ưu hóa đơn kỳ và bài tiếp theo sẽ dùng optimize.portfolio.rebalancing() cho tối ưu hóa với tái cân bằng định kỳ. optimize.portfolio() hỗ trợ tối ưu hóa đơn kỳ. Các đối số chính gồm R cho lợi nhuận tài sản, portfolio cho đối tượng đặc tả danh mục, và optimize_method để chỉ định phương pháp tối ưu hóa dùng để giải bài toán. Trong nhiều trường hợp, bạn nên đặt trace = TRUE để lưu thêm thông tin cho từng vòng lặp/thử của quá trình tối ưu hóa.

Các phương pháp tối ưu hóa được hỗ trợ:

  • DEoptim: Tiến hóa vi phân (Differential evolution)
  • random: Danh mục ngẫu nhiên
  • GenSA: Tôi luyện mô phỏng tổng quát (Generalized Simulated Annealing)
  • pso: Tối ưu bầy đàn hạt (Particle swarm optimization)
  • ROI: R Optimization Infrastructure cho các bộ giải quy hoạch tuyến tính và bậc hai

Phương pháp tối ưu hóa bạn chọn nên dựa trên loại bài toán cần giải. Ví dụ, một bài toán có thể biểu diễn dưới dạng quy hoạch bậc hai thì nên giải bằng bộ giải quy hoạch bậc hai, trong khi một bài toán phi lồi nên giải bằng bộ giải toàn cục như DEoptim.

Trong bài này, chúng ta sẽ xác định bài toán tối ưu hóa danh mục để tối đa hóa lợi nhuận trung bình và tối thiểu hóa độ lệch chuẩn của danh mục với ngân sách rủi ro theo độ lệch chuẩn, trong đó phần trăm rủi ro tối thiểu là 5% và tối đa là 10%, kèm các ràng buộc đầu tư toàn phần và chỉ mua (long only). Mục tiêu ngân sách rủi ro yêu cầu bộ giải toàn cục, nên chúng ta sẽ giải bằng danh mục ngẫu nhiên. Tập danh mục ngẫu nhiên rp được tạo bằng 500 hoán vị cho bài tập này.

Hướng dẫn

100 XP

Đặc tả danh mục đã được tạo sẵn với tên port_spec. Ngoài ra, trong môi trường làm việc của bạn có biến lợi nhuận asset_returns.

  • Chạy tối ưu hóa đơn kỳ với trace đặt là TRUE và dùng phương pháp tối ưu hóa "random". Gán kết quả tối ưu hóa vào biến opt.
  • In kết quả của quá trình tối ưu hóa.