Часовий ряд ваг
У попередній вправі ви дослідили функціональність Return.portfolio() і створили портфелі за двома стратегіями. Однак, якщо встановити аргумент verbose = TRUE у Return.portfolio(), ви зможете, окрім доходностей портфеля та внесків, отримати список ваг і вартостей на початок періоду (BOP) і на кінець періоду (EOP).
Доступ до них здійснюється через підсумковий об'єкт-список, який повертає Return.portfolio(). У цьому списку містяться $returns, $contributions, $BOP.Weight, $EOP.Weight, $BOP.Value та $EOP.Value.
У цій вправі ви відтворите портфелі з попередньої вправи, але розширите їх, створивши список розрахунків за допомогою verbose = TRUE. Потім ви візуалізуєте ваги Apple на кінець періоду.
Об'єкт returns уже завантажено у ваш робочий простір.
Ця вправа є частиною курсу
Вступ до аналізу портфеля в R
Інструкції до вправи
- Визначте вектор
eq_weightsдля двох активів з рівними вагами. - Створіть портфель доходностей, використавши стратегію купівлі й утримання та встановивши
verbose = TRUE. Назвіть йогоpf_bh. - Створіть портфель доходностей, використавши стратегію щомісячного ребалансування та встановивши
verbose = TRUE. Назвіть йогоpf_rebal. - Створіть новий об'єкт
eop_weight_bh, використавши ваги на кінець періоду зpf_bh. - Створіть новий об'єкт
eop_weight_rebal, використавши ваги на кінець періоду зpf_rebal. - Побудуйте графік ваг на кінець періоду для Apple у
eop_weight_bhза допомогоюplot.zoo(), і ваг на кінець періоду для Apple уeop_weight_rebalза допомогоюplot.zoo(). Для впорядкування створюваних графіків використовуєтьсяpar(mfrow = c(2, 1), mar = c(2, 4, 2, 2)). Не змінюйте цей код.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Create the weights
eq_weights <-
# Create a portfolio using buy and hold
pf_bh <- Return.portfolio(returns, weights = eq_weights, ___ )
# Create a portfolio that rebalances monthly
pf_rebal <- Return.portfolio(returns, weights = eq_weights, rebalance_on = "months", ___ )
# Create eop_weight_bh
# Create eop_weight_rebal
# Plot end of period weights
par(mfrow = c(2, 1), mar=c(2, 4, 2, 2))
plot.zoo(___$AAPL)
plot.zoo(___$AAPL)