Precificação de opções e o ativo subjacente
As opções são essencialmente apostas sobre a evolução futura do preço do ativo subjacente.
Por exemplo, uma opção de venda é valiosa quando o preço à vista (de mercado) cai abaixo do preço de exercício da opção. O titular da opção pode exercer a opção de vender o subjacente ao preço de exercício \(X\) e comprá-lo de volta ao preço à vista \(S < X\), obtendo lucro \(X - S\).
Neste exercício, você avaliará e visualizará uma opção de venda europeia sobre a ação IBM, aplicando novamente a fórmula de precificação Black-Scholes, à medida que o valor à vista \(S\) muda. 
O strike X = 140, o tempo até o vencimento T é de 1/2 ano e a taxa de juros sem risco é de 2%.
A volatilidade anualizada de IBM está disponível como sigma, e o eixo de plotagem option_axis está disponível para você adicionar seu gráfico.
Você pode encontrar o código-fonte da função black_scholes() aqui.
Este exercício faz parte do curso
Gerenciamento quantitativo de riscos em Python
Instruções do exercício
- Defina 
IBM_spotcomo sendo as primeiras 100 observações dos dados da série de tempo de preço à vistaIBM. - Calcule a matriz Numpy 
option_values, iterando por uma enumeração deIBM_spote usando a fórmula de preçoblack_scholes(). - No gráfico 
option_values, você verá a relação entre as alterações no preço à vista (em azul) e as alterações no valor da opção (em vermelho). 
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# 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()