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

Áp đặt ràng buộc tỷ trọng

Nhà đầu tư thường bị giới hạn bởi các mức tối đa cho tỷ trọng danh mục. Những ràng buộc này thực ra có thể là một lợi thế. Ưu điểm của ràng buộc tỷ trọng tối đa là danh mục sau đó sẽ ít tập trung vào một số tài sản nhất định. Tuy nhiên cũng có nhược điểm: cùng một mức lợi nhuận mục tiêu có thể không còn khả thi, hoặc chỉ đạt được với mức biến động cao hơn.

Hãy nhớ từ bài tập trước rằng hàm portfolio.optim() cho phép bạn thiết lập ràng buộc tỷ trọng thông qua đối số reshigh. reshigh yêu cầu một vector tỷ trọng tối đa cho từng tài sản.

Trong bài tập này, bạn sẽ tạo ba danh mục với các ràng buộc tỷ trọng tối đa khác nhau. Với bài này, điều quan trọng là hiểu đầu ra của hàm portfolio.optim(). Hàm này trả về một list gồm bốn thành phần: (i) $pw: các tỷ trọng danh mục, (ii) $px: lợi nhuận của toàn bộ danh mục, (iii) $pm: lợi nhuận kỳ vọng của danh mục, (iv) $ps: độ lệch chuẩn của lợi nhuận danh mục.

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

Giới thiệu Phân tích Danh mục đầu tư bằng R

Xem khóa học

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

  • Tạo ba vector tỷ trọng tối đa cho mỗi tài sản (cột) trong returns bằng hàm rep(). Vector thứ nhất có tỷ trọng tối đa 100%, vector thứ hai 10%, và vector thứ ba 5%. Lần lượt đặt tên là max_weights1, max_weights2, max_weights3.
  • Tạo một danh mục tối ưu với tỷ trọng tối đa 100% đặt tên opt1.
  • Tạo một danh mục tối ưu với tỷ trọng tối đa 10% đặt tên opt2.
  • Tạo một danh mục tối ưu với tỷ trọng tối đa 5% đặt tên opt3.
  • Tính số lượng tài sản có tỷ trọng lớn hơn 1% cho mỗi danh mục. Truy cập tỷ trọng bằng cách dùng $pw sau tên danh mục.
  • In ra độ biến động (độ lệch chuẩn $ps) của ba danh mục bạn đã tạo.

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 vectors of maximum weights
max_weights1 <- rep(1, ncol(returns))
max_weights2 <- ___
max_weights3 <- ___

# Create an optimum portfolio with max weights of 100%
opt1 <- portfolio.optim(___, reshigh = ___)

# Create an optimum portfolio with max weights of 10%


# Create an optimum portfolio with max weights of 5%


# Calculate how many assets have a weight that is greater than 1% for each portfolio
sum(opt1$pw > .01)
sum(___$pw > .01)
sum(___$pw > .01)

# Print portfolio volatilites 
opt1$ps
___$__
___$__

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