IniziaInizia gratis

Usare le opzioni per copertura (hedging)

Supponi di avere un portafoglio d’investimento con un solo asset, IBM. Eseguirai la copertura del rischio del portafoglio usando il delta hedging con una opzione put europea su IBM.

Per prima cosa, valuta la put europea usando la formula di pricing di Black-Scholes, con strike X pari a 80 e scadenza T di 1/2 anno. Il tasso privo di rischio è 2% e lo spot S è inizialmente 70.

Poi crea una delta hedge calcolando il delta dell'opzione con la funzione bs_delta() e usalo per coprirti contro una variazione del prezzo dell’azione a 69,5. Il risultato è un portafoglio delta neutrale composto sia dall’opzione sia dal titolo.

Entrambe le funzioni black_scholes() e bs_delta() sono disponibili nel tuo workspace.

Puoi trovare il codice sorgente delle funzioni black_scholes() e bs_delta() qui.

Questo esercizio fa parte del corso

Gestione quantitativa del rischio in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Calcola il prezzo di una put europea al prezzo spot 70.
  • Trova il delta dell’opzione usando la funzione bs_delta() fornita al prezzo spot 70.
  • Calcola il value_change dell’opzione quando il prezzo spot scende a 69,5.
  • Mostra che la somma della variazione del prezzo spot e di value_change pesata per 1/delta è (vicina a) zero.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Compute the annualized standard deviation of `IBM` returns
sigma = np.sqrt(252) * IBM_returns.std()

# Compute the Black-Scholes value at IBM spot price 70
value = black_scholes(S = ____, X = 80, T = 0.5, r = 0.02, 
                      sigma = sigma, option_type = "put")
# Find the delta of the option at IBM spot price 70
delta = bs_delta(S = ____, X = 80, T = 0.5, r = 0.02, 
                 sigma = sigma, option_type = "put")

# Find the option value change when the price of IBM falls to 69.5
value_change = ____(S = 69.5, X = 80, T = 0.5, r = 0.02, 
                             sigma = sigma, option_type = "put") - ____

print( (69.5 - 70) + (1/delta) * ____ )
Modifica ed esegui il codice