Copertura del portafoglio: compensare il rischio

Gestione quantitativa del rischio in Python

Jamsheed Shorish

Computational Economist

Stabilità del portafoglio

  • VaR/CVaR: perdita potenziale del portafoglio per un dato livello di confidenza
  • Ottimizzazione di portafoglio: pesi "migliori"
    • Ma la volatilità resta!
  • Investitori istituzionali: stabilità del portafoglio contro variazioni volatili
    • Fondi pensione: ca. 20.000 miliardi USD
Gestione quantitativa del rischio in Python

Giorni di pioggia, giorni di sole

  • Portafoglio di investimento: azienda di occhiali da sole
    • Fattore di rischio: meteo

Immagine di occhiali da sole su un materassino giallo

Gestione quantitativa del rischio in Python

Giorni di pioggia, giorni di sole

  • Portafoglio di investimento: azienda di occhiali da sole
    • Fattore di rischio: meteo (pioggia)
    • Più pioggia => valore aziendale più basso
    • Valore aziendale più basso => prezzo azione più basso
    • Prezzo azione più basso => valore del portafoglio più basso

Immagine di occhiali da sole su un materassino giallo   Immagine di gocce di pioggia su un vetro

Gestione quantitativa del rischio in Python

Giorni di pioggia, giorni di sole

  • Portafoglio di investimento: azienda di occhiali da sole
    • Fattore di rischio: meteo (pioggia)
    • Più pioggia => valore aziendale più basso
    • Valore aziendale più basso => prezzo azione più basso
    • Prezzo azione più basso => valore del portafoglio più basso
  • Seconda opportunità: azienda di ombrelli
    • Più pioggia => più valore!

Immagine di ombrelli piegati multicolori in un portaombrelli

Gestione quantitativa del rischio in Python

Giorni di pioggia, giorni di sole

  • Portafoglio di investimento: azienda di occhiali da sole
    • Fattore di rischio: meteo (pioggia)
    • Più pioggia => valore aziendale più basso
    • Valore aziendale più basso => prezzo azione più basso
    • Prezzo azione più basso => valore del portafoglio più basso
  • Seconda opportunità: azienda di ombrelli
    • Più pioggia => più valore!
  • Portafoglio: occhiali da sole & ombrelli, più stabile
    • La volatilità della pioggia è compensata

Immagine di occhiali da sole su un materassino giallo   Immagine di ombrelli piegati multicolori in un portaombrelli

Gestione quantitativa del rischio in Python

Hedging

  • Hedging: compensare la volatilità con un altro asset
  • Cruciale per la gestione del rischio degli investitori istituzionali
  • Flusso di rendimento aggiuntivo che si muove in senso opposto al portafoglio
  • Usato in fondi pensione, ForEx, futures, derivati...
    • 2019: mercato degli hedge fund ca. 3,6 trilioni USD
Gestione quantitativa del rischio in Python

Strumenti di copertura: opzioni

  • Derivato: strumento di copertura
  • Opzione europea: derivato molto diffuso
    • Opzione call europea: diritto (non obbligo) di acquistare l'azione a prezzo fisso $X$ alla data $M$
    • Opzione put europea: diritto (non obbligo) di vendere l'azione a prezzo fisso $X$ alla data $M$
    • L'azione è l'"underlying" dell'opzione
      • Prezzo di mercato corrente $S$ = spot price
    • $X$ = strike price
    • $M$ = maturity date
Gestione quantitativa del rischio in Python

Pricing delle opzioni Black-Scholes

  • Il valore dell'opzione cambia quando cambia il prezzo dell'underlying => si può usare per coprire il rischio
  • Serve valutare l'opzione: richiede ipotesi su mercato, underlying, tasso d'interesse, ecc.
  • Formula di pricing di Black-Scholes: Fisher Black e il Nobel Myron Scholes (1973)
    • Richiede per ogni tempo $t$:
      • spot price $S$
      • strike price $X$
      • tempo a scadenza $T := M - t$
      • tasso privo di rischio $r$
      • volatilità dei rendimenti dell'underlying $\sigma$ (deviazione standard)
1 Black, F. e M. Scholes (1973). "The Pricing of Options and Corporate Liabilities", Journal of Political Economy vol. 81 n. 3, pp. 637–654.{{3}}
Gestione quantitativa del rischio in Python

Ipotesi della formula di Black-Scholes

  • Struttura di mercato
    • Mercati efficienti
    • Nessun costo di transazione
    • Tasso privo di rischio
  • Azione sottostante
    • Nessun dividendo
    • Rendimenti distribuiti normalmente
  • Calcolatrice online: https://www.math.drexel.edu/~pg/fin/VanillaCalculator.html
  • Funzione Python black_scholes(): link al codice sorgente negli esercizi
Gestione quantitativa del rischio in Python

Calcolare il valore dell'opzione con Black-Scholes

  • Formula di pricing Black-Scholes black_scholes()
  • Parametri richiesti: $S$, $X$, $T$ (in frazioni d'anno), $r$, $\sigma$
  • Usa il option_type desiderato ('call' o 'put')

 

S = 70; X = 80; T = 0.5; r = 0.02; sigma = 0.2

option_value = black_scholes(S, X, T, r, sigma, option_type = "put")
print(option_value)
10.31222171237868
Gestione quantitativa del rischio in Python

Coprire una posizione azionaria con un'opzione

  • Copri un'azione con una put europea: l'underlying è lo stesso dell'azione in portafoglio
  • Se lo spot $S$ scende ($\Delta S < 0$) => il valore dell'opzione $V$ sale ($\Delta V > 0$)
  • Delta di un'opzione: $\Delta := \frac{\partial V}{\partial S}$
  • Copri una quota con $\frac{1}{\Delta}$ opzioni
  • Delta neutra: $\Delta S + \frac{\Delta V}{\Delta} = 0$; azione coperta!
  • Funzione Python bs_delta(): calcola il delta dell'opzione
    • Link al sorgente disponibile negli esercizi
Gestione quantitativa del rischio in Python

Esercitiamoci!

Gestione quantitativa del rischio in Python

Preparing Video For Download...