Kom igångKom igång gratis

Hitta den mean-variance-effektiva portföljen

En mean-variance-effektiv portfölj kan beräknas genom att minimera portföljvariansen under villkoret att portföljens förväntade avkastning är lika med en målavkastning. En praktisk R-funktion för detta är portfolio.optim() i R-paketet tseries. Standardimplementationen hittar de mean-variance-effektiva portföljvikterna under villkoret att portföljens avkastning är lika med avkastningen för den likaviktade portföljen. Det enda argumentet som behövs är månadsavkastningsdata för de tillgångar som vikterna ska beräknas för.

Variabeln returns, som innehåller månadsavkastningarna för DJIA-aktierna, är redan inläst i konsolen.

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

Introduktion till portföljanalys i R

Visa kurs

Övningsinstruktioner

  • Läs in biblioteket tseries.
  • Skapa en mean-variance-effektiv portfölj av månadsavkastningar med standardinställningen i portfolio.optim(), som riktar in sig på den likaviktade portföljens avkastning, och tilldela resultatet till variabeln opt.
  • Skapa en vektor med vikter från din optimerade portfölj. Portföljvikterna finns i opt$pw. Kalla denna pf_weights.
  • Tilldela tillgångarna namn med hjälp av den medföljande koden.
  • Välj de optimala vikterna från pf_weights som är större än eller lika med 1 %, och kalla dessa opt_weights.
  • Använd barplot() för att visualisera fördelningen av opt_weights.
  • Skriv ut den förväntade portföljens avkastning (opt$pm) och volatilitet (opt$ps) för den optimerade portföljen.

Interaktiv övning med praktiskt arbete

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

# Load tseries


# Create an optimized portfolio of returns
opt <- portfolio.optim(___)

# Create pf_weights
pf_weights <- ___$pw

# Assign asset names
names(pf_weights) <- colnames(returns)

# Select optimum weights opt_weights
opt_weights <- pf_weights[___ >= 0.01]

# Bar plot of opt_weights


# Print expected portfolio return and volatility
___$pm
___$ps
 
Redigera och kör kod