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

Giải một bài toán tối ưu hóa danh mục đơn giản

Bài tập đầu tiên này sẽ hướng dẫn bạn cách giải một bài toán tối ưu hóa danh mục đơn giản với PortfolioAnalytics. Bạn sẽ học cách tạo một đối tượng đặc tả danh mục, thêm ràng buộc và mục tiêu, rồi giải bài toán tối ưu hóa. Bài toán đặt ra là xây dựng danh mục có phương sai tối thiểu với các ràng buộc đầu tư toàn phần và chỉ nắm giữ vị thế mua (long only). Mục tiêu là tối thiểu hóa phương sai danh mục. Có hai ràng buộc: ràng buộc đầu tư toàn phần yêu cầu tổng trọng số bằng 1, và ràng buộc chỉ long yêu cầu mọi trọng số đều lớn hơn hoặc bằng 0 (tức là không được phép bán khống).

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

  • Tạo một đối tượng đặc tả danh mục sử dụng tên tài sản từ bộ dữ liệu index_returns và đặt tên đối tượng đặc tả là port_spec.
  • Thêm ràng buộc đầu tư toàn phần sao cho tổng trọng số bằng 1 vào đối tượng port_spec.
  • Thêm ràng buộc chỉ long sao cho trọng số của một tài sản nằm trong khoảng từ 0 đến 1 vào đối tượng port_spec.
  • Thêm một mục tiêu để tối thiểu hóa độ lệch chuẩn của danh mục vào đối tượng port_spec.
  • Giải bài toán tối ưu hóa danh mục với optimize_method = "ROI". Gán kết quả tối ưu hóa vào một đối tượng tên opt.

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.

# Create the portfolio specification
port_spec <- portfolio.spec(colnames(___))

# Add a full investment constraint such that the weights sum to 1
port_spec <- add.constraint(portfolio = ___, type = "___")

# Add a long only constraint such that the weight of an asset is between 0 and 1
port_spec <- add.constraint(portfolio = ___, type = "___")

# Add an objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = "___", name = "___")

# Solve the optimization problem
opt <- optimize.portfolio(___, portfolio = ___, optimize_method = "___")
Chỉnh sửa và Chạy Mã