Szereg czasowy wag
W poprzednim ćwiczeniu poznałeś funkcję Return.portfolio() i utworzyłeś portfele z zastosowaniem dwóch strategii. Ustawiając argument verbose = TRUE w funkcji Return.portfolio(), możesz jednak uzyskać nie tylko zwroty z portfela i wkłady poszczególnych aktywów, ale też listy wag i wartości na początku okresu (BOP) oraz na końcu okresu (EOP).
Dostęp do tych danych uzyskasz z obiektu listy zwracanego przez Return.portfolio(). Lista zawiera następujące elementy: $returns, $contributions, $BOP.Weight, $EOP.Weight, $BOP.Value oraz $EOP.Value.
W tym ćwiczeniu ponownie zbudujesz portfele z poprzedniego ćwiczenia, tym razem rozszerzając obliczenia o pełną listę wyników za pomocą verbose = TRUE. Następnie zwizualizujesz wagi akcji Apple na koniec okresu.
Obiekt returns jest już wczytany do twojego środowiska pracy.
To ćwiczenie jest częścią kursu
Wprowadzenie do analizy portfela w R
Instrukcje do ćwiczenia
- Zdefiniuj wektor
eq_weightsdla dwóch aktywów o równych wagach. - Utwórz portfel zwrotów, stosując strategię kup i trzymaj, z ustawieniem
verbose = TRUE. Nazwij gopf_bh. - Utwórz portfel zwrotów, stosując strategię miesięcznego rebalansowania, z ustawieniem
verbose = TRUE. Nazwij gopf_rebal. - Utwórz nowy obiekt o nazwie
eop_weight_bh, używając wag na koniec okresu zpf_bh. - Utwórz nowy obiekt o nazwie
eop_weight_rebal, używając wag na koniec okresu zpf_rebal. - Wykreśl wagi akcji Apple na koniec okresu z
eop_weight_bhza pomocąplot.zoo(), a następnie wagi akcji Apple na koniec okresu zeop_weight_rebalza pomocąplot.zoo(). Kodpar(mfrow = c(2, 1), mar = c(2, 4, 2, 2))służy do rozmieszczenia wykresów – nie zmieniaj go.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# 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)