IniziaInizia gratis

Il portafoglio a varianza minima e quello a Sharpe ratio massimo

Nei precedenti esercizi hai calcolato la frontiera efficiente usando una griglia di rendimenti obiettivo. L’output del tuo calcolo della frontiera efficiente era composto da due vettori, vpm (vettore delle medie di portafoglio) e vpsd (vettore delle deviazioni standard, o volatilità), e da una matrice di pesi chiamata mweights. Userai questi risultati per individuare i portafogli con la minore volatilità e con il maggiore Sharpe ratio, e poi traccerai il grafico della loro allocazione dei pesi.

Come promemoria, lo Sharpe Ratio si ottiene prendendo i rendimenti in eccesso rispetto al tasso privo di rischio e dividendoli per la volatilità del portafoglio.

Questo esercizio fa parte del corso

Introduzione all'analisi di portafoglio in R

Visualizza il corso

Istruzioni dell'esercizio

  • Crea weights_minvar, ossia la riga di mweights in cui la deviazione standard è minimizzata (vpsd == min(vpsd)).
  • Calcola lo Sharpe ratio dei rendimenti di portafoglio quando il tasso privo di rischio è 0,75%. Chiamalo vsr.
  • Crea weights_max_sr come la riga di mweights corrispondente al portafoglio con lo Sharpe ratio massimo in vsr. Puoi risolverlo in modo analogo alla prima istruzione.
  • Crea un grafico a barre dei pesi maggiori dell’1% nel portafoglio weights_minvar, e crea un grafico a barre dei pesi maggiori dell’1% nel portafoglio weights_max_sr.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Create weights_minvar as the portfolio with the least risk
weights_minvar <- mweights[___ == min(___), ]

# Calculate the Sharpe ratio
vsr <- (___ - ___) / vpsd

# Create weights_max_sr as the portfolio with the maximum Sharpe ratio
weights_max_sr <- mweights[___ == max(___)]

# Create bar plot of weights_minvar and weights_max_sr
par(mfrow = c(2, 1), mar = c(3, 2, 2, 1))
barplot(weights_minvar[weights_minvar > 0.01])
barplot(___[___ > 0.01])
 
Modifica ed esegui il codice