Thách thức của tối ưu hóa danh mục

Phân tích danh mục đầu tư nâng cao với R

Ross Bennett

Instructor

Thách thức

  • 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)

Phân tích danh mục đầu tư nâng cao với R

Lợi ích bậc hai

  • Tối đa hóa: $\quad \displaystyle \omega^T * \mu - \lambda * \omega^T * \Sigma * \omega $
  • Với ràng buộc:

$$\omega_{i} >= 0$$

$$\sum_{i=1}^{n} \omega_i = 1$$

  • $\omega$ là vector trọng số
  • $\mu$ là vector lợi nhuận kỳ vọng
  • $\lambda$ là tham số ác cảm rủi ro
  • $\Sigma$ là ma trận hiệp phương sai
Phân tích danh mục đầu tư nâng cao với R

Bộ giải quy hoạch bậc hai

  • 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)$$

  • Với ràng buộc:

$$A^Tb>=b_0$$

Phân tích danh mục đầu tư nâng cao với R
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

Ayo berlatih!

Phân tích danh mục đầu tư nâng cao với R

Preparing Video For Download...