CommencerCommencer gratuitement

Simulation de portefeuille - Partie I

Dans les prochains exercices, vous allez calculer les rendements attendus d’un portefeuille d’actions et en caractériser l’incertitude.

Supposons que vous ayez investi 10 000 $ dans un portefeuille composé de plusieurs actions. Vous souhaitez évaluer ses performances sur 10 ans. Vous pouvez ajuster votre taux de rendement moyen attendu ainsi que la volatilité (écart type du taux de rendement). Supposons que le taux de rendement suive une loi normale.

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

Une fois cet exercice terminé, vous disposerez d’une fonction que vous pourrez appeler pour déterminer la performance du portefeuille.

Cet exercice fait partie du cours

Simulation statistique en Python

Afficher le cours

Instructions

  • Dans la définition de la fonction, acceptez quatre arguments : le nombre d’années yrs, le taux de rendement moyen attendu avg_return, la volatilité sd_of_return, et le capital initial principal.
  • Simulez les 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é par le taux chaque année.
  • Utilisez portfolio_return() pour calculer et afficher result.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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