De tijdreeks van gewichten
In de vorige oefening heb je de functionaliteit van de functie Return.portfolio() verkend en portefeuilles gemaakt met twee strategieën. Door echter het argument verbose = TRUE in Return.portfolio() te zetten, kun je naast de portefeuillerendementen en -bijdragen ook een lijst maken met begin-van-periode (BOP) en eind-van-periode (EOP) gewichten en waarden.
Je kunt deze benaderen vanuit het resulterende lijstobject dat door Return.portfolio() wordt gemaakt. De resulterende lijst bevat $returns, $contributions, $BOP.Weight, $EOP.Weight, $BOP.Value en $EOP.Value.
In deze oefening maak je de portefeuilles uit de vorige oefening opnieuw, maar breid je dit uit door een lijst met berekeningen te maken met verbose = TRUE. Daarna visualiseer je de eind-van-periode gewichten van Apple.
Het object returns is vooraf in je werkruimte geladen.
Deze oefening maakt deel uit van de cursus
Introductie tot portefeuilleanalyse in R
Oefeninstructies
- Definieer de vector
eq_weightsvoor twee gelijkgewogen assets. - Maak een portefeuille van rendementen met de buy-and-holdstrategie en zet
verbose = TRUE. Noem ditpf_bh. - Maak een portefeuille van rendementen met de maandelijkse herbalanceringsstrategie en zet
verbose = TRUE. Noem ditpf_rebal. - Maak een nieuw object
eop_weight_bhmet de eind-van-periode gewichten vanpf_bh. - Maak een nieuw object
eop_weight_rebalmet de eind-van-periode gewichten vanpf_rebal. - Plot de eind-van-periode gewichten van Apple in
eop_weight_bhmetplot.zoo(), en de eind-van-periode gewichten van Apple ineop_weight_rebalmetplot.zoo().par(mfrow = c(2, 1), mar = c(2, 4, 2, 2))wordt gebruikt om de plots te ordenen. Wijzig deze code niet.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
# 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)