Začněte nyníZačněte zdarma

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

Zobrazit kurz

Pokyny k cvičení

  • Pomocí funkce rep() vytvoř tři vektory maximálních vah pro každé aktivum (sloupec) v returns. První vektor bude obsahovat maximální váhy 100 %, druhý 10 % a třetí 5 %. Pojmenuj je max_weights1, max_weights2, respektive max_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 $pw za 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
___$__
___$__

Upravit a spustit kód