While trying to implement Black-Scholes delta hedging for a European call option using Python, I came across the following phenomena:

Given a portfolio consisting of longing a delta shares of stocks and shorting a call option, its value can never be greater than the strike price of the call option.

Is this true? If yes, can this be proven?

For reference, the following is my Python code: 

# 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()

The GBM_formula scripts can be found at my Github https://github.com/hongwai1920/Implement-Option-Pricing-Model-using-Python/blob/master/scripts/GBM.py. Same goes to Option and Greek https://github.com/hongwai1920/Implement-Option-Pricing-Model-using-Python/blob/master/scripts/Option.py

The following contain 20 plots of stock prices and the corresponding portfolio values.

The following contain 20 plots of stock prices and the corresponding portfolio values.


1 Answer 1


When you look at the Black Scholes formula it seems straightforward: The price of an option is \begin{equation} \mathrm C(\mathrm S,\mathrm t)= \mathrm N(\mathrm d_1)\mathrm S - \mathrm N(\mathrm d_2) \mathrm K \mathrm e^{-rt} \label{eq:1} \end{equation}

Your Delta is \begin{equation} \mathrm \Delta(\mathrm S,\mathrm t)= \mathrm N(\mathrm d_1) \label{eq:2} \end{equation}

So your portfolio value is \begin{equation} S\Delta(\mathrm S,\mathrm t)\mathrm - C(\mathrm S,\mathrm t)\mathrm = \mathrm N(\mathrm d_2) \mathrm K \mathrm e^{-rt} \label{eq:3} \end{equation}

Which is smaller than K as one term is a CDF and the other the exponential of a negative number, both smaller than 1.

  • $\begingroup$ Nice! Thanks for your explanation. $\endgroup$
    – Idonknow
    Jun 3, 2020 at 16:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.