Aan de slagGa gratis aan de slag

Doelen toevoegen

Doelstellingen voeg je toe aan het portfolio-object met de functie add.objective(). Elke toegevoegde doelstelling is een apart object en wordt opgeslagen in de objectives-slot van het portfolio-specificatieobject. Zo zijn de doelstellingen modulair en kun je ze eenvoudig toevoegen, verwijderen of aanpassen. Het argument name moet een geldige R-functie zijn. Er zijn verschillende functies beschikbaar in het pakket PerformanceAnalytics, maar door de gebruiker gedefinieerde functies kunnen ook als doelstellingsfunctie worden gebruikt. De vereiste argumenten voor add.objective() zijn het portfolio waar de doelstelling aan wordt toegevoegd, het type doelstelling (type), de naam van de doelstelling (name), en benoemde argumenten die via ... worden doorgegeven aan de constructor van het doelstellingstype. Argumenten voor de doelstellingsfunctie geef je als een benoemde lijst mee aan arguments.

Basisdoelstellingstypen:

  • return: Dit type doelstelling probeert de doelstelling te maximaliseren.
  • risk: Dit type doelstelling probeert de doelstelling te minimaliseren.
  • risk_budget: Dit type doelstelling probeert risicoconcentratie te minimaliseren of bestraft een bijdrage aan risico die de minimale of maximale toegestane procentuele risicobijdrage overschrijdt.

Naast de hierboven genoemde doelstellingstypen ondersteunt PortfolioAnalytics ook kwadratische nuts- en gewichtsconcentratie-doelstellingen. Als je geïnteresseerd bent in de andere constrainttypen, bekijk dan de helpbestanden voor de constraint-constructors. 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 rendementsdoelstelling toe aan het portfolio-specificatieobject port_spec dat je in een vorige oefening hebt gemaakt.
  • Voeg een risicodoelstelling toe aan port_spec om de standaarddeviatie van de portefeuille te minimaliseren.
  • Voeg een risicobudget-doelstelling toe aan port_spec waarbij risico is gedefinieerd als component-standaarddeviatie. Stel het minimale percentage risico in op 5% en het maximale percentage risico op 10%.
  • Print het object port_spec.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# Add a return objective to maximize mean return
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Add a risk objective to minimize portfolio standard deviation
port_spec <- add.objective(portfolio = ___, type = ___, name = ___)

# Add a risk budget objective
port_spec <- add.objective(portfolio = ___, type = ___, name = ___, min_prisk = ___, max_prisk = ___)

# Print the portfolio specification object

Code bewerken en uitvoeren