Best way to remember put-call parity

I learned the put and call parity a couple of times in my life, and recently I got a training and when talking about put-call parity, I knew what we were talking about, but I did not immediately remembered it. Why? Because I learned it the wrong way.

What I learned was that put-call parity is:

c(t) + sthg = p(t) + sthg

, where sthg is the underlying in one case and the strike in the other. The problem is to remember which is what. Is it c(t) + S = p(t) + K or c(t) + K = p(t) + S? (note: I wrote K as an approximation of real value for sake of better clarity). Obviously when you know all the ingredients, you can find the exact formula back, within a few minutes. But that’s precisely the point! I shouldn’t need a few minutes to remember it. It should  be straightforward.

Why didn’t I remember it right away?

  1. wrong starting point: the essence of put-call parity is a spread, not a sum.
    Do not learn put-call parity as being: c(t) + sthg = p(t) + sthg.
    rather learn it as: c(t) – p(t) = sthg – sthg 

    Presenting it this way is far more intuitive for at least two reasons:

    • option components are regrouped together => it is “options vs. sthg” and not “option + sthg vs. option + sthg” which is in itself harder to remember
    • the key aspect of the relationship is displayed: spread. Put-call parity is not about two sums being equal, in its essence, the message behing it it the spread. Put and call prices are linked therefore, expressing put-call parity is expressing this link, ie. defining what the spread should be
  2. think graphically not with equations! If you believe that the best (or only) way to demonstrate put-call parity is via solving equations, then you will definitely need these 3 minutes to find the relation back. Adding or subtracting max() functions is not easy. You must say: in case 1, the payoff is X. in case 2, the payoff is Y. in case 3, … and so on. This is extremely hard to remember and time consuming.A far better way is to think graphically, and perform aggregation of long/short positions graphically.
    The payoff at maturity of a long/short call or put is something well known and very quickly remembered. Mental graphical aggregation of these payoff is an extremely fast process (at least much more faster than adding max() equations) and allow to find back put-call parity in a few seconds.

Here is a long call:

payoff at maturity of a long call

Here is a short put:

payoff at maturity for a short put

Here is the payoff of long call + short put:

payoff of a long call and a short put position

Here you should recognize that it’s almost the payoff from a long position in the underlying (which is simply y=x):

payoff of long position in the underlying

This long position in the underlying needs to be translated down by -K. Why -K? Because stock prices are floored by 0 (they cannot be negative) while a short put position has a maximum loss of -K at maturity. How is the translation performed? Simply by entering a short cash position with a nominal set to K.

payoff from long position in underlying + short cash position of nominal K

What have we learned so far?

At maturity, the spread between a call payoff and a put payoff is simply the spread between the underlying spot and the options’ strike. If two positions lead to the same payoff at maturity, then they must have the same value at any time. At any time t, the value of a call is noted c(t), the value of a put is noted p(t), the value of the underlying is simply its quoted price on the market S(t) and the value of K units of currency at maturity is worth today K*DF(t,T) where DF(t,T) is a discount factor from T to t (usually e-r(T-t) in its continuous form).

As such, put-call parity is:

c(t) - p(t) = S(t) - K*e-r(T-t)

and especially at maturity, c(T) – p(T) = S(T) – K. You win/lose the difference between spot price – strike.


put-call parity teaches us that the difference in price between a call and a put with the same characteristics (underlying, maturity and strike) is simply determined by their payoff components (S and K) discounted today
ie. the price of a call and a put are not independent!

Key steps to quickly find back put-call parity and never forget it:

  1. it’s a spread relation, giving the difference in price between a call and a similar put as a function of its components
  2. fastest way to find it back is graphically (relying on payoff equation is much more slower for the brain), visualizing payoff of spread position at maturity
  3. discount spread-payoff today to get put-call parity (arbitrage-free pricing)



Post a Comment

Your email is never published nor shared. You're allow to say what you want...