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

Přidání omezení

Omezení se přidávají do objektu specifikace portfolia pomocí funkce add.constraint(). Každé přidané omezení je samostatný objekt uložený ve slotu constraints v objektu portfolia. Díky tomu jsou omezení modulární – lze je snadno přidávat, odebírat nebo upravovat. Povinné argumenty funkce add.constraint() jsou: portfolio, do kterého se omezení přidává, typ omezení type a pojmenované argumenty předávané přes ... do konstruktoru daného typu omezení.

Základní typy omezení:

  • Omezení součtu vah
    • weight_sum, weight, leverage
    • full_investment je speciální případ, který nastavuje min_sum = max_sum = 1
    • dollar_neutral je speciální případ, který nastavuje min_sum = max_sum = 0
  • Omezení jednotlivých vah aktiv
    • box
    • long_only je speciální případ, který nastavuje min = 0 a max = 1
  • Omezení součtu vah aktiv podle skupiny (sektor, region, třída aktiv atd.)
    • group
  • Omezení cílového průměrného výnosu
    • return

V tomto cvičení přidáš několik nejběžnějších typů omezení. Kromě základních typů uvedených výše podporuje PortfolioAnalytics také omezení počtu pozic, obratu, diverzifikace, expozice vůči faktorům a expozice pákovým efektem. Pokud tě zajímají ostatní typy omezení, prohlédni si soubory nápovědy k jejich konstruktorům – najdeš tam popis každého omezení i ukázkový kód.

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

Intermediate Portfolio Analysis in R

Zobrazit kurz

Pokyny k cvičení

  • Přidej omezení weight_sum tak, aby minimální i maximální součet vah byl roven 1.
  • Přidej omezení box tak, aby prvních pět aktiv mělo minimální váhu 10 % a zbývající aktiva minimální váhu 5 %. Maximální váha všech aktiv je 40 %.
  • Přidej omezení group tak, aby aktiva 1, 5, 7, 9, 10 a 11 tvořila první skupinu a aktiva 2, 3, 4, 6, 8 a 12 druhou skupinu. Pro každou skupinu nastav minimální váhu 40 % a maximální váhu 60 %.

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

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

# Add the weight sum constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min_sum = ___, max_sum = ___)

# Add the box constraint
port_spec <- add.constraint(portfolio = ___, type = ___, min = c(___), max = ___)

# Add the group constraint
port_spec <- add.constraint(portfolio = ___, type = ___, groups = list(c(___), c(___)), group_min = ___, group_max = ___)


# Print the portfolio specification object

Upravit a spustit kód