Phân tích danh mục đầu tư nâng cao với R
Ross Bennett
Instructor
Quy trình tổng quát tối ưu hóa danh mục trong PortfolioAnalytics:
Đặc tả danh mục
Thêm ràng buộc và mục tiêu
Chạy tối ưu hóa
Phân tích kết quả tối ưu hóa
portfolio.spec(assets = NULL, ...)
# Vector ký tự các tài sản
portfolio.spec(assets = c("SP00", "DJIA", "Nasdaq", "FTSE100", "DAX", "CAC40"))
# Vector có tên các tài sản với trọng số ban đầu
initial_weights <- c("SP500" = 0.5, "FTSE100" = 0.3, "NIKKEI" = 0.2)
portfolio.spec(assets = initial_weights)
# Số lượng tài sản (scalar)
portfolio.spec(assets = 4)
add.constraint(portfolio,
type = c("weight_sum", "box", "full_investment",...),
...)
# Khởi tạo đặc tả danh mục
p <- portfolio.spec(assets = 4)
# Thêm ràng buộc đầu tư toàn bộ
p <- add.constraint(portfolio = p, type = "weight_sum",
min_sum = 1, max_sum = 1)
# Thêm ràng buộc hộp (giới hạn trọng số)
p <- add.constraint(portfolio = p, type = "box",
min = 0.2, max = 0.6)
add.objective(portfolio,
type = c("return", "risk", ...),
name,
arguments = NULL,
... )
# Khởi tạo đặc tả danh mục
p <- portfolio.spec(assets = 4)
# Thêm mục tiêu lợi nhuận kỳ vọng
p <- add.objective(portfolio = p, type = "return",name = "mean")
# Thêm mục tiêu rủi ro Expected Shortfall
p <- add.objective(portfolio = p, type = "risk", name = "ES",
arguments = list(p= 0.9, method = "gaussian")
Phân tích danh mục đầu tư nâng cao với R