Evaluare pe eșantioane separate
În capitolul 2, ai folosit funcția window() pentru a extrage subseturi din randamente în scopuri grafice. În acest exercițiu, vei folosi window() pentru a crea două eșantioane: un eșantion de estimare și un eșantion de evaluare. Exercițiul ilustrează cum se pot schimba ponderile portofoliului atunci când modifici fereastra de estimare.
Ca memento, funcția window() acceptă argumentele x, start și end, unde start și end sunt în formatul "YYYY-MM-DD".
Obiectul returns este disponibil în spațiul tău de lucru.
Acest exercițiu face parte din cursul
Introducere în analiza portofoliului în R
Instrucțiuni pentru exercițiu
- Creează eșantionul
returns_estimprin extragerea unui subset dinreturns, care începe pe 1 ianuarie 1991 și se termină pe 31 decembrie 2003. - Creează eșantionul
returns_evalprin extragerea unui subset dinreturns, care începe în prima zi a anului 2004 și se termină în ultima zi a anului 2015. - Creează un vector de ponderi maxime egale cu 10%, cu o lungime corespunzătoare numărului de coloane din
returns, numitmax_weights. - Creează un portofoliu bazat pe eșantionul de estimare, numit
pf_estim, în care ponderea maximă (reshigh) este setată lamax_weights. - Creează un portofoliu bazat pe eșantionul de evaluare, numit
pf_eval, în care ponderea maximă (reshigh) este setată lamax_weights. - Creează un grafic scatter al ponderilor portofoliului de evaluare față de ponderile portofoliului de estimare (poți folosi
$pw). Dacă ponderile sunt identice, punctele ar trebui să se alinieze pe dreapta de 45 de grade.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Create returns_estim
returns_estim <- window(___, start = "YYYY-MM-DD", end = "YYYY-MM-DD")
# Create returns_eval
# Create vector of max weights
max_weights <- rep(___, ncol(___))
# Create portfolio with estimation sample
pf_estim <- portfolio.optim(___, reshigh = ___)
# Create portfolio with evaluation sample
# Create a scatter plot with evaluation portfolio weights on the vertical axis
plot(___, ___)
abline(a = 0, b = 1, lty = 3)