Tinh chỉnh ràng buộc và mục tiêu
Ở đây, chúng ta giả định rằng việc tinh chỉnh các ràng buộc và/hoặc mục tiêu sẽ cải thiện hiệu suất. Hãy thêm một mục tiêu risk budget để đặt tỷ lệ phần trăm đóng góp vào rủi ro tối thiểu và tối đa cho từng tài sản. Chúng ta sẽ xây dựng dựa trên đặc tả danh mục đã tạo. Đây là một bài toán tối ưu hóa phức tạp hơn và sẽ cần một bộ giải toàn cục, vì vậy chúng ta sẽ dùng các danh mục ngẫu nhiên 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
Hướng dẫn bài tập
- Thêm mục tiêu risk budget
risk_budgetvàoport_specvới rủi ro được định nghĩa là độ lệch chuẩn. Đặt tỷ lệ phần trăm rủi ro tối thiểu là 5% và tối đa là 10%. - Chạy tối ưu hóa với tái cân bằng theo quý. Đặt giai đoạn huấn luyện và cửa sổ cuộn để dùng dữ liệu 5 năm. Gán kết quả vào biến
opt_rebal_rb. - Vẽ biểu đồ các trọng số.
- Vẽ biểu đồ tỷ lệ phần trăm đóng góp thành phần vào rủi ro.
- Tính lợi nhuận danh mục bằng
Return.portfolio(). Gán chuỗi lợi nhuận vào biếnreturns_rb.
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 a risk budge objective
port_spec <- add.objective(portfolio = ___,
type = ___,
name = ___,
min_prisk = ___,
max_prisk = ___)
# Run the optimization
opt_rebal_rb <- optimize.portfolio.rebalancing(R = ___,
portfolio = ___,
optimize_method = "random", rp = rp,
trace = TRUE,
rebalance_on = ___,
training_period = ___,
rolling_window = ___)
# Chart the weights
# Chart the percentage contribution to risk
chart.RiskBudget(___, match.col = "StdDev", risk.type = ___)
# Compute the portfolio returns
returns_rb <- Return.portfolio(R = ___, weights = ___)
colnames(returns_rb) <- "risk_budget"