Trung bình có trọng số (2)
Khoan đã, Lore đã dạy chúng ta một cách hay hơn nhiều để làm việc này! Nhớ rằng R có thể tính toán trực tiếp với vector! Bạn có thể tận dụng điều đó để tính lợi nhuận danh mục hiệu quả hơn không? Hãy suy nghĩ kỹ về đoạn mã sau:
ret <- c(5, 7)
weight <- c(.4, .6)
ret_X_weight <- ret * weight
sum(ret_X_weight)
[1] 6.2
Đầu tiên, tính ret * weight, phép nhân này sẽ nhân từng phần tử tương ứng trong hai vector để tạo ra vector mới ret_X_weight. Sau đó, bạn chỉ cần cộng các phần lại với nhau, nên dùng sum() để cộng từng phần tử trong vector.
Giờ đến lượt bạn!
Bài tập này là một phần của khóa học
Giới thiệu R cho Tài chính
Hướng dẫn bài tập
retvàweightcho Microsoft và Sony đã được định nghĩa sẵn cho bạn, lần này ở dạng vector!- Thêm tên công ty vào các vector
retvàweightcủa bạn. - Dùng phép toán vector để nhân
retvàweightvới nhau. - In
ret_X_weightđể xem kết quả. - Dùng
sum()để lấy tổngportf_ret. - In
portf_retvà so sánh với bài tập trước!
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.
# Weights, returns, and company names
ret <- c(7, 9)
weight <- c(.2, .8)
companies <- c("Microsoft", "Sony")
# Assign company names to your vectors
names(ret) <-
names(weight) <-
# Multiply the returns and weights together
ret_X_weight <-
# Print ret_X_weight
# Sum to get the total portfolio return
portf_ret <-
# Print portf_ret