Rendements du portefeuille

Introduction à l'analyse de portefeuille en Python

Charlotte Werger

Data Scientist

Qu'est-ce que les pondérations d'un portefeuille ?

  • La pondération est le pourcentage d'un actif dans un portefeuille
  • L'ensemble des pondérations doit totaliser 100 %
  • Pondérations et diversification (quelques gros placements vs plusieurs petits)

Pondérations optimales pour un portefeuille crypto

Introduction à l'analyse de portefeuille en Python

Calcul des pondérations

$$

  • Calcule : valeur du titre divisée par la valeur totale du portefeuille
  • Portefeuille équipondéré ou pondéré par capitalisation
  • Les pondérations guident votre stratégie ; on peut les régler pour optimiser le risque et le rendement attendu

Calcul des pondérations de portefeuille

Introduction à l'analyse de portefeuille en Python

Rendements du portefeuille

  • Variations de valeur dans le temps

  • $ Return_t = \frac{V_t - V_{t-1}}{V_{t-1}} $

Rendements du portefeuille et de l'indice S&P 500

Introduction à l'analyse de portefeuille en Python

Rendements du portefeuille

$$

  • $ Return_t = \frac{V_t - V_{t-1}}{V_{t-1}} $
  • Moyennes historiques souvent utilisées pour estimer le rendement attendu
  • Attention aux confusions : rendement moyen, cumulatif, actif et annualisé
Introduction à l'analyse de portefeuille en Python

Calcul des rendements à partir des prix

df.head(2)
              AAPL     AMZN      TSLA    
date                    
2018-03-25    13.88    114.74    92.48    
2018-03-26    13.35    109.95    89.79
# Calculate returns over each day
returns = df.pct_change()
returns.head(2)
              AAPL          AMZN        TSLA    
date                
2018-03-25    NaN            NaN        NaN    
2018-03-26    -0.013772    0.030838    0.075705
Introduction à l'analyse de portefeuille en Python

Calcul des rendements à partir des prix

weights = np.array([0, 0.50, 0.25])
# Calculate average return for each stock
meanDailyReturns = returns.mean()
# Calculate portfolio return 
portReturn = np.sum(meanDailyReturns*weights)
print (portReturn)
0.05752375881537723

Introduction à l'analyse de portefeuille en Python

Calcul des rendements cumulatifs

# Calculate daily portfolio returns
returns['Portfolio']= returns.dot(weights)
# Let's see what it looks like
returns.head(3)

                AAPL        AMZN        TSLA        Portfolio
date                    
2018-03-23    -0.020974    -0.026739    -0.029068   -0.025880
2018-03-26    -0.013772    0.030838     0.075705    0.030902
Introduction à l'analyse de portefeuille en Python

Calcul des rendements cumulatifs

# Compound the percentage returns over time 
daily_cum_ret=(1+returns).cumprod()
# Plot your cumulative return 
daily_cum_ret.Portfolio.plot()

Introduction à l'analyse de portefeuille en Python

Graphique des rendements cumulatifs

Graphique des rendements cumulatifs du portefeuille

Introduction à l'analyse de portefeuille en Python

Passons à la pratique !

Introduction à l'analyse de portefeuille en Python

Preparing Video For Download...