Kom igångKom igång gratis

Skattningar av stickprovsmoment

Standardmetoden för att skatta portföljmoment är stickprovsmetoden. Momenten beräknas i optimize.portfolio() genom att den funktion som skickas till argumentet momentFUN utvärderas. Standardvärdet för momentFUN är set.portfolio.moments(), som som standard beräknar stickprovsmomenten. Momenten används sedan som indata till målfunktionerna. Vilka moment som måste skattas beror på målfunktionerna. Ett mål att minimera portföljens standardavvikelse kräver till exempel bara en skattning av det andra momentet. Jämför det med målet att maximera Sharpe-kvoten, som kräver att både det första och det andra momentet skattas. Stickprovsskattningar av momenten har nackdelar, bland annat skattningsfel och dimensionalitetens förbannelse. Risken för skattningsfel ökar i takt med att antalet tillgångar och parametrar som ska skattas växer.

Den här övningen är en del av kursen

Portföljanalys på avancerad nivå i R

Visa kurs

Övningsinstruktioner

  • Lägg till ett avkastningsmål med "mean" som målnamn.
  • Beräkna stickprovsmomenten med set.portfolio.moments. Tilldela resultatet till en variabel med namnet moments.
  • Kontrollera om det första momentet är lika med stickprovsskattningen av medelavkastningen.
  • Lägg till ett riskmål med "StdDev" som målnamn.
  • Beräkna stickprovsmomenten med set.portfolio.moments. Tilldela resultatet till en variabel med namnet moments.
  • Kontrollera om det andra momentet är lika med stickprovsskattningen av varians-kovariansmatrisen.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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)
Redigera och kör kod