Omezení vah portfolia
Investoři se často potýkají s maximálními hodnotami, které jsou pro váhy portfolia přípustné. Tato omezení ale mohou být i výhodou – portfolio s nastaveným maximem nebude tolik koncentrované v konkrétních aktivech. Má to však i svou nevýhodu: cílového výnosu může být obtížnější dosáhnout, případně ho lze dosáhnout jen za cenu vyšší volatility.
Z předchozího cvičení víš, že funkce portfolio.optim() umožňuje nastavit omezení vah pomocí argumentu reshigh, který přijímá vektor maximálních vah pro každé aktivum.
V tomto cvičení vytvoříš tři portfolia s různými maximálními vahami. Pro práci s funkcí portfolio.optim() je důležité znát strukturu jejího výstupu – vrací seznam se čtyřmi složkami: (i) $pw: váhy portfolia, (ii) $px: výnosy celého portfolia, (iii) $pm: očekávaný výnos portfolia, (iv) $ps: směrodatná odchylka výnosů portfolia.
Toto cvičení je součástí kurzu
Úvod do analýzy portfolia v R
Pokyny k cvičení
- Pomocí funkce
rep()vytvoř tři vektory maximálních vah pro každé aktivum (sloupec) vreturns. První vektor bude obsahovat maximální váhy 100 %, druhý 10 % a třetí 5 %. Pojmenuj jemax_weights1,max_weights2, respektivemax_weights3. - Vytvoř optimální portfolio s maximálními vahami 100 % a pojmenuj ho
opt1. - Vytvoř optimální portfolio s maximálními vahami 10 % a pojmenuj ho
opt2. - Vytvoř optimální portfolio s maximálními vahami 5 % a pojmenuj ho
opt3. - Zjisti, kolik aktiv má váhu větší než 1 % v každém portfoliu. K vahám se dostaneš přes
$pwza názvem portfolia. - Vypiš volatility (směrodatné odchylky
$ps) všech tří portfolií.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Create vectors of maximum weights
max_weights1 <- rep(1, ncol(returns))
max_weights2 <- ___
max_weights3 <- ___
# Create an optimum portfolio with max weights of 100%
opt1 <- portfolio.optim(___, reshigh = ___)
# Create an optimum portfolio with max weights of 10%
# Create an optimum portfolio with max weights of 5%
# Calculate how many assets have a weight that is greater than 1% for each portfolio
sum(opt1$pw > .01)
sum(___$pw > .01)
sum(___$pw > .01)
# Print portfolio volatilites
opt1$ps
___$__
___$__