Odhady výběrových momentů
Výchozí metodou pro odhadování momentů portfolia je výběrová metoda. Momenty se vypočítávají v optimize.portfolio() vyhodnocením funkce předané argumentu momentFUN. Výchozí hodnotou pro momentFUN je set.portfolio.moments(), která standardně počítá výběrové momenty. Tyto momenty pak slouží jako vstupy pro účelové funkce. To, které momenty je třeba odhadnout, závisí na zvolených cílech. Například cíl minimalizovat směrodatnou odchylku portfolia vyžaduje pouze odhad druhého momentu. Naproti tomu cíl maximalizovat Sharpeho poměr vyžaduje odhad prvního i druhého momentu. Výběrové odhady momentů mají svá úskalí – patří mezi ně chyba odhadu a prokletí dimenzionality. S rostoucím počtem aktiv a odhadovaných parametrů se riziko chyby odhadu zvyšuje.
Toto cvičení je součástí kurzu
Intermediate Portfolio Analysis in R
Pokyny k cvičení
- Přidej výnosový cíl s názvem
"mean"jako názvem účelové funkce. - Vypočítej výběrové momenty pomocí
set.portfolio.moments. Výsledek přiřaď do proměnnémoments. - Ověř, zda se první moment rovná výběrovému odhadu průměrných výnosů.
- Přidej rizikový cíl s názvem
"StdDev"jako názvem účelové funkce. - Vypočítej výběrové momenty pomocí
set.portfolio.moments. Výsledek přiřaď do proměnnémoments. - Ověř, zda se druhý moment rovná výběrovému odhadu matice rozptylu a kovariance.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Add a return objective with "mean" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)
# Calculate the sample moments
moments <- set.portfolio.moments(R = ___, portfolio = ___)
# Check if moments$mu is equal to the sample estimate of mean returns
moments$mu == colMeans(asset_returns)
# Add a risk objective with "StdDev" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)
# Calculate the sample moments using set.portfolio.moments. Assign to a variable named moments.
moments <- set.portfolio.moments(R = ___, portfolio = ___)
# Check if moments$sigma is equal to the sample estimate of the variance-covariance matrix
moments$sigma == cov(asset_returns)