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

Hledání portfolia s minimálním rozptylem pro daný výnos

Portfolio s minimálním rozptylem pro daný cílový výnos (mean-variance efficient portfolio) lze získat jako řešení minimalizace rozptylu portfolia za podmínky, že očekávaný výnos portfolia se rovná cílovému výnosu. Šikovnou R funkcí pro tento účel je portfolio.optim() z balíčku tseries. Výchozí implementace funkce hledá optimální váhy portfolia za podmínky, že výnos portfolia se rovná výnosu stejně váženého portfolia. Jedinou potřebnou vstupní hodnotou jsou data o měsíčních výnosech složek portfolia, pro něž chceme váhy určit.

Proměnná returns obsahující měsíční výnosy akcií indexu DJIA je už načtená v konzoli.

Toto cvičení je součástí kurzu

Úvod do analýzy portfolia v R

Zobrazit kurz

Pokyny k cvičení

  • Načti knihovnu tseries.
  • Vytvoř portfolio s minimálním rozptylem pro daný výnos z měsíčních výnosů pomocí výchozího nastavení funkce portfolio.optim(), která cílí na výnos stejně váženého portfolia, a výsledek ulož do proměnné opt.
  • Vytvoř vektor vah z optimalizovaného portfolia. Váhy portfolia najdeš v opt$pw. Pojmenuj ho pf_weights.
  • Přiřaď aktivům názvy pomocí připraveného kódu.
  • Z pf_weights vyber optimální váhy, které jsou větší nebo rovny 1 %, a pojmenuj je opt_weights.
  • Pomocí barplot() vizualizuj rozložení opt_weights.
  • Vypiš očekávaný výnos portfolia (opt$pm) a volatilitu (opt$ps) optimalizovaného portfolia.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# Load tseries


# Create an optimized portfolio of returns
opt <- portfolio.optim(___)

# Create pf_weights
pf_weights <- ___$pw

# Assign asset names
names(pf_weights) <- colnames(returns)

# Select optimum weights opt_weights
opt_weights <- pf_weights[___ >= 0.01]

# Bar plot of opt_weights


# Print expected portfolio return and volatility
___$pm
___$ps
 
Upravit a spustit kód