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

Ř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

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř objekt specifikace portfolia s použitím názvů aktiv z datové sady index_returns a pojmenuj ho port_spec.
  • Přidej do objektu port_spec omezení plné investice tak, aby součet vah byl roven 1.
  • Přidej do objektu port_spec omezení 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_spec cí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 objektu opt.

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 = "___")
Upravit a spustit kód