CommencezCommencez gratuitement

Calcul des rendements de portefeuille

Pour construire et effectuer un rétrotest d'un portefeuille, vous devez être à l'aise de manipuler les rendements de plusieurs actifs dans un seul objet.

Dans cet exercice, vous utiliserez un objet DataFrame de pandas, déjà enregistré dans la variable StockReturns, pour conserver les rendements de plusieurs actifs et calculer les rendements d'un portefeuille modèle.

Le portefeuille modèle est construit avec des pondérations prédéfinies pour certaines des plus grandes entreprises au monde, juste avant janvier 2017 :

Company Name Ticker Portfolio Weight
Apple AAPL 12%
Microsoft MSFT 15%
Exxon Mobil XOM 8%
Johnson & Johnson JNJ 5%
JP Morgan JPM 9%
Amazon AMZN 10%
General Electric GE 11%
Facebook FB 14%
AT&T T 16%

Remarquez que, dans la plupart des cas, la somme des pondérations du portefeuille devrait être de 100 %

Cette activité fait partie du cours

Introduction à la gestion du risque de portefeuille en Python

Voir le cours

Instructions de l’exercice

  • Terminez la définition du tableau numpy portfolio_weights avec les valeurs indiquées dans le tableau ci-dessus.
  • Utilisez la méthode .mul() pour multiplier portfolio_weights sur les lignes de StockReturns afin d'obtenir les rendements pondérés des titres.
  • Utilisez ensuite la méthode .sum() sur les lignes de l'objet WeightedReturns pour calculer les rendements du portefeuille.
  • Enfin, examinez le graphique des rendements cumulatifs dans le temps.

Exercice interactif pratique

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

# Finish defining the portfolio weights as a numpy array
portfolio_weights = np.array([0.12, 0.15, 0.08, 0.05, 0.09, 0.10, 0.11, ____, ____])

# Calculate the weighted stock returns
WeightedReturns = StockReturns.____(portfolio_weights, axis=____)

# Calculate the portfolio returns
StockReturns['Portfolio'] = WeightedReturns.____(axis=____)

# Plot the cumulative portfolio returns over time
CumulativeReturns = ((1+StockReturns["Portfolio"]).cumprod()-1)
CumulativeReturns.plot()
plt.show()
Modifier et exécuter le code