Řešení jednoduchého problému optimalizace portfolia
V tomto prvním cvičení se naučíš, jak vyřešit jednoduchý problém optimalizace portfolia pomocí balíčku PortfolioAnalytics. Zjistíš, jak vytvořit objekt specifikace portfolia, přidat omezení a cíle a následně optimalizační problém vyřešit. Cílem je sestavit portfolio s minimálním rozptylem při splnění podmínek plné investice a zákazu krátkých pozic. Konkrétně platí dvě omezení: omezení plné investice vyžaduje, aby součet vah byl roven 1, a omezení zákazu krátkých pozic vyžaduje, aby všechny váhy byly větší nebo rovny 0 (tj. krátké pozice nejsou povoleny).
Toto cvičení je součástí kurzu
Intermediate Portfolio Analysis in R
Pokyny k cvičení
- Vytvoř objekt specifikace portfolia s použitím názvů aktiv z datové sady
index_returnsa pojmenuj hoport_spec. - Přidej do objektu
port_specomezení plné investice tak, aby součet vah byl roven 1. - Přidej do objektu
port_specomezení zákazu krátkých pozic tak, aby váha každého aktiva byla v rozsahu od 0 do 1. - Přidej do objektu
port_speccíl minimalizace směrodatné odchylky portfolia. - Vyřeš optimalizační problém portfolia s použitím
optimize_method = "ROI"a výsledek optimalizace ulož do objektuopt.
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 the portfolio specification
port_spec <- portfolio.spec(colnames(___))
# Add a full investment constraint such that the weights sum to 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add a long only constraint such that the weight of an asset is between 0 and 1
port_spec <- add.constraint(portfolio = ___, type = "___")
# Add an objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = "___", name = "___")
# Solve the optimization problem
opt <- optimize.portfolio(___, portfolio = ___, optimize_method = "___")