Composition de portefeuille et rétroaction

Introduction à la gestion du risque de portefeuille en Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Calculer les rendements d'un portefeuille

Formule du rendement du portefeuille :

$$ R_p = R_{a_1} w_{a_1} + R_{a_2} w_{a_2} + ... + R_{a_n} w_{a_1} $$

  • $ R_p$ : Rendement du portefeuille
  • $ R_{a_n}$ : Rendement de l'actif n
  • $ w_{a_n}$ : Pondération de l'actif n
Introduction à la gestion du risque de portefeuille en Python

En supposant que StockReturns est un DataFrame pandas de rendements boursiers, vous pouvez calculer le rendement du portefeuille pour un ensemble de pondérations comme suit :

import numpy as np
portfolio_weights = np.array([0.25, 0.35, 0.10, 0.20, 0.10])
port_ret = StockReturns.mul(portfolio_weights, axis=1).sum(axis=1)
port_ret
Date
2017-01-03    0.008082
2017-01-04    0.000161
2017-01-05    0.003448
         ...
StockReturns["Portfolio"] = port_ret
Introduction à la gestion du risque de portefeuille en Python

Portefeuilles équipondérés en Python

En supposant que StockReturns est un DataFrame pandas de rendements boursiers, vous pouvez calculer le rendement d'un portefeuille à pondérations égales comme suit :

import numpy as np
numstocks = 5
portfolio_weights_ew = np.repeat(1/numstocks, numstocks)
StockReturns.iloc[:,0:numstocks].mul(portfolio_weights_ew, axis=1).sum(axis=1)
Date
2017-01-03    0.008082
2017-01-04    0.000161
2017-01-05    0.003448
         ...
Introduction à la gestion du risque de portefeuille en Python

Tracer les rendements en Python

Pour tracer les rendements quotidiens en Python :

StockPrices["Returns"] = StockPrices["Adj Close"].pct_change()
StockReturns = StockPrices["Returns"]
StockReturns.plot()

Introduction à la gestion du risque de portefeuille en Python

Tracer les rendements cumulatifs

Pour tracer les rendements cumulatifs de plusieurs portefeuilles :

import matplotlib.pyplot as plt
CumulativeReturns = ((1 + StockReturns).cumprod() - 1)
CumulativeReturns[["Portfolio","Portfolio_EW"]].plot()

Introduction à la gestion du risque de portefeuille en Python

Capitalisation boursière

Introduction à la gestion du risque de portefeuille en Python

Capitalisation boursière

Capitalisation boursière : Valeur des actions en circulation d'une entreprise.

Aussi appelée Market cap.

Introduction à la gestion du risque de portefeuille en Python

Portefeuilles pondérés par la capitalisation

Pour calculer la pondération selon la capitalisation boursière d'une action n :

$$ w_{mcap_n} = \frac{mcap_n}{ \sum_{i=1}^n mcap_i } $$

Introduction à la gestion du risque de portefeuille en Python

Pondérations par capitalisation en Python

Pour calculer les pondérations par capitalisation en Python, en supposant que vous avez les capitalisations de chaque entreprise :

import numpy as np
market_capitalizations = np.array([100, 200, 100, 100])
mcap_weights = market_capitalizations/sum(market_capitalizations)
mcap_weights
array([0.2, 0.4, 0.2, 0.2])
Introduction à la gestion du risque de portefeuille en Python

Passons à la pratique !

Introduction à la gestion du risque de portefeuille en Python

Preparing Video For Download...