Skip to content
All library documents

Why Calls and Puts Match When Strike Equals the Forward

Article Quant Q&A · Author: bcf

Summary

The document examines why European call and put prices are equal when the strike equals the asset’s forward price. Put-call parity states that their price difference is the spot price minus the discounted strike; setting the strike to the no-arbitrage forward makes that difference zero. A risk-neutral valuation argument reaches the same result by taking the discounted expectation of the terminal payoff difference, which is simply the asset price less the strike.

The discussion distinguishes the risk-neutral forward from the physical expectation, which can reflect a different drift. It also gives the Black formula intuition: at forward moneyness, the call and put expressions are symmetric. Equality does not mean the asset is equally likely to finish above or below the strike; an expected value equal to the strike does not establish equal probabilities. The parity result assumes consistent prices and market conventions, while the document’s broader claims about market completeness and real-world mispricing are not developed as a rigorous treatment.

Key ideas

  • Put-call parity fixes the difference between call and put values from spot, strike, and discounting.
  • When the strike equals the forward price, parity implies equal call and put values.
  • The forward price is a no-arbitrage quantity and need not equal the physical expected future price.
  • Risk-neutral valuation reproduces parity by valuing the terminal payoff difference.
  • Equal forward and strike levels do not imply equal probabilities of finishing above or below strike.

Tags

Full text
# Call and Put Prices Equal at Forward Price - Why?


# Call and Put Prices Equal at Forward Price - Why?












Consider a European call and put with values $C_t$ and $P_t$, respectively, under the Black-Scholes model. By put-call parity, $$ C_t - P_t = S_t - Ke^{-r(T-t)} $$ for expiration time $T$. Note if $K = S_te^{r(T-t)}$ we get $$ C_t = P_t. \qquad (1) $$ Of course, $S_te^{r(T-t)}$ is the time $T$-forward price of the stock at time $t$, which is arrived at from a no arbitrage argument and not just taking expectations. That is, $$ S_te^{r(T-t)} \neq E_P(S_T \mid S_t) = S_te^{\mu(T-t)}, $$ where $P$ is the physical measure and $\mu$ the drift rate.

I see that (1) holds simply by put-call parity, but I'm seeking a deeper understanding. Is it that, the call and put prices are equal because, under the risk-neutral measure $Q$, the expected value of the stock is the strike price (which is the forward price in this case)? That is, $$ S_te^{r(T-t)} = E_Q(S_T \mid S_t) = K, $$ and hence the stock is equally likely to finish above or below the strike? Or, is there something deeper going on, like a no arbitrage argument?

## Answer by parsiad (score 6)

https://quant.stackexchange.com/a/21735

Certainly, you must agree that $$ C_{T}-P_{T}=\left(S_{T}-K\right)^{+}-\left(K-S_{T}\right)^{+}=S_{T}-K. $$ Therefore, since $$ C_{t}=e^{-r\left(T-t\right)}E_{Q}\left[C_{T}\right]\text{ and }P_{t}=e^{-r\left(T-t\right)}E_{Q}\left[P_{T}\right] $$ it follows by the linearity of $E$ that $$ C_{t}-P_{t}=e^{-r\left(T-t\right)}E_{Q}\left[C_{T}-P_{T}\mid \mathcal{F}_{t}\right]=e^{-r\left(T-t\right)}E_{Q}\left[S_{T}-K\mid \mathcal{F}_{t}\right]=e^{-r\left(T-t\right)}\left(e^{r(T-t)}S_{t}-K\right). $$ The put-call parity follows.

## Answer by dchat15 (score 4)

https://quant.stackexchange.com/a/45247

The Call-Put parity $$C_{T}-P_{T}=\left(S_{T}-K\right)^{+}-\left(K-S_{T}\right)^{+}=S_{T}-K $$ will exist under any condition, since it is pretty much a mathematical fact.

However, I think the straight answer to your question $$ K = S_te^{r(T-t)} => C_{t} = P_{t} $$ is : not always, but only under an efficient market i.e. no-arbitrage, frictionless and complete market.

You can think of a not-so-rare market scenario when a very popular company issues its first stocks. Market expectations from the stock are high. It is not unusual to find call options to be highly overpriced compared to puts. Even when $K = S_te^{r(T-t)}$, you may find that $C_{t} >> P_{t}$. This may seem like a case of transient arbitrage, but think of an opposite scenario in case of a distressed stock - lack of liquidity may be the problem there. The efficient market hypothesis is not valid in these cases.

Fundamentally I think the definition of the forward price is the one that leads to call and put prices being equal, and not the other way round, i.e. $$ C_{t} = P_{t} => K = E\left[S_{T} \right] $$ This is converse to your question, but there is a subtle difference here which is important.

This forward price is the expected future price of the asset under some measure. It so happens that only under efficient market hypothesis a risk-neutral measure $Q$ can be shown to exist, and you can use this to prove that this forward price is equal to the expected future price $K = E_{Q}\left[S_{T} | S_{t} \right] = S_te^{r(T-t)}$.

A speculator can define an alternate probability measure $P$ under which $E_{P}\left[S_{T} | S_{t} \right] > S_te^{r(T-t)}$. He will speculate different Call and Put prices under this measure, but the Call-Put Parity will still hold. $$ C_{t}^{P} - P_{t}^{P} = E_{P}\left[(S_{T} - K)^{+}| S_{t}\right] - E_{P}\left[(K - S_{T})^{+} | S_{t}\right] = E_{P}\left[S_{T} | S_{t}\right] - K > 0 $$

## Answer by AKdemy (score 0)

https://quant.stackexchange.com/a/65888

Since you write under BS model, it is a tautology in this model. Assume you use Black, which you can without loss of generality, as one can easily be transformed into the other (FX is easier to show with covered interest rate parity in my opinion).

Looking at $$d1 = ( log(F/K) + 0.5*σ^2*t ) / (σ*sqrt(t))$$ $$ d2 = d1 - σ*sqrt(t)$$ it is not immediately obvious what happens. However, we can express $$ d2 = ( log(F/K) - 0.5*σ^2*t ) / (σ*sqrt(t))$$

Now, $log(1)= 0$ which means we are really just left with a positive and one negative value of the $\sigma$ term and all else is equal. The below uses Julia to define the Black model and get call, put as well as the result for $d1$ and $d2$ as an output. Julia uses 1-based indexing.

$N(d1)$ and $N(d2)$ always sum to 1; if $F=K$ and $N(-d1) = 1-N(d1)$ by definition (same for $d2$). Now, if $F = K$, you can immediately see that the equations will always be identical. Now, BS does not need Put-Call parity, but wikipedia shows how to get the put formula by applying it.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.