CommencezCommencez gratuitement

Simulation de portefeuille — Partie I

Dans les prochains exercices, vous allez calculer le rendement attendu d'un portefeuille d'actions et en caractériser l'incertitude.

Supposons que vous avez investi 10 000 $ dans un portefeuille composé de plusieurs actions. Vous voulez évaluer la performance du portefeuille sur 10 ans. Vous pouvez ajuster votre taux de rendement annuel moyen attendu et la volatilité (l'écart type du taux de rendement). Supposons que le taux de rendement suit une loi normale.

Commençons par écrire une fonction qui prend comme entrées le capital initial (l'investissement de départ), le nombre d'années, le taux de rendement attendu et la volatilité, puis retourne la valeur totale du portefeuille après 10 ans.

À la fin de cet exercice, vous aurez une fonction que vous pourrez appeler pour déterminer la performance du portefeuille.

Cette activité fait partie du cours

Simulation statistique en Python

Voir le cours

Instructions de l’exercice

  • Dans la définition de la fonction, acceptez quatre arguments : le nombre d'années yrs, le taux de rendement attendu avg_return, la volatilité sd_of_return et le capital initial principal en entrée.
  • Simulez des rates de rendement pour chaque année comme une variable aléatoire normale.
  • Initialisez end_return avec l'entrée principal. Dans la boucle for, end_return est multipliée par le taux chaque année.
  • Utilisez portfolio_return() pour calculer et afficher result.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

# 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(____))
Modifier et exécuter le code