Zacznij terazZacznij za darmo

Optymalizacja z okresowym rebalansowaniem

Uruchomienie optymalizacji z okresowym rebalansowaniem i analiza wyników out-of-sample backtestingu to ważny krok, który pomaga lepiej zrozumieć zdefiniowane ograniczenia i cele – a w razie potrzeby je doprecyzować. Funkcja optimize.portfolio.rebalancing() obsługuje optymalizację z okresowym rebalansowaniem (backtestingiem), umożliwiając ocenę wyników poza próbą. Oprócz argumentów znanych z optimize.portfolio(), należy podać: częstotliwość rebalansowania (rebalance_on), liczbę okresów używanych jako dane treningowe do pierwszej optymalizacji (training_period) oraz szerokość okna optymalizacji (rolling_window). Jeśli rolling_window ma wartość NULL, każda optymalizacja uwzględni wszystkie dane dostępne w danym momencie.

Aby skrócić czas obliczeń w tym ćwiczeniu, zbiór losowych portfeli rp jest generowany z użyciem 50 permutacji, a parametr search_size (liczba testowanych portfeli) wynosi 1000. W rzeczywistych zastosowaniach warto testować znacznie więcej portfeli – domyślna wartość search_size to 20 000!

To ćwiczenie jest częścią kursu

Analiza portfela – poziom średniozaawansowany w R

Zobacz kurs

Instrukcje do ćwiczenia

  • Uruchom optymalizację z kwartalnym rebalansowaniem. Ustaw okres treningowy i okno kroczące na 60 okresów. Zbiór danych zawiera dane miesięczne, więc korzystamy z 5 lat danych historycznych. Wynik optymalizacji zapisz do zmiennej o nazwie opt_rebal.
  • Wyświetl wyniki optymalizacji.

Interaktywne ćwiczenie praktyczne

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

# Run the optimization backtest with quarterly rebalancing
opt_rebal <- optimize.portfolio.rebalancing(R = ___, portfolio = ___, optimize_method = ___, rp = rp, trace = TRUE, search_size = 1000, rebalance_on = ___, training_period = ___, rolling_window = ___)


# Print the output of the optimization backtest
Edytuj i uruchom kod