Skip to content

Put-call parity and synthetic forwards

After this lesson, you should be able to:

  • show that long call plus short put has a forward-style expiry payoff;
  • state the exact contract terms that must match;
  • solve a missing European call or put value using discounted strike and known income.

For the same derivative-underlying-value, option-strike-price K\explain{option-strike-price}{K}, and option-expiry-time Topt\explain{option-expiry-time}{T_{\mathrm{opt}}}, the holder payoffs satisfy this identity in every state at expiry:

max⁡ ⁣(STopt−K,0)−max⁡ ⁣(K−STopt,0)=STopt−K\max\!\left(\explain{derivative-underlying-value}{S}_{\explain{option-expiry-time}{T_{\mathrm{opt}}}}-\explain{option-strike-price}{K},0\right) -\max\!\left(\explain{option-strike-price}{K}-\explain{derivative-underlying-value}{S}_{\explain{option-expiry-time}{T_{\mathrm{opt}}}},0\right) =\explain{derivative-underlying-value}{S}_{\explain{option-expiry-time}{T_{\mathrm{opt}}}}-\explain{option-strike-price}{K}

The left side is long call plus short put. The right side is the payoff of a long forward-style exchange at strike K\explain{option-strike-price}{K}. This is an identity in every expiry state, not a forecast or an average.

Let the underlying-income-present-value be I0\explain{underlying-income-present-value}{I_0}. The local prepaid-forward-value is F~0,Topt=S0−I0\explain{prepaid-forward-value}{\widetilde{F}_{0,\explain{option-expiry-time}{T}_{\mathrm{opt}}}}=\explain{derivative-underlying-value}{S}_0-\explain{underlying-income-present-value}{I_0}. Applying the law of one price to the matched portfolios, with European call value c0\explain{call-option-value}{c}_0, European put value p0\explain{put-option-value}{p}_0, and the strike-payment discount-factor D(0,Topt)\explain{discount-factor}{D}(0,\explain{option-expiry-time}{T_{\mathrm{opt}}}), gives put-call parity in present-value form:

c0−p0=F~0,Topt−KD(0,Topt)\explain{call-option-value}{c}_0-\explain{put-option-value}{p}_0 =\explain{prepaid-forward-value}{\widetilde{F}_{0,\explain{option-expiry-time}{T}_{\mathrm{opt}}}} -\explain{option-strike-price}{K} \explain{discount-factor}{D}(0,\explain{option-expiry-time}{T_{\mathrm{opt}}})

The prepaid forward value is the discounted forward-price F0,Topt\explain{forward-price}{F}_{0,\explain{option-expiry-time}{T_{\mathrm{opt}}}} for delivery at option expiry:

F~0,Topt=D(0,Topt)F0,Topt\explain{prepaid-forward-value}{\widetilde{F}_{0,\explain{option-expiry-time}{T}_{\mathrm{opt}}}} =\explain{discount-factor}{D}(0,\explain{option-expiry-time}{T_{\mathrm{opt}}})\explain{forward-price}{F}_{0,\explain{option-expiry-time}{T_{\mathrm{opt}}}}

Here F0,Topt\explain{forward-price}{F}_{0,\explain{option-expiry-time}{T_{\mathrm{opt}}}} is the current forward price, not the fixed delivery price of an existing forward. Substituting it into the present-value form gives put-call parity in forward form:

c0−p0=D(0,Topt)(F0,Topt−K)\explain{call-option-value}{c}_0-\explain{put-option-value}{p}_0 =\explain{discount-factor}{D}(0,\explain{option-expiry-time}{T_{\mathrm{opt}}}) \left(\explain{forward-price}{F}_{0,\explain{option-expiry-time}{T_{\mathrm{opt}}}}-\explain{option-strike-price}{K}\right)

Hull derives put-call parity by comparing the expiry values of two portfolios and invoking no arbitrage[1].

For c0=8\explain{call-option-value}{c}_0=8, F~0,Topt=97\explain{prepaid-forward-value}{\widetilde{F}_{0,\explain{option-expiry-time}{T}_{\mathrm{opt}}}}=97, K=100\explain{option-strike-price}{K}=100, and D(0,Topt)=0.95\explain{discount-factor}{D}(0,\explain{option-expiry-time}{T_{\mathrm{opt}}})=0.95, the present-value form gives the put value:

p0=8−97+100(0.95)=6\explain{put-option-value}{p}_0=8-97+100(0.95)=6

The equality needs the same underlying, strike, expiry, exercise style, quantity, income treatment, and settlement basis. American exercise adds a choice of exercise time. A knockout triggered by default changes the cash flows in the default state. If both options terminate on issuer default, the call payoff minus the put payoff is zero in that state. So the matching forward-style claim must also terminate on issuer default. The formula for options without a knockout does not apply unchanged.

Knowledge check 4.3.1 Put-call parity

Link to Knowledge check 4.3.1: Put-call parity

Put-call parity does not depend on an option pricing model. It still relies on the stated assumptions about trading, funding, income, and matching contract terms. Put-call parity does not give an option price by itself, and it contains no volatility model.

The parity functions are implemented in a pure tested domain module. Sources, notation, examples, code, and answer keys remain draft pending independent human review.

  1. Hull, Options, Futures, and Other Derivatives (8th ed., 2012). Ch. 10 §10.4, printed pp. 221-225, European put-call parity and arbitrage portfolios. draft ↩
Notation used on this page (15)
F~0,Topt\widetilde{F}_{0,T_{\mathrm{opt}}}Prepaid forward valuedraft

Current value of receiving the underlying at expiry with no delivery payment then. Under the known-income model it equals spot value less the present value of income paid before expiry.

Units: stated currency at valuation time per unit of underlying

A(0,t)A(0,t)Accumulation factordraft

Grows one current unit over a stated future horizon under the selected rate model.

Units: dimensionless currency-units per current currency-unit

ctc_tEuropean call valuedraft

Current non-negative value to the holder of a European call under the stated model, before any financing or transaction costs.

Units: stated currency at model time

mmCompounding frequencydraft

Number of equal compounding periods per year under the stated rate convention, a positive integer fixed by the model convention.

Units: compounding periods per year

StS_tDerivative underlying valuedraft

Value at model time t of one unit of the asset or claim named as the derivative's underlying; a positive quoted value, while a position in the underlying carries its own signed quantity.

Units: stated currency per unit of underlying at model time

D(0,t)D(0,t)Discount factordraft

Converts one deterministic future unit into value at valuation time.

Units: current currency-units per future currency-unit

TfwdT_{\mathrm{fwd}}Forward delivery timedraft

Future model time when the forward counterparties exchange the underlying and delivery payment; a contract date shared by the long and short, not the underlying asset's maturity.

Units: model-years from the stated valuation time

Ft,TfwdF_{t,T_{\mathrm{fwd}}}Forward pricedraft

Delivery price that would give a newly struck forward for the stated delivery time zero current value; a quoted contract rate rather than a cash amount received at quotation time.

Units: delivery-time currency per unit of underlying

j(m)j^{(m)}Nominal annual ratedraft

Annualized rate quote that must be paired with its compounding frequency.

Units: decimal rate per year

ToptT_{\mathrm{opt}}Option expiry timedraft

Future model time when a European option's exercise decision and payoff are determined; a contract date shared by holder and writer, distinct from a bond maturity.

Units: model-years from the stated valuation time

KKOption strike pricedraft

Contractual price per unit of underlying used to determine the option's exercise payoff; a positive contractual amount, with payoff signs depending on call or put and holder or writer perspective.

Units: expiry-time currency per unit of underlying

rmr_mPeriodic ratedraft

Rate applied once in each compounding period under the stated convention, derived from the stated nominal annual quote in this model.

Units: decimal per compounding period

ptp_tEuropean put valuedraft

Current non-negative value to the holder of a European put under the stated model, before any financing or transaction costs.

Units: stated currency at model time

I0I_0Underlying income present valuedraft

Valuation-time value of deterministic cash income paid by the underlying after valuation and before the contract horizon, forward delivery or the matched option expiry. It is subtracted from spot value because the forward or option position does not receive that income.

Units: stated currency at valuation time per unit of underlying

00Valuation timedraft

Common origin from which later model times and present values are measured.

Units: years from the valuation date