LoslegenKostenlos loslegen

Objectives hinzufügen

Objectives werden mit der Funktion add.objective() zum Portfolio-Objekt hinzugefügt. Jedes hinzugefügte Objective ist ein eigenes Objekt und wird im Slot objectives der Portfolio-Spezifikation gespeichert. So bleiben die Objectives modular und du kannst sie leicht hinzufügen, entfernen oder anpassen. Das Argument name muss eine gültige R-Funktion sein. Im Paket PerformanceAnalytics stehen mehrere Funktionen bereit, aber auch selbst definierte Funktionen können als Objective-Funktionen verwendet werden. Pflichtargumente für add.objective() sind das portfolio, zu dem das Objective hinzugefügt wird, der Objective-type, der Objective-name sowie benannte Argumente, die über ... an den Konstruktor des jeweiligen Objective-Typs übergeben werden. Argumente für die Objective-Funktion werden als benannte Liste über arguments angegeben.

Grundlegende Objective-Typen:

  • return: Dieser Objective-Typ soll das Ziel maximieren.
  • risk: Dieser Objective-Typ soll das Ziel minimieren.
  • risk_budget: Dieser Objective-Typ soll Risikokonzentration minimieren oder Beiträge zum Risiko sanktionieren, die den minimalen oder maximal zulässigen prozentualen Risikoanteil überschreiten.

Zusätzlich zu den oben aufgeführten Objective-Typen unterstützt PortfolioAnalytics auch quadratische Nutzen- und Gewichtskonzentrations-Objectives. Wenn du dich für die anderen Constraint-Typen interessierst, sieh dir die Hilfedateien der Constraint-Konstruktoren an. Die Hilfedateien 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 der Portfolio-Spezifikation port_spec, die du in einer vorherigen Übung erstellt hast, ein Rendite-Objective hinzu.
  • Füge port_spec ein Risiko-Objective hinzu, das die Portfoliostandardabweichung minimiert.
  • Füge port_spec ein Risk-Budget-Objective hinzu, bei dem das Risiko als Komponenten-Standardabweichung definiert ist. Setze den minimalen prozentualen Risikoanteil auf 5 % und den maximalen auf 10 %.
  • Gib das Objekt port_spec aus.

Interaktive Übung

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

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