Media, varianza e distribuzione normale

Introduzione alla gestione del rischio di portafoglio in Python

Dakota Wixom

Quantitative Analyst | QuantCourse.com

Momenti delle distribuzioni

Le distribuzioni di probabilità hanno i seguenti momenti:

  • 1) Media ($ \mu $)
  • 2) Varianza ( $ \sigma ^ 2 $ )
  • 3) Asimmetria
  • 4) Curtosi
Introduzione alla gestione del rischio di portafoglio in Python

Esistono molti tipi di distribuzioni. Alcune sono normali e altre no. Una variabile casuale con distribuzione gaussiana si dice normalmente distribuita.

Le distribuzioni normali hanno queste proprietà:

  • Media = $ \mu $
  • Varianza = $ \sigma ^ 2 $
  • Asimmetria = 0
  • Curtosi = 3

Introduzione alla gestione del rischio di portafoglio in Python

La normale standard

La normale standard è un caso particolare della distribuzione normale quando:

  • $ \sigma $ = 1
  • $ \mu $ = 0
Introduzione alla gestione del rischio di portafoglio in Python

Confronto con una distribuzione normale

  • Le distribuzioni normali hanno asimmetria ~0 e curtosi ~3.
  • I rendimenti finanziari tendono a non essere normali
  • I rendimenti possono avere curtosi elevata
Introduzione alla gestione del rischio di portafoglio in Python

Confronto con una distribuzione normale

Introduzione alla gestione del rischio di portafoglio in Python

Calcolare i rendimenti medi in Python

Per calcolare il rendimento medio giornaliero, usa la funzione np.mean():

import numpy as np
np.mean(StockPrices["Returns"])
0.0003

Per calcolare il rendimento medio annualizzato assumendo 252 giorni di negoziazione in un anno:

import numpy as np
((1+np.mean(StockPrices["Returns"]))**252)-1
0.0785
Introduzione alla gestione del rischio di portafoglio in Python

Deviazione standard e varianza

Deviazione standard (volatilità)

  • Varianza = $ \sigma ^ 2 $
  • Spesso indicata come $ \sigma $, o chiamata volatilità
  • Un investimento con $ \sigma $ più alta è considerato più rischioso
  • Misura la dispersione dei rendimenti

Introduzione alla gestione del rischio di portafoglio in Python

Deviazione standard e varianza in Python

Supponi di avere i rendimenti azionari pre-caricati nell'oggetto StockData. Per calcolare la deviazione standard periodica dei rendimenti:

import numpy as np
np.std(StockPrices["Returns"])
0.0256

Per calcolare la varianza, eleva al quadrato la deviazione standard:

np.std(StockPrices["Returns"])**2
0.000655
Introduzione alla gestione del rischio di portafoglio in Python

Scalare la volatilità

  • La volatilità scala con la radice quadrata del tempo
  • In genere si assume 252 giorni di negoziazione in un anno e 21 in un mese

Introduzione alla gestione del rischio di portafoglio in Python

Scalare la volatilità in Python

Supponi di avere i rendimenti azionari pre-caricati nell'oggetto StockData. Per calcolare la volatilità annualizzata dei rendimenti:

import numpy as np
np.std(StockPrices["Returns"]) * np.sqrt(252)
0.3071
Introduzione alla gestione del rischio di portafoglio in Python

Esercitiamoci!

Introduzione alla gestione del rischio di portafoglio in Python

Preparing Video For Download...