CommencerCommencer gratuitement

Valorisation d’options et actif sous-jacent

Les options sont essentiellement des paris sur l’évolution future du prix de l’actif sous-jacent.

Par exemple, une option put prend de la valeur lorsque le prix spot (de marché) passe en dessous du prix d’exercice de l’option. Le détenteur peut alors exercer l’option pour vendre le sous-jacent au prix d’exercice X, puis le racheter au spot S < X, réalisant un profit de X − S.

Dans cet exercice, vous allez valoriser et visualiser une option put européenne sur l’action IBM, en appliquant à nouveau la formule de Black‑Scholes, au fur et à mesure que le spot S varie.

Le prix d’exercice X = 140, l’échéance T est de 1/2 an, et le taux d’intérêt sans risque est de 2 %.

La volatilité annualisée de IBM est disponible sous sigma, et l’axe de tracé option_axis est prêt à accueillir votre graphique.

Vous pouvez consulter le code source de la fonction black_scholes() ici.

Cet exercice fait partie du cours

Gestion quantitative des risques en Python

Afficher le cours

Instructions

  • Définissez IBM_spot comme les 100 premières observations de la série temporelle des prix spot IBM.
  • Calculez le tableau Numpy option_values en itérant sur une énumération de IBM_spot et en utilisant la formule de valorisation black_scholes().
  • Tracez option_values pour visualiser la relation entre les variations du prix spot (en bleu) et les variations de la valeur de l’option (en rouge).

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

# 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()
Modifier et exécuter le code