Rendimenti finanziari

Introduzione alla gestione del rischio di portafoglio in Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Panoramica del corso

Impara ad analizzare le distribuzioni dei rendimenti, costruire portafogli e ridurre il rischio, e individuare i fattori chiave che guidano i rendimenti.

  • Rischio d'investimento univariato
  • Investire in portafogli
  • Investire per fattori
  • Prevedere e ridurre il rischio
Introduzione alla gestione del rischio di portafoglio in Python

Rischio d'investimento

Cos'è il rischio?

  • Nei mercati finanziari il rischio misura l'incertezza
  • Dispersione o varianza dei rendimenti finanziari

Come si misura di solito il rischio?

  • Deviazione standard o varianza dei rendimenti giornalieri
  • Curtosi della distribuzione dei rendimenti giornalieri
  • Asimmetria (skewness) della distribuzione dei rendimenti giornalieri
  • Drawdown storico
Introduzione alla gestione del rischio di portafoglio in Python

Rischio finanziario

Rendimenti

Probabilità

Introduzione alla gestione del rischio di portafoglio in Python

Due modi di misurare il rendimento

  • I rendimenti derivano dai prezzi azionari
  • I rendimenti discreti (semplici) sono i più usati e rappresentano i movimenti di prezzo periodici (ad es. giornalieri, settimanali, mensili, ecc.)
  • I rendimenti logaritmici sono spesso usati nella ricerca accademica e nella modellizzazione finanziaria. Presuppongono capitalizzazione continua.

Introduzione alla gestione del rischio di portafoglio in Python

Calcolo dei rendimenti azionari

  • I rendimenti discreti si calcolano come variazione di prezzo in percentuale rispetto al prezzo del periodo precedente

Introduzione alla gestione del rischio di portafoglio in Python

Calcolo dei rendimenti logaritmici

  • I rendimenti logaritmici si calcolano come differenza tra i logaritmi di due prezzi
  • I rendimenti logaritmici si sommano nel tempo, mentre i rendimenti discreti si aggregano tra asset

 

$$ Rl = \ln(\frac{P_{t_2}}{P_{t_1}}) $$

oppure in modo equivalente

$$ Rl = \ln(P_{t_2}) - \ln(P_{t_1}) $$

Introduzione alla gestione del rischio di portafoglio in Python

Calcolare i rendimenti in Python

Passo 1:

Carica i prezzi azionari e salvali in un DataFrame pandas indicizzato per data:

import pandas as pd 
StockPrices = pd.read_csv('StockData.csv', parse_dates=['Date'])
StockPrices = StockPrices.sort_values(by='Date')
StockPrices.set_index('Date', inplace=True)
Introduzione alla gestione del rischio di portafoglio in Python

Calcolare i rendimenti in Python

Passo 2:

Calcola i rendimenti giornalieri dei prezzi di chiusura rettificati e aggiungili come nuova colonna nel DataFrame.

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

Introduzione alla gestione del rischio di portafoglio in Python

Visualizzare le distribuzioni dei rendimenti

import matplotlib.pyplot as plt
plt.hist(StockPrices["Returns"].dropna(), bins=75, density=False)
plt.show()

Introduzione alla gestione del rischio di portafoglio in Python

Esercitiamoci!

Introduzione alla gestione del rischio di portafoglio in Python

Preparing Video For Download...