Kom igångKom igång gratis

Lägg till begränsningar

Begränsningar läggs till i portföljspecifikationsobjektet med funktionen add.constraint(). Varje begränsning är ett separat objekt och lagras i constraints-platsen i portföljeobjektet. På så sätt är begränsningarna modulära, vilket gör det enkelt att lägga till, ta bort eller ändra dem. De obligatoriska argumenten för add.constraint() är den portfolio som begränsningen läggs till i, begränsningens type, samt namngivna argument som skickas via ... till konstruktorn för begränsningstypen.

Grundläggande begränsningstyper:

  • Ange begränsningen för summan av vikterna
    • weight_sum, weight, leverage
    • full_investment är ett specialfall som sätter min_sum = max_sum = 1
    • dollar_neutral är ett specialfall som sätter min_sum = max_sum = 0
  • Ange begränsningar för de enskilda tillgångsvikterna
    • box
    • long_only är ett specialfall som sätter min = 0 och max = 1
  • Ange begränsningen för summan av vikter för tillgångar per grupp (sektor, region, tillgångsklass osv.)
    • group
  • Ange en begränsning för målets genomsnittliga avkastning
    • return

I den här övningen lägger du till några av de vanligaste begränsningstyperna. Utöver de grundläggande typerna ovan stöder PortfolioAnalytics även begränsningstyper för positionsgränser, omsättning, diversifiering, faktorexponering och hävstångsexponering. Om du vill utforska dessa, se hjälpfilerna för begränsningskonstruktorerna. Där finns beskrivningar av varje begränsningstyp samt exempelkod.

Den här övningen är en del av kursen

Portföljanalys på avancerad nivå i R

Visa kurs

Övningsinstruktioner

  • Lägg till en weight_sum-begränsning så att den minsta viktsumman är 1 och den maximala viktsumman är 1.
  • Lägg till en box-begränsning så att de fem första tillgångarna har en minimivikt på 10 % och de återstående tillgångarna har en minimivikt på 5 %. Alla tillgångar har en maximivikt på 40 %.
  • Lägg till en group-begränsning så att tillgångarna 1, 5, 7, 9, 10 och 11 utgör den första gruppen och tillgångarna 2, 3, 4, 6, 8 och 12 utgör den andra gruppen. Sätt minimivikten till 40 % och maximivikten till 60 % för varje grupp.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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

Redigera och kör kod