Взвешенное среднее (3)
Рассмотрим пример recycling. Предположим, вы хотите распределить вложения поровну между акциями Microsoft и Sony — то есть по 50% на каждую.
ret <- c(7, 9)
weight <- .5
ret_X_weight <- ret * weight
ret_X_weight
[1] 3.5 4.5
ret — вектор длиной 2, а weight — вектор длиной 1. R автоматически повторяет значение .5 из weight дважды, чтобы привести его к длине ret, после чего выполняет поэлементное арифметическое действие.
Это упражнение является частью курса
Введение в R для финансов
Инструкции к упражнению
- В вашем рабочем пространстве есть именованный вектор
ret, содержащий доходности 3 акций. - Выведите
ret, чтобы увидеть доходности ваших 3 акций. - Присвойте переменной
weightзначение1/3— это будет вес каждой акции. - Создайте
ret_X_weight, умноживretнаweight. Обратите внимание, как R применяет recycling дляweight. - Примените
sum()к переменнойret_X_weight, чтобы получитьportf_ret— доходность равновзвешенного портфеля. - Запустите последнюю строку кода, которая умножает вектор длиной 3 на вектор длиной 2. R повторно использует первое значение более короткого вектора — обратите внимание на предупреждение!
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# Print ret
# Assign 1/3 to weight
weight <-
# Create ret_X_weight
ret_X_weight <-
# Calculate your portfolio return
portf_ret <-
# Vector of length 3 * Vector of length 2?
ret * c(.2, .6)