IniziaInizia gratis

Prezzo delle opzioni con Black-Scholes

Le opzioni sono il derivato più usato al mondo per gestire il rischio di prezzo degli asset. In questo esercizio prezzarai una call europea sul titolo IBM usando la formula di valutazione delle opzioni di Black-Scholes. I dati IBM_returns sono già caricati nel tuo ambiente di lavoro.

Per prima cosa calcolerai la volatilità sigma di IBM_returns, come deviazione standard annualizzata.

Poi userai la funzione black_scholes(), creata per questo e i prossimi esercizi, per prezzare l’opzione a due livelli di volatilità: sigma e due volte sigma.

Il prezzo di esercizio K, cioè il prezzo a cui l’investitore ha il diritto (ma non l’obbligo) di comprare IBM, è 80. Il tasso risk-free r è 2% e il prezzo spot di mercato S è 90.

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

  • Calcola la volatilità di IBM_returns come deviazione standard annualizzata sigma (hai già annualizzato la volatilità nel Capitolo 1).
  • Calcola il prezzo della call europea di Black-Scholes value_s usando la funzione black_scholes() fornita, quando la volatilità è sigma.
  • Trova poi il prezzo dell’opzione di Black-Scholes value_2s quando la volatilità è invece 2 * sigma.
  • Visualizza value_s e value_2s per vedere come cambia il prezzo dell’opzione con un aumento della volatilità.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

# Compute the volatility as the annualized standard deviation of IBM returns
sigma = np.sqrt(____) * IBM_returns.____

# Compute the Black-Scholes option price for this volatility
value_s = black_scholes(S = 90, X = 80, T = 0.5, r = 0.02, 
                        sigma = ____, option_type = "call")

# Compute the Black-Scholes option price for twice the volatility
value_2s = ____(S = 90, X = 80, T = 0.5, r = 0.02, 
                sigma = ____, option_type = "call")

# Display and compare both values
print("Option value for sigma: ", ____, "\n",
      "Option value for 2 * sigma: ", ____)
Modifica ed esegui il codice