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
Istruzioni dell'esercizio
- Calcola il prezzo di una put europea al prezzo spot 70.
- Trova il
deltadell’opzione usando la funzionebs_delta()fornita al prezzo spot 70. - Calcola il
value_changedell’opzione quando il prezzo spot scende a 69,5. - Mostra che la somma della variazione del prezzo spot e di
value_changepesata 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) * ____ )