LoslegenKostenlos loslegen

Stichprobenschätzungen der Momente

Die Standardmethode zur Schätzung von Portfoliomomenten ist die Stichprobenmethode. Die Momente werden in optimize.portfolio() berechnet, indem die Funktion ausgewertet wird, die an das Argument momentFUN übergeben wird. Der Standard für momentFUN ist set.portfolio.moments(), das standardmäßig die Stichprobenmomente berechnet. Diese Momente werden anschließend als Eingaben für die Zielfunktionen verwendet. Welche Momente geschätzt werden müssen, hängt von den Zielen ab. Ein Ziel, die Standardabweichung des Portfolios zu minimieren, benötigt zum Beispiel nur eine Schätzung des zweiten Moments. Im Vergleich dazu erfordert das Ziel, das Sharpe-Ratio zu maximieren, die Schätzung des ersten und zweiten Moments. Stichprobenschätzungen der Momente haben Nachteile, darunter Schätzfehler und den Fluch der Dimensionalität. Das Risiko von Schätzfehlern steigt, je mehr Assets und zu schätzende Parameter es gibt.

Diese Übung ist Teil des Kurses

Fortgeschrittene Portfolioanalyse in R

Kurs anzeigen

Anleitung zur Übung

  • Füge ein Return-Objective mit "mean" als Zielnamen hinzu.
  • Berechne die Stichprobenmomente mit set.portfolio.moments. Weise das Ergebnis einer Variablen namens moments zu.
  • Prüfe, ob das erste Moment dem Stichprobenschätzer der durchschnittlichen Renditen entspricht.
  • Füge ein Risiko-Objective mit "StdDev" als Zielnamen hinzu.
  • Berechne die Stichprobenmomente mit set.portfolio.moments. Weise das Ergebnis einer Variablen namens moments zu.
  • Prüfe, ob das zweite Moment dem Stichprobenschätzer der Varianz-Kovarianz-Matrix entspricht.

Interaktive Übung

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

# Add a return objective with "mean" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)

# Calculate the sample moments
moments <- set.portfolio.moments(R = ___, portfolio = ___)

# Check if moments$mu is equal to the sample estimate of mean returns
moments$mu == colMeans(asset_returns)

# Add a risk objective with "StdDev" as the objective name
port_spec <- add.objective(portfolio = port_spec, type = ___, name = ___)

# Calculate the sample moments using set.portfolio.moments. Assign to a variable named moments.
moments <- set.portfolio.moments(R = ___, portfolio = ___)

# Check if moments$sigma is equal to the sample estimate of the variance-covariance matrix
moments$sigma == cov(asset_returns)
Code bearbeiten und ausführen