ÎncepețiÎncepe gratuit

Găsirea portofoliului eficient medie-varianță

Un portofoliu eficient medie-varianță poate fi obținut ca soluție a minimizării varianței portofoliului, sub constrângerea că randamentul așteptat al portofoliului este egal cu un randament țintă. O funcție R convenabilă pentru acest lucru este portfolio.optim() din pachetul R tseries. Implementarea implicită găsește ponderile portofoliului eficient medie-varianță sub constrângerea că randamentul portofoliului este egal cu randamentul portofoliului egal ponderat. Singurul argument necesar este datele privind randamentele lunare ale componentelor portofoliului pentru care trebuie determinate ponderile.

Variabila returns, care conține randamentele lunare ale acțiunilor DJIA, este deja încărcată în consolă.

Acest exercițiu face parte din cursul

Introducere în analiza portofoliului în R

Vezi cursul

Instrucțiuni pentru exercițiu

  • Încarcă biblioteca tseries.
  • Creează un portofoliu eficient medie-varianță pe baza randamentelor lunare, folosind valorile implicite ale funcției portfolio.optim() și vizând randamentul portofoliului egal ponderat. Atribuie rezultatul variabilei opt.
  • Creează un vector de ponderi din portofoliul optimizat. Ponderile portofoliului se găsesc în opt$pw. Numește-l pf_weights.
  • Atribuie numele activelor folosind codul furnizat.
  • Selectează din pf_weights ponderile optime mai mari sau egale cu 1% și numește-le opt_weights.
  • Folosește barplot() pentru a vizualiza distribuția opt_weights.
  • Afișează randamentul așteptat al portofoliului (opt$pm) și volatilitatea (opt$ps) portofoliului optimizat.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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
 
Editează și rulează codul