Tutorials › Exam FM - Financial Mathematics › Solving Parity For An Unknown Market Value

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

Solving Parity For An Unknown Market Value

Use put-call parity as an equation to recover one missing market value, and check that the inferred value is consistent with the stated assumptions.

Advanced 11 min read

What You'll Learn

  • State the assumptions required for European put-call parity without dividends
  • Rearrange parity to solve for a call price, put price, underlying price, or strike
  • Infer a discount factor and convert it to an annual effective rate when appropriate
  • Check an inferred value by substituting it back into parity
  • Avoid common sign, discounting, and rate-period errors

Using Parity as an Equation

Put-call parity is useful not only for comparing option prices, but also for finding a market value that has not been quoted. If the call price, put price, underlying price, strike, and discount factor are all expressed on a consistent basis, parity is a single equation in those quantities. When exactly one is unknown, rearranging the equation gives its implied value.

The result is only as reliable as its assumptions. The basic form below concerns European options on the same underlying asset, with the same strike and expiration date, and assumes the underlying pays no dividends before expiration. The market is frictionless for purposes of the equality: for example, there are no transaction costs or restrictions that prevent the relevant trades. This tutorial uses the discount factor for the time from valuation to expiration; it does not assume that the quoted interest rate is annual unless that is stated.

Definition: Let \(C\) and \(P\) be the current prices of a European call and put, respectively, with common strike \(K\) and expiration \(T\). Let \(S_0\) be the current underlying price, and let \(v(0,T)\) be the risk-free discount factor from \(T\) to time 0. Under the assumptions above, put-call parity is $$ C+K v(0,T)=P+S_0. $$

Each term is a value at time 0. In particular, \(K\) is the amount paid or received at expiration in the relevant payoff comparison, so its current value is \(K v(0,T)\), not \(K\). If a positive annual effective rate \(i\) applies for \(T\) years, then \(v(0,T)=(1+i)^{-T}\). Use a different discount-factor formula if the rate convention or term structure specified in the problem requires it.

A useful first step is to isolate the difference between the option prices:

$$ C-P=S_0-Kv(0,T). $$

This form makes the signs easier to track. It also shows that the call-minus-put price difference equals the underlying price minus the present value of the strike. The parity relation can be solved directly for whichever one of its five quantities is unknown.

Rearranged forms: $$ \begin{aligned} C&=P+S_0-Kv(0,T),\\ P&=C-S_0+Kv(0,T),\\ S_0&=C-P+Kv(0,T),\\ K&=\frac{S_0-C+P}{v(0,T)},\\ v(0,T)&=\frac{S_0-C+P}{K}. \end{aligned} $$ The strike formula requires \(v(0,T)\ne 0\), and the discount-factor formula requires \(K\ne 0\). For an ordinary positive strike and a positive discount factor, each division is defined.

Why the Rearrangements Work

The rearrangements follow from ordinary algebra, but the signs are important enough to make the steps explicit. Start from \(C+Kv=P+S_0\), where \(v\) denotes \(v(0,T)\). Subtract \(P\) and \(Kv\) from both sides to isolate \(C\). Subtract \(C\) and add \(Kv\) to isolate \(P\). To isolate \(S_0\), subtract \(P\) and add \(Kv\). To isolate \(K\), first rearrange to \(Kv=S_0-C+P\), then divide by \(v\). To isolate \(v\), divide that same equation by \(K\). Thus each inferred value must satisfy the original equation when substituted back.

The last check matters: an algebraically calculated value can still be based on mismatched inputs. A call and put with different expiration dates, a strike that was not discounted to the correct date, or an inappropriate discount factor does not form a valid input set for this parity equation.

Solving for an Option Price or the Underlying

Worked Example: Inferring a Call Price

A European put and call have strike \(K=\$100\) and expire in one year on a non-dividend-paying asset. The put price is \(P=\$7.50\), the current underlying price is \(S_0=\$104\), and the annual effective risk-free rate is \(i=5\%\). Find the call price.

Method and assumptions. Use \(C=P+S_0-Kv(0,T)\). The options have matching terms, and the stated one-year annual effective rate gives \(v(0,1)=(1.05)^{-1}\).

First calculate the discount factor and present value of the strike:

$$ v(0,1)=\frac{1}{1.05}=0.95238095,\qquad Kv(0,1)=100(0.95238095)=95.238095. $$

Now substitute into the rearranged parity equation:

$$ C=7.50+104-95.238095=16.261905. $$

Rounded to the nearest cent, the implied call price is \(\$16.26\). To check, \(C+Kv=16.261905+95.238095=111.50\), and \(P+S_0=7.50+104=111.50\). The two sides agree. The common mistake this calculation avoids is subtracting the undiscounted strike, \(100\), instead of its present value.

Worked Example: Inferring the Underlying Price

A European call and put on the same non-dividend-paying asset have strike \(K=\$105\) and expire in one year. Their prices are \(C=\$14.60\) and \(P=\$6.10\). The annual effective risk-free rate is \(4\%\). Find the current underlying price.

Method and assumptions. Rearrange parity as \(S_0=C-P+Kv(0,1)\). The given rate applies for one year, so \(v(0,1)=(1.04)^{-1}\).

Calculate the discount factor and the present value of the strike:

$$ v(0,1)=\frac{1}{1.04}=0.96153846,\qquad Kv(0,1)=105(0.96153846)=100.961538. $$

The difference in option prices is \(C-P=14.60-6.10=8.50\). Therefore,

$$ S_0=8.50+100.961538=109.461538. $$

Rounded to the nearest cent, the inferred underlying price is \(\$109.46\). Check: \(C+Kv=14.60+100.961538=115.561538\), while \(P+S_0=6.10+109.461538=115.561538\). This confirms the result. The sign of \(P\) in the expression for \(S_0\) is negative: using \(C+P\) would not be a valid rearrangement.

Solving for a Strike or Discount Factor

When the strike is unknown, first move the known option prices and underlying price to one side to obtain \(Kv=S_0-C+P\), then divide by the discount factor. When the discount factor is unknown, divide that same relation by the strike. These steps recover a value implied by the supplied prices; they do not establish that the market quotes themselves are correct or executable.

Worked Example: Inferring the Strike

A European call and put on the same non-dividend-paying asset expire in six months. Their prices are \(C=\$18\) and \(P=\$11\), the underlying price is \(S_0=\$112\), and the six-month discount factor is \(v(0,T)=0.96\). Find the common strike.

Method and assumptions. Use \(K=(S_0-C+P)/v(0,T)\). Since the discount factor is supplied for the full six-month term, do not convert it to an annual rate or apply a second discounting step.

Calculate the numerator:

$$ S_0-C+P=112-18+11=105. $$

Divide by the stated discount factor:

$$ K=\frac{105}{0.96}=109.375. $$

The implied strike is \(\$109.375\). Check both sides of parity: \(C+Kv=18+109.375(0.96)=18+105=123\), and \(P+S_0=11+112=123\). The answer is consistent. A common trap is to report \(105\) as the strike; \(105\) is the present value \(Kv\), so it must be divided by \(v\) to recover \(K\).

Worked Example: Inferring a Discount Factor and Rate

A European call and put on a non-dividend-paying asset have the same strike \(K=\$100\) and one-year expiration. The underlying is priced at \(S_0=\$95\); the call costs \(C=\$8\), and the put costs \(P=\$13\). Find the implied one-year discount factor and, assuming a single annual effective rate applies, the implied rate.

Method and assumptions. First solve \(v(0,1)=(S_0-C+P)/K\). Then use the annual effective relationship \(v(0,1)=1/(1+i)\). The rate conversion is appropriate because the question specifies one year and an annual effective rate model.

Calculate the numerator and divide by the strike:

$$ S_0-C+P=95-8+13=100,\qquad v(0,1)=\frac{100}{100}=1. $$

A discount factor of \(1\) implies

$$ 1=\frac{1}{1+i},\qquad 1+i=1,\qquad i=0. $$

Thus the implied discount factor is \(1\), and the implied annual effective rate is \(0\%\). Check parity: \(C+Kv=8+100=108\), and \(P+S_0=13+95=108\). This example also shows why it is important not to assume an interest rate that was never supplied: infer the discount factor from parity first, then convert it under the stated rate model.

Common Mistakes and Interpretation

A solved value is an implication of the chosen parity model and inputs. It is not automatically a forecast, nor does it by itself describe a trading strategy. Keep the calculation focused on the one unknown and check the assumptions before interpreting the result.

  • Using the wrong sign. For example, the correct call rearrangement is \(C=P+S_0-Kv\). Writing \(C=P-S_0+Kv\) reverses both contributions. Substitute the proposed result into the original equation to catch this.
  • Forgetting to discount the strike. The parity term is \(Kv(0,T)\). A nominal strike \(K\) is not interchangeable with its present value.
  • Using a rate for the wrong time unit. A one-year annual effective rate is not automatically the discount rate for a six-month period. Use the specified convention and term to calculate \(v(0,T)\).
  • Mixing option contracts. The call and put must match in underlying, strike, and expiration for this equation. Quotes for different contracts cannot be combined by rearranging parity.
  • Stopping before checking. Evaluate both \(C+Kv\) and \(P+S_0\) using the inferred value. They should be equal apart from rounding.
Key takeaway: Put-call parity is a one-equation method for recovering one unknown market value. Identify the applicable discount factor, rearrange with signs intact, state any rate assumption used for conversion, and substitute the answer into the original parity equation.

Check Your Understanding

For each problem, assume matching European options on a non-dividend-paying asset, and use the stated discount basis. Round dollar answers to the nearest cent where needed.

  1. A call and put have strike \(K=\$80\), underlying price \(S_0=\$76\), and one-year discount factor \(v=0.96\). If the put price is \(\$9.25\), find the call price. (Answer: \(\$8.45\))
  2. A one-year call costs \(\$14.60\), and its matching put costs \(\$6.10\). The strike is \(\$125\), and the annual effective rate is \(4\%\). Find the underlying price. (Answer: \(\$128.69\))
  3. A call costs \(\$22\), a matching put costs \(\$9\), and the underlying price is \(\$150\). If the discount factor is \(0.95\), find the strike. (Answer: \(\$144.21\))
  4. A call costs \(\$7\), a matching put costs \(\$15\), and the underlying price is \(\$92\). The strike is \(\$105\). Find the implied discount factor. (Answer: \(100/105\), or approximately \(0.9524\))
  5. For a one-year contract, parity implies a discount factor of \(0.96\). Assuming a single annual effective rate, find the implied rate. (Answer: \(4.167\%\), approximately)
Clinical Biostats