CommencerCommencer gratuitement

Calcul des rendements d’un portefeuille

Pour construire et tester un portefeuille en historique, vous devez être à l’aise avec la manipulation des rendements de plusieurs actifs dans un même objet.

Dans cet exercice, vous utiliserez un objet DataFrame de pandas, déjà stocké 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%

Notez que, dans la plupart des cas, la somme des pondérations du portefeuille doit être égale à 100 %.

Cet exercice fait partie du cours

Introduction à la gestion du risque de portefeuille en Python

Afficher le cours

Instructions

  • Terminez la définition du tableau numpy portfolio_weights avec les valeurs du tableau ci-dessus.
  • Utilisez la méthode .mul() pour multiplier portfolio_weights sur les lignes de StockReturns afin d’obtenir des rendements pondérés par action.
  • 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 cumulés dans le temps.

Exercice interactif pratique

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

# 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