Tutorials › Exam FM - Financial Mathematics › Discount Factors From The Term Structure In Parity

Exam FM · Put-Call Parity and Arbitrage · Tutorial 822 of 998

Discount Factors From The Term Structure In Parity

Learn to apply European put-call parity with the discount factor for the option’s exact expiration, including when the risk-free term structure is not flat.

Advanced 10 min read

What You'll Learn

  • Identify the correct maturity-specific discount factor for a European option
  • Convert an effective spot rate or zero-coupon bond price into a discount factor
  • Calculate a call or put value when the risk-free term structure is not flat
  • Apply parity when the underlying has a continuous dividend yield
  • Check parity calculations and avoid discounting the strike at the wrong maturity

Why the Maturity-Specific Discount Factor Matters

Put-call parity links the prices of European calls and puts with the same underlying, strike, and expiration. The strike is paid or received at expiration, so its present value must be calculated using the discount factor for that expiration. When interest rates depend on maturity, there is no single rate that should be used for every option.

The relevant quantity is \(D(0,T)\), the time-0 price of a default-free zero-coupon bond that pays one unit of currency at time \(T\). It is the present value today of one unit payable at the option’s expiration. A non-flat term structure changes the value of \(D(0,T)\), but it does not change the structure of European put-call parity.

Definition: \(D(0,T)\) is the discount factor from time 0 to time \(T\). In a frictionless no-arbitrage model, it is positive and equals the price at time 0 of a default-free zero-coupon claim paying 1 at time \(T\). For an option expiring at \(T\), the present value of its strike \(K\) is \(KD(0,T)\).

If a maturity-\(T\) spot rate is quoted as an annual effective rate \(r_T\), then \(D(0,T)=(1+r_T)^{-T}\). If it is quoted as a continuously compounded rate \(y_T\), then \(D(0,T)=e^{-y_TT}\). The rate and compounding convention must match the quote. If a zero-coupon bond with face amount 1 is directly quoted at price \(D(0,T)\), no conversion is needed.

European Parity with a Term Structure

Let \(C_0\) and \(P_0\) denote the current prices of European call and put options on the same non-dividend-paying asset, with strike \(K\) and expiration \(T\). Assume the options and the underlying can be traded, there are no transaction costs or taxes, and risk-free borrowing and lending are available at the discount factor represented by \(D(0,T)\). Then:

$$ C_0-P_0=S_0-KD(0,T) $$

The term structure need not be flat. The discount factor is selected for the option’s own expiration, rather than taken from some other maturity or replaced by a general average rate.

Theorem: For European options on an asset with a known continuous dividend yield \(q\) over \([0,T]\), under the same frictionless no-arbitrage assumptions, parity is $$ C_0-P_0=S_0e^{-qT}-KD(0,T). $$ The factor \(e^{-qT}\) is the time-0 value of the dividend-adjusted underlying claim in this model. When \(q=0\), the formula reduces to \(C_0-P_0=S_0-KD(0,T)\).

These equalities require European exercise, matching strikes and expirations, and the stated treatment of dividends. They do not assert the same equality for American options, which can be exercised before expiration. They also cannot be applied unchanged when cash dividends are handled as separate known payments; that situation requires the corresponding dividend adjustment.

Why the Discounted Strike Appears

A short replication argument shows why \(D(0,T)\), rather than a rate chosen without regard to maturity, belongs in the equation. At expiration, compare a call plus a risk-free investment of \(KD(0,T)\) today with a put plus one share of the asset.

1
Value the risk-free investment at expiration.
By definition, investing \(KD(0,T)\) today buys \(K\) units payable at \(T\).
2
Compare the expiration payoffs.
The call-plus-cash portfolio pays \(\max(S_T-K,0)+K=\max(S_T,K)\). The put-plus-share portfolio pays \(\max(K-S_T,0)+S_T=\max(S_T,K)\).
3
Equate current values.
Identical expiration payoffs must have equal prices in a no-arbitrage market. Thus \(C_0+KD(0,T)=P_0+S_0\), which rearranges to European put-call parity.

The crucial link is that the risk-free investment must pay \(K\) at exactly \(T\). A zero-coupon discount factor for another maturity would not create that terminal cash flow for the option’s expiration.

Worked Applications

Worked Example: Discounting the Strike at a Three-Year Effective Rate

A non-dividend-paying share is worth $90. A European put with strike $100 and expiration in three years is worth $10. The annual effective risk-free spot rate for three years is 4%. Find the parity-consistent call price. Round the final answer to four decimal places.

Method. Use \(C_0=P_0+S_0-KD(0,T)\), converting the three-year effective spot rate into its three-year discount factor.

Step 1: Calculate the discount factor. Here \(T=3\) and \(r_T=0.04\), so

$$ D(0,3)=\frac{1}{(1.04)^3} =\frac{1}{1.124864} \approx 0.88899636. $$

Step 2: Find the present value of the strike.

$$ KD(0,3)=100(0.88899636)\approx \$88.8996. $$

Step 3: Apply parity.

$$ C_0=10+90-88.8996=\$11.1004. $$

The parity-consistent call price is $11.1004. As a check, \(C_0-P_0\approx 1.1004\), while \(S_0-KD(0,3)\approx90-88.8996=1.1004\). The common mistake is to subtract the full $100 strike instead of its present value; doing so would incorrectly give \(10+90-100=0\).

Worked Example: Using the Two-Year Spot Rate from a Non-Flat Curve

A share that pays no dividends is worth $75. A European put with strike $80 and expiration in two years is quoted at $9.25. The annual effective two-year spot rate is 4%, while the one-year spot rate is 2%. Calculate the parity-consistent call price and compare it with a market quote of $10.40. Round the final option value and comparison to four decimal places.

Method. Use the spot rate whose maturity matches the option expiration. The one-year rate is not the rate for discounting a payment due in two years.

Step 1: Convert the two-year spot rate to a discount factor.

$$ D(0,2)=\frac{1}{(1.04)^2} =\frac{1}{1.0816} \approx 0.92455621. $$

Step 2: Discount the strike.

$$ 80D(0,2)=80(0.92455621)\approx \$73.9645. $$

Step 3: Solve parity for the call.

$$ C_0=P_0+S_0-KD(0,2) =9.25+75-73.9645 =\$10.2855. $$

The parity-consistent value is $10.2855. The quoted call price of $10.40 is higher by approximately \(10.40-10.2855=\$0.1145\). This is a parity discrepancy under the stated frictionless assumptions. Using the one-year rate of 2% for the two-year strike would use the wrong maturity and produce a different, unjustified value.

Worked Example: Parity with a Continuous Dividend Yield and a Non-Flat Curve

A share is worth $120 and has a known continuous dividend yield of 2% per year. A European put with strike $125 expires in 1.5 years and is worth $11. The discount factor for that exact expiration, read from the risk-free term structure, is \(D(0,1.5)=0.95\). Find the parity-consistent call price. Round the final answer to four decimal places.

Method. Use the continuous-dividend-yield form of parity, keeping the dividend adjustment and the term-structure discount factor as separate factors.

Step 1: Calculate the dividend-adjusted underlying value.

$$ S_0e^{-qT}=120e^{-(0.02)(1.5)} =120e^{-0.03} \approx120(0.97044553) \approx \$116.4535. $$

Step 2: Discount the strike using the supplied maturity-specific factor.

$$ KD(0,T)=125(0.95)=\$118.75. $$

Step 3: Solve for the call price.

$$ C_0=P_0+S_0e^{-qT}-KD(0,T) =11+116.4535-118.75 =\$8.7035. $$

The call price is $8.7035. As a check, \(C_0-P_0\approx-2.2965\), and \(S_0e^{-qT}-KD(0,T)\approx116.4535-118.75=-2.2965\). The mistake to avoid is applying the dividend adjustment to the strike as well: the strike is discounted using \(D(0,T)\), while \(e^{-qT}\) adjusts the underlying for the continuous yield.

A Reliable Calculation Procedure

When the risk-free curve is not flat, organize the calculation around the option’s expiration before substituting any rates. This prevents a correct parity formula from being paired with an incorrect discount factor.

1
Confirm the contract terms.
Check that the call and put are European options on the same underlying, with the same strike \(K\) and expiration \(T\).
2
Identify the dividend model.
For no dividends use \(C_0-P_0=S_0-KD(0,T)\). For a known continuous yield \(q\), use \(C_0-P_0=S_0e^{-qT}-KD(0,T)\).
3
Obtain the exact-maturity discount factor.
Use the zero-coupon price for maturity \(T\), or convert the spot rate for that maturity using its stated compounding convention.
4
Substitute and check.
Solve for the unknown price, then verify that the calculated difference \(C_0-P_0\) equals the right-hand side of parity.

A term structure may contain different rates for one, two, and three years. That fact does not make parity ambiguous: the option expiration selects the required discount factor. Do not average the quoted rates, use the nearest available maturity without an explicit curve-construction rule, or discount the strike using the rate for a different cash-flow date. If the exact-maturity discount factor is not supplied, a further assumption or a stated method for obtaining it from the curve is needed.

Common Exam Trap

The most frequent error is to treat a quoted rate as if it applied to every maturity. For example, if a two-year option is paired with a one-year rate, the strike’s present value is wrong even if the formula is otherwise correct. A related error is to use \(K/(1+r_T)\) when \(r_T\) is an annual effective spot rate for \(T\) years; the matching conversion is \(K/(1+r_T)^T\). Always check both the maturity and the compounding convention before calculating.

This distinction matters because the strike is a fixed cash flow due on the option’s expiration date. Its value today is determined by the price of a risk-free claim paying that amount on that date. For European parity, therefore, the relevant object is the maturity-specific zero-coupon discount factor—not a general market rate and not the discount factor for a different date.

Key takeaway: For a European option expiring at \(T\), use \(D(0,T)\) to discount the strike. With no dividends, \(C_0-P_0=S_0-KD(0,T)\); with a known continuous dividend yield \(q\), \(C_0-P_0=S_0e^{-qT}-KD(0,T)\). A non-flat term structure changes the value of the discount factor, not the parity logic.

Check Your Understanding

In each problem, use the discount factor or spot rate for the option’s own expiration. Assume frictionless markets and European exercise unless stated otherwise.

  1. A non-dividend-paying share is worth $68. A European put with strike $70 is worth $6, and the discount factor for its expiration is 0.96. Find the parity-consistent call price. (Answer: $6.80)
  2. A non-dividend-paying share is worth $100. A two-year European put with strike $105 is worth $12. The annual effective two-year spot rate is 3%. Find the call price, rounded to four decimal places. (Answer: $13.0274)
  3. A share is worth $90 and has a continuous dividend yield of 1%. A two-year European put with strike $95 is worth $8. The two-year discount factor is 0.92. Find the call price, rounded to four decimal places. (Answer: $8.8179)
  4. A non-dividend-paying share is worth $110. A three-year European put with strike $100 is worth $7.50. The term structure gives \(D(0,1)=0.98\) and \(D(0,3)=0.88\). Find the parity-consistent call price. (Answer: $29.50)
  5. A share is worth $150 and has a continuous dividend yield of 2%. A 1.5-year European call with strike $155 is worth $12, and \(D(0,1.5)=0.94\). Find the parity-consistent put price, rounded to four decimal places. (Answer: $12.1332)
Clinical Biostats