IniziaInizia gratis

Prezzo delle opzioni e asset sottostante

Le opzioni sono sostanzialmente delle scommesse sull’evoluzione futura del prezzo dell’asset sottostante.

Per esempio, una put è preziosa quando il prezzo spot (di mercato) scende al di sotto del prezzo di esercizio dell’opzione. Il titolare può esercitare l’opzione per vendere il sottostante allo strike \(X\) e ricomprarlo allo spot \(S < X\), ottenendo un profitto pari a \(X - S\).

In questo esercizio valuterai e visualizzerai una put europea sull’azione IBM, applicando ancora la formula di valutazione di Black-Scholes, al variare dello spot \(S\).

Lo strike X = 140, la scadenza T è di 1/2 anno e il tasso privo di rischio è del 2%.

La volatilità annualizzata di IBM è disponibile come sigma, e l’asse di disegno option_axis è disponibile per aggiungere il tuo grafico.

Puoi trovare il codice sorgente della funzione black_scholes() qui.

Questo esercizio fa parte del corso

Gestione quantitativa del rischio in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Imposta IBM_spot come le prime 100 osservazioni della serie temporale dei prezzi spot di IBM.
  • Calcola l’array Numpy option_values, iterando su un’enumerazione di IBM_spot e usando la formula di pricing black_scholes().
  • Traccia option_values per vedere la relazione tra le variazioni del prezzo spot (in blu) e le variazioni del valore dell’opzione (in rosso).

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Select the first 100 observations of IBM data
IBM_spot = IBM[:____]

# Initialize the European put option values array
option_values = np.zeros(IBM_spot.size)

# Iterate through IBM's spot price and compute the option values
for i,S in enumerate(____.values):
    option_values[i] = black_scholes(S = ____, X = 140, T = 0.5, r = 0.02, 
                        sigma = ____, option_type = "put")

# Display the option values array
option_axis.plot(____, color = "red", label = "Put Option")
option_axis.legend(loc = "upper left")
plt.show()
Modifica ed esegui il codice