Mientras tratando de implementar Black-Scholes de cobertura delta de una opción call Europea usando Python, me llegó a través de los siguientes fenómenos:
Dado un portafolio que consiste en el anhelo de un delta de acciones de acciones y cortocircuito de una opción call, su valor nunca puede ser mayor que el precio de ejercicio de la opción de llamada.
¿Es esto cierto? Si sí, este puede ser probada?
Para su referencia, la siguiente es mi código de Python:
# evolve stock prices under GBM SDE solution in N steps
# BS parameters
S0 = 120
K = 100
r = 0.05
d = 0
sigma = 0.2
T = 1
# number of discretization steps
N = 50
stock_prices = np.ndarray(shape = (50))
stock_prices[0] = S0
num_rows, num_cols = 5, 5
num_graphs = num_rows * num_cols
_, ax = plt.subplots(num_rows, num_cols, figsize = (15,8))
for j in range(num_graphs):
for i in range(1, N):
stock_prices[i] = GBM_formula(stock_prices[i-1], K, r, d, sigma, T)
ax[j // num_cols, j % num_cols].plot(stock_prices, label = 'Stock Prices')
# Black-Scholes hedging strategy
# hedging simulator
# A delta-neutral portfolio (from option's seller point of view) consists of longing delta shares of stocks and shorting a call option.
len_of_stock_prices = len(stock_prices)
portfolio = [0] * len_of_stock_prices
for i in range(len_of_stock_prices):
portfolio[i] = Greeks(stock_prices[i], K, r, d, sigma, T).delta() * stock_prices[i] - Option(stock_prices[i], K, r, d, sigma, T).european_call()
ax[j // num_cols, j % num_cols].plot(portfolio, label = 'Portfolio value')
ax[j // num_cols, j % num_cols].legend()
El GBM_formula
scripts que se pueden encontrar en mi Github https://github.com/hongwai1920/Implement-Option-Pricing-Model-using-Python/blob/master/scripts/GBM.py. Lo mismo va para Option
y Greek
https://github.com/hongwai1920/Implement-Option-Pricing-Model-using-Python/blob/master/scripts/Option.py
El siguiente contener 20 parcelas de los precios de las acciones y la correspondiente cartera de valores.