Why is put-call parity defined differently by CME and Wikipedia?

In general, Wikipedia defines Put-Call parity as:

C - P = D(F - K)
----------------
C = call price
P = put price
F = *FORWARD* price
K = strike


which can be re-written as:

C - P = S - D(K)
----------------
C = call price
P = put price
S = spot price
K = strike


Why does CME define Put-Call parity differently as:

F - C + P - K = 0 which can be re-written as:
C - P = F - K
----------------
C = call price
P = put price
F = *FUTURE* price
K = strike


Why is there no discount factor (D) on F or K in the CME formula?

• Does this formula difference have something to do with the fact that CME futures settle daily? – Denis Jul 29 '19 at 15:29
• I think it is because future prices are inherently "discounted" in the way they are quoted in the market. – jason m Jul 29 '19 at 17:33
• @Denis it's because the options are margined daily and you receive interest on your margin account. – will Aug 4 '19 at 12:52

There are two ways to look at it, a mathematical way or an alternative, intuitive way.

The alternative way can be to look at F as an alternative S with 0 interest rate discounting because we still have the cash (minus a small posted margin, and ignoring this) which earns the interest rate. So for the F’s value itself every day’s time value of money effect is zero and the daily mark-to-market makes a PNL transfer from the cash posted. More specifically , for S we need to use discounting to arrive at F price, but when F itself is the new spot, we don’t need further discount, as we don’t pay the value of F.

In the traditional way, $$(C_s - P_s) = D (F-K)$$ is correct when both $$C_s$$ and $$P_s$$ are options on Spot. But in the case of CME options, the options are all options on futures.

Let $$C_f, P_f$$ be options on futures. At option expiry, the option gets converted to a future not a spot , which has a discounting factor vs spot.

Making some assumptions on the options expiry date (which in practice is on or before futures expiry date, and also ignoring a delivery period which causes a further mismatch between futures expiry and spot conversion):

Similar to $$S = DF$$, one can write $$C_s - P_s = D(C_f-P_f)$$.

So it becomes:

$$D(C_f-P_f) = D(F-K)$$, or $$C_f -P_f = F-K$$.

However, in the case Equity indices , usually options on the Index (e.g. on CBOE, or on Eurex) are more popular than options on futures. For these options the original wiki formula would apply .

• great explanation! – Denis Aug 15 '19 at 13:13
• Thanks Denis, also thanks to Alex C for the nice and fluent editing – uday Aug 15 '19 at 16:39
• @uday I think, you are only looking at the expiration date, but put-call parity must also hold for $t<T$. Do you have any scientific source for this? Hull's "Options, Futures and other Derivatives" cleary says that for European future options put-call parity is $c + Ke^{-rT} = p + F_0e^{-rT}$. And furthermore, the "difference between this put-call parity and the one for a non-dividend-paying stock [...] is that the stock price [...] is replaced by the discounted futures price." – Cornholio Aug 16 '19 at 6:13
• @Cornholio , it’s incorrect in practice as it assumes that we pay the entire value of F, and hence we need to discount it, which is not true in practice. if you want to use the classical formula, think of your portfolio consisting of F + cash, where you earn the interest on cash separately (since you don’t pay cash to buy F, only a small margin), while the F has zero interest rate. Substitute 0 interest rate in your formula. – uday Aug 16 '19 at 11:35
• @uday Thanks for the answer. I also found a reference for this in Natenberg's "Option Volatility & Pricing" p. 268. The crucial point is that you have to distinguish between options that are subject to futures-type settlement (i.e. margin settlement) and options that are subject to stock-type settlement. For the former put-call parity is $C-P=F-K$, for the latter it is $C-P=D(F-K)$. – Cornholio Aug 16 '19 at 15:40