LoslegenKostenlos loslegen

Constraints hinzufügen

Constraints werden mit der Funktion add.constraint() zum Portfolio-Spezifikationsobjekt hinzugefügt. Jeder hinzugefügte Constraint ist ein eigenes Objekt und wird im Slot constraints des Portfolio-Objekts gespeichert. So bleiben die Constraints modular und du kannst sie im Portfolio-Objekt leicht hinzufügen, entfernen oder anpassen. Die erforderlichen Argumente für add.constraint() sind das portfolio, zu dem der Constraint hinzugefügt wird, der Constraint-type sowie benannte Argumente, die über ... an den Konstruktor des jeweiligen Constraint-Typs übergeben werden.

Grundlegende Constraint-Typen:

  • Constraint für die Summe der Gewichte festlegen
    • weight_sum, weight, leverage
    • full_investment ist ein Sonderfall, der min_sum = max_sum = 1 setzt
    • dollar_neutral ist ein Sonderfall, der min_sum = max_sum = 0 setzt
  • Constraints für einzelne Asset-Gewichte festlegen
    • box
    • long_only ist ein Sonderfall, der min = 0 und max = 1 setzt
  • Constraint für die Summe der Gewichte von Assets nach Gruppe (Sektor, Region, Assetklasse usw.) festlegen
    • group
  • Constraint auf die Ziel-Mean-Return festlegen
    • return

In dieser Übung fügst du einige der gängigeren Constraint-Typen hinzu. Zusätzlich zu den oben aufgeführten grundlegenden Typen unterstützt PortfolioAnalytics auch Constraints für Positionslimits, Turnover, Diversifikation, Faktor-Exposures und Leverage-Exposures. Wenn dich die anderen Typen interessieren, sieh dir die Hilfedateien zu den Constraint-Konstruktoren an. Die Hilfen enthalten eine Beschreibung des Constraint-Typs sowie Beispielcode.

Diese Übung ist Teil des Kurses

Fortgeschrittene Portfolioanalyse in R

Kurs anzeigen

Anleitung zur Übung

  • Füge einen weight_sum-Constraint hinzu, sodass die minimale Summe der Gewichte 1 und die maximale Summe der Gewichte 1 ist.
  • Füge einen box-Constraint hinzu, sodass die ersten fünf Assets ein Mindestgewicht von 10 % und die übrigen Assets ein Mindestgewicht von 5 % haben. Alle Assets haben ein Höchstgewicht von 40 %.
  • Füge einen group-Constraint hinzu, sodass die Assets 1, 5, 7, 9, 10 und 11 die erste Gruppe bilden und die Assets 2, 3, 4, 6, 8 und 12 die zweite Gruppe. Setze das Mindestgewicht für jede Gruppe auf 40 % und das Höchstgewicht auf 60 %.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

# 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 bearbeiten und ausführen