Rendimenti del portafoglio

Introduzione all'analisi di portafoglio in Python

Charlotte Werger

Data Scientist

Cosa sono i pesi di portafoglio?

  • Il peso è la percentuale di un asset nel portafoglio
  • La somma dei pesi deve fare 100%
  • Pesi e diversificazione (pochi investimenti grandi vs molti piccoli)

Pesi ottimali per un portafoglio crypto

Introduzione all'analisi di portafoglio in Python

Calcolare i pesi di portafoglio

$$

  • Si calcolano dividendo il valore di un titolo per il valore totale del portafoglio
  • Portafoglio equally weighted o market cap weighted
  • I pesi definiscono la strategia e si possono ottimizzare per rischio e rendimento atteso

Calcolo dei pesi di portafoglio

Introduzione all'analisi di portafoglio in Python

Rendimenti del portafoglio

  • Variazioni di valore nel tempo

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

Rendimenti del portafoglio e indice S&P500

Introduzione all'analisi di portafoglio in Python

Rendimenti del portafoglio

$$

  • $ Return_t = \frac{V_t - V_{t-1}}{V_{t-1}} $
  • Le medie storiche si usano spesso per stimare il rendimento atteso
  • Attenzione: rendimento medio, cumulato, attivo e annualizzato non sono la stessa cosa
Introduzione all'analisi di portafoglio in Python

Calcolare i rendimenti dai prezzi

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
Introduzione all'analisi di portafoglio in Python

Calcolare i rendimenti dai prezzi

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

Introduzione all'analisi di portafoglio in Python

Calcolare i rendimenti cumulati

# 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
Introduzione all'analisi di portafoglio in Python

Calcolare i rendimenti cumulati

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

Introduzione all'analisi di portafoglio in Python

Grafico rendimenti cumulati

Grafico dei rendimenti cumulati del portafoglio

Introduzione all'analisi di portafoglio in Python

Ayo berlatih!

Introduzione all'analisi di portafoglio in Python

Preparing Video For Download...