Phân tích danh mục đầu tư nâng cao với R
Ross Bennett
Instructor
Nhiều bộ giải không dành riêng cho tối ưu hóa danh mục
Cần hiểu khả năng và giới hạn của bộ giải để chọn đúng bộ giải hoặc điều chỉnh bài toán cho phù hợp
Khó chuyển đổi giữa các bộ giải
Bộ giải dạng đóng (ví dụ: quy hoạch bậc hai)
Bộ giải toàn cục (ví dụ: tối ưu hóa tiến hóa vi phân)
$$\omega_{i} >= 0$$
$$\sum_{i=1}^{n} \omega_i = 1$$
Dùng gói R quadprog để giải bài toán tối ưu hóa lợi ích bậc hai
solve.QP() giải bài toán quy hoạch bậc hai dạng:
$$min(-d^Tb+\frac{1}{2}b^TDb)$$
$$A^Tb>=b_0$$
library(quadprog)
data(edhec)
dat <- edhec[,1:4]
# Create the constraint matrix
Amat <- cbind(1, diag(ncol(dat)), -diag(ncol(dat)))
# Create the constraint vector
bvec <- c(1, rep(0, ncol(dat)), -rep(1, ncol(dat)))
# Create the objective matrix
Dmat <- 10 * cov(dat)
# Create the objective vector
dvec <- colMeans(dat)
# Specify number of equality constraints
meq <- 1
# Solve the optimization problem
opt <- solve.QP(Dmat, dvec, Amat, bvec, meq)
Phân tích danh mục đầu tư nâng cao với R