Aan de slagGa gratis aan de slag

Constraints toevoegen

Constraints voeg je toe aan het portfolio-specificatieobject met de functie add.constraint(). Elke toegevoegde constraint is een apart object en wordt opgeslagen in de constraints-slot van het portfolio-object. Zo blijven constraints modulair en kun je ze eenvoudig toevoegen, verwijderen of aanpassen in het portfolio-object. De vereiste argumenten voor add.constraint() zijn het portfolio waaraan de constraint wordt toegevoegd, het constraint-type, en benoemde argumenten die via ... worden doorgegeven aan de constructor van het betreffende constrainttype.

Basis-constrainttypes:

  • Stel de constraint in op de som van de gewichten
    • weight_sum, weight, leverage
    • full_investment is een speciaal geval dat min_sum = max_sum = 1 instelt
    • dollar_neutral is een speciaal geval dat min_sum = max_sum = 0 instelt
  • Stel constraints in voor de individuele assetgewichten
    • box
    • long_only is een speciaal geval dat min = 0 en max = 1 instelt
  • Stel de constraint in voor de som van gewichten van assets per groep (sector, regio, assetklasse, enz.)
    • group
  • Stel een constraint in op het doelgemiddelde rendement
    • return

In deze oefening voeg je enkele van de meest gebruikte constrainttypes toe. Naast de basis-constrainttypes die hierboven staan, ondersteunt PortfolioAnalytics ook constrainttypes voor positielimiet, omloopsnelheid (turnover), diversificatie, factorblootstelling en leverage-blootstelling. Ben je geïnteresseerd in de andere constrainttypes? Bekijk dan de helpbestanden van de constraintconstructors. De helpbestanden bevatten een beschrijving van het constrainttype en voorbeeldcode.

Deze oefening maakt deel uit van de cursus

Gevorderde portefeuilleanalyse in R

Cursus bekijken

Oefeninstructies

  • Voeg een weight_sum-constraint toe zodat de minimumsom van de gewichten 1 is en de maximumsom van de gewichten 1 is.
  • Voeg een box-constraint toe zodat de eerste vijf assets een minimumgewicht van 10% hebben en de overige assets een minimumgewicht van 5%. Alle assets hebben een maximumgewicht van 40%.
  • Voeg een group-constraint toe zodat assets 1, 5, 7, 9, 10 en 11 de eerste groep vormen en assets 2, 3, 4, 6, 8 en 12 de tweede groep. Stel voor elke groep het minimumgewicht in op 40% en het maximumgewicht op 60%.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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

Code bewerken en uitvoeren