Simulazione di portafoglio - Parte I
Nei prossimi esercizi calcolerai i rendimenti attesi di un portafoglio azionario e ne caratterizzerai l’incertezza.
Supponi di aver investito 10.000 $ in un portafoglio composto da più azioni. Vuoi valutare la performance del portafoglio su 10 anni. Puoi modificare il tasso di rendimento atteso complessivo e la volatilità (deviazione standard del tasso di rendimento). Assumi che il tasso di rendimento segua una distribuzione normale.
Per prima cosa, scriviamo una funzione che prenda in input il capitale iniziale (investimento iniziale), il numero di anni, il tasso di rendimento atteso e la volatilità, e restituisca il valore totale del portafoglio dopo 10 anni.
Al termine di questo esercizio, avrai una funzione che puoi chiamare per determinare la performance del portafoglio.
Questo esercizio fa parte del corso
Simulazione statistica in Python
Istruzioni dell'esercizio
- Nella definizione della funzione, accetta quattro argomenti: numero di anni
yrs, tasso di rendimento attesoavg_return, volatilitàsd_of_returne capitale inizialeprincipalcome input. - Simula i
ratesdi rendimento per ogni anno come variabile casuale normale. - Inizializza
end_returncon l’inputprincipal. Nel ciclofor,end_returnviene aumentato ogni anno in base al tasso. - Usa
portfolio_return()per calcolare e stampareresult.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
# rates is a Normal random variable and has size equal to number of years
def portfolio_return(____):
np.random.seed(123)
rates = ____(loc=avg_return, scale=sd_of_return, size=yrs)
# Calculate the return at the end of the period
end_return = ____
for x in rates:
end_return = end_return*(1+____)
return end_return
result = portfolio_return(yrs = 5, avg_return = 0.07, sd_of_return = 0.15, principal = 1000)
print("Portfolio return after 5 years = {}".format(____))