Optymalizacja z niestandardową funkcją celu
To ćwiczenie bazuje na poprzednim – uruchomimy optymalizację z niestandardową funkcją celu, która oblicza roczne odchylenie standardowe portfela. Ponieważ funkcja celu może być dowolną prawidłową funkcją R, dodajemy cel ryzyka dla funkcji pasd(). Funkcja set.portfolio.moments() nie rozpozna nazwy celu pasd(), dlatego musimy utworzyć niestandardową funkcję momentu do obliczania momentu drugiego rzędu, sigma. Problem rozwiążemy metodą losowych portfeli.
To ćwiczenie jest częścią kursu
Analiza portfela – poziom średniozaawansowany w R
Instrukcje do ćwiczenia
- Dodaj niestandardową funkcję celu utworzoną w poprzednim ćwiczeniu do obiektu specyfikacji portfela.
- Wyświetl obiekt specyfikacji portfela, aby zobaczyć ograniczenia i cel.
- Uruchom optymalizację. Nazwa niestandardowej funkcji momentu to
set_sigma. - Wyświetl wyniki optymalizacji.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Add custom objective to portfolio specification
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)
# Print the portfolio specificaton object
# Run the optimization
opt <- optimize.portfolio(R = ___, portfolio = ___, momentFUN = ___, optimize_method = "random", rp = rp)
# Print the results of the optimization