Zacznij terazZacznij za darmo

Szereg czasowy zwrotów portfela

W poprzednim ćwiczeniu utworzyłeś zmienną returns na podstawie dziennych cen akcji Apple i Microsoft. W tym ćwiczeniu zbudujesz dwa portfele, korzystając z wcześniej obliczonych szeregów zwrotów. Oba portfele będą się różnić tylko jednym – wagami aktywów.

W ostatnim filmie poznałeś dwie strategie ważenia: strategię kup i trzymaj oraz strategię miesięcznego rebalansowania. W tym ćwiczeniu stworzysz portfel bez rebalansowania oraz portfel z rebalansowaniem miesięcznym, a następnie zwizualizujesz zwroty obu portfeli.

Do obliczeń użyjesz funkcji Return.portfolio(). Przyjmuje ona trzy argumenty: R, weights oraz rebalance_on. R to szereg czasowy zwrotów, weights to wektor zawierający wagi aktywów, a rebalance_on określa okres kalendarzowy, według którego odbywa się rebalansowanie. Jeśli potrzebujesz pomocy, zajrzyj do dokumentacji – wystarczy kliknąć nazwę funkcji!

W tym ćwiczeniu pracujesz z danymi returns wczytanymi do twojego środowiska.

To ćwiczenie jest częścią kursu

Wprowadzenie do analizy portfela w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Utwórz wektor wag dla dwóch równo ważonych aktywów i nazwij go eq_weights. Pamiętaj, że wagi muszą sumować się do 1.
  • Zbuduj portfel oparty na strategii kup i trzymaj, używając funkcji Return.portfolio(). Nie musisz podawać okresu rebalansowania. Przypisz wynik do zmiennej pf_bh.
  • Zbuduj portfel z miesięcznym rebalansowaniem wag. Użyj funkcji Return.portfolio() z argumentem rebalance_on = "months". Przypisz wynik do zmiennej pf_rebal.
  • Wykreśl szeregi czasowe obu portfeli za pomocą plot.zoo(). Kod par(mfrow = c(2, 1), mar = c(2, 4, 2, 2)) służy do układu wykresów – nie zmieniaj go.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Create the weights
eq_weights <- c(___, ___)

# Create a portfolio using buy and hold
pf_bh <- Return.portfolio(R = ___, weights = ___)

# Create a portfolio rebalancing monthly 


# Plot the time-series
par(mfrow = c(2, 1), mar = c(2, 4, 2, 2))
plot.zoo(___)
plot.zoo(___)
Edytuj i uruchom kod