IniziaInizia gratis

Rendimenti e rischio a pesi esponenziali

In questo esercizio, farai l’ottimizzazione di portafoglio con un modo leggermente diverso di stimare rischio e rendimento: darai più peso ai dati recenti nell’ottimizzazione.

È un approccio efficace per gestire dati azionari tipicamente non stazionari, cioè quando la distribuzione cambia nel tempo. L’implementazione si può fare rapidamente cambiando il modello di rischio che usi per calcolare Sigma e il calcolo dei rendimenti che usi per ottenere mu. Il dataset dei prezzi azionari è disponibile come stock_prices. Proviamo!

Questo esercizio fa parte del corso

Introduzione all'analisi di portafoglio in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Usa la matrice di covarianza a pesi esponenziali da risk_models e la funzione dei rendimenti storici a pesi esponenziali da expected_returns per calcolare Sigma e mu. Imposta lo span a 180 e la frequenza (cioè i giorni di trading) a 252.
  • Calcola la frontiera efficiente con i nuovi mu e Sigma.
  • Calcola i pesi per il portafoglio a massimo rapporto di Sharpe.
  • Ottieni il report delle performance.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Define exponentially weightedSigma and mu using stock_prices
Sigma = risk_models.____(____, span=____, frequency=____)
mu = expected_returns.____(____, frequency=____, span=____)

# Calculate the efficient frontier
ef = ____(____, ____)

# Calculate weights for the maximum sharpe ratio optimization
raw_weights_maxsharpe = ____.____()

# Show portfolio performance 
ef.____(verbose=True)
Modifica ed esegui il codice