Economic Modelling · Binomial option-pricing model
No-Arbitrage Principle and Put-Call Parity for Option Pricing
Updated 11 October 2026 · Fact-checked
The no-arbitrage principle says you cannot make a risk-free profit with no outlay. It forces option prices into bounds and links calls and puts. For European options on a non-dividend share, put-call parity says c + K e^(−rT) = p + S₀. Use it to find a missing price or spot an arbitrage.
Understand No-Arbitrage Principle and Put-Call Parity
An arbitrage is a strategy that costs nothing (or gives you money today), has no chance of a loss, and has a positive chance of a gain. Pricing models assume markets contain no such opportunities. This is the no-arbitrage principle. It does not need any view about the share's real-world growth or investor attitudes to risk.
The key idea is the law of one price. If two portfolios give the same payoff in every future state, they must cost the same today. If not, you buy the cheap one, sell the dear one, and pocket the difference with no risk.
This gives price bounds. A call can never be worth more than the share, because the share gives you everything the call gives and more. A call can never be worth less than zero. A European call on a non-dividend share must be worth at least S₀ − K e^(−rT), where K e^(−rT) is the present value of the strike. Similar bounds apply to puts.
Put-call parity comes from comparing two portfolios. Portfolio A: one European call plus cash of K e^(−rT). Portfolio B: one European put plus one share. At expiry T, if S_T > K, A is worth (S_T − K) + K = S_T and B is worth 0 + S_T = S_T. If S_T ≤ K, A is worth 0 + K = K and B is worth (K − S_T) + S_T = K. Both are worth max(S_T, K) in every state. So they must cost the same today.
Parity holds only for European options with the same strike and expiry on the same underlying. It is model-free: you do not need a binomial tree or Black-Scholes to use it.
Key rules to remember
- Put-call parity (no dividends, continuous compounding)
- c + K e^(−rT) = p + S₀
- European options, same strike K and expiry T, same underlying. r is the continuously compounded risk-free rate.
- Put-call parity (discrete compounding)
- c + K (1 + i)^(−T) = p + S₀
- Use when the question gives an annual effective rate i.
- Put-call parity with known dividends
- c + K e^(−rT) + D = p + S₀, where D is the present value of dividends paid before T
- The share holder receives dividends, so the share portfolio is worth more by D at the end. Move D to the call side.
- European call bounds (no dividends)
- max(S₀ − K e^(−rT), 0) ≤ c ≤ S₀
- Lower bound comes from parity and p ≥ 0.
- European put bounds (no dividends)
- max(K e^(−rT) − S₀, 0) ≤ p ≤ K e^(−rT)
- Upper bound: the put can pay at most K at T.
- American options and parity
- S₀ − K ≤ C − P ≤ S₀ − K e^(−rT) (no dividends)
- Parity becomes an inequality for American options. Early exercise is the reason.
- Arbitrage rule
- If two portfolios have equal payoffs, buy the cheaper and sell the dearer
- The profit today is the price difference, invested at the risk-free rate if needed.
How to solve No-Arbitrage Principle and Put-Call Parity questions
Use this method for any question on parity, bounds or arbitrage. Write each step on paper. Marks are given for the logic, not just the number.
- 1Identify the option type: European or American. Parity as an equality needs European.
- 2List what you are given: S₀, K, T, r, any dividends, and the known option prices.
- 3Check the compounding basis. Convert the rate so the discount factor is correct, such as e^(−rT) or (1 + i)^(−T).
- 4Write the parity equation, including the present value of any dividends.
- 5Solve for the unknown price, or compute both sides to compare them.
- 6If both sides differ, there is an arbitrage. Find which side is dearer, sell that portfolio and buy the other.
- 7State the cash flows now and at expiry. Show that the payoff at expiry is zero in all states, so the profit is the initial gain.
- 8For bounds, state the argument in words, such as: otherwise buying one and selling the other gives a risk-free profit.
Quickest way: Rearrange parity and compare
When to use it: Use in multiple-choice questions and for quick checks of a stated price before writing a full arbitrage argument.
- Compute K e^(−rT) first. Most mistakes are here.
- Compute the left side c + K e^(−rT) and the right side p + S₀.
- If equal, no arbitrage. If not, the larger side is overpriced.
- Sell the overpriced portfolio and buy the other. Profit today equals the difference.
- For a missing price, use c − p = S₀ − K e^(−rT) and solve.
Common mistakes in No-Arbitrage Principle and Put-Call Parity
Discounting the share price instead of the strike
Students remember that something is discounted and pick the wrong item.
Fix: Only the strike is paid in the future, so only K is discounted. S₀ is already a price today.
Applying parity to American options as an equality
The formula looks general.
Fix: Parity as an equality needs European options. For American options use the inequality.
Ignoring dividends before expiry
The standard formula is written without dividends.
Fix: If the share pays dividends before T, subtract their present value from S₀ on the share side, or add D to the call side.
Using the wrong sign in the arbitrage trade
Students mix up which portfolio is dear.
Fix: Compare the two sides. Sell the larger one and buy the smaller one. Then check that the payoff at expiry nets to zero.
Mixing rate bases, such as using an effective annual rate in e^(−rT)
The question gives a rate with no label, and students plug it in.
Fix: Read the basis. For an effective rate i, use (1 + i)^(−T). For a force of interest, use e^(−δT).
Giving a lower bound below zero
S₀ − K e^(−rT) can be negative for deep out-of-the-money calls.
Fix: Always take the maximum with 0 for option prices.
Worked examples
Example 1
A non-dividend-paying share trades at ₹500. A 6-month European call with strike ₹520 costs ₹30. The continuously compounded risk-free rate is 8% per year. Find the no-arbitrage price of the European put with the same strike and expiry.
Show the solution
- Parity: c + K e^(−rT) = p + S₀.
- T = 0.5, so rT = 0.04. e^(−0.04) = 0.960789.
- K e^(−rT) = 520 × 0.960789 = 499.61.
- Rearrange: p = c + K e^(−rT) − S₀ = 30 + 499.61 − 500.
- p = 29.61.
Answer: The put should cost about ₹29.61.
Example 2
A non-dividend share trades at ₹100. A 1-year European call with strike ₹100 costs ₹12, and the 1-year European put with the same strike costs ₹5. The continuously compounded risk-free rate is 6%. Show there is an arbitrage and describe how to exploit it.
Show the solution
- K e^(−rT) = 100 × e^(−0.06) = 100 × 0.941765 = 94.18.
- Left side: c + K e^(−rT) = 12 + 94.18 = 106.18.
- Right side: p + S₀ = 5 + 100 = 105.
- The call-plus-cash side is dearer by 1.18, so it is overpriced.
- Trade: sell the call, borrow nothing extra but sell the bond side by borrowing ₹94.18 (receive 94.18 now, repay ₹100 at T), buy the put, buy the share.
- Cash now: +12 + 94.18 − 5 − 100 = +1.18.
- At expiry, if S_T > K: the call you sold costs you S_T − 100, you deliver nothing else; the share is worth S_T, the put is 0, the loan costs 100. Net = S_T − (S_T − 100) − 100 = 0.
- If S_T ≤ K: the call is 0, the put pays 100 − S_T, the share is worth S_T, the loan costs 100. Net = (100 − S_T) + S_T − 100 = 0.
Answer: There is an arbitrage. Sell the call, borrow ₹94.18, buy the put and the share. You gain ₹1.18 today and owe nothing at expiry in any state.
Exam tips
- Write the parity equation first and name each term. Examiners award marks for the correct setup.
- State clearly that parity needs European options with the same strike and expiry.
- In arbitrage questions, show the cash flows at time 0 and at expiry in both cases, S_T > K and S_T ≤ K.
- Check whether dividends are given. Missing them is a common lost mark.
- Keep at least four decimal places for discount factors, then round only at the end.
Practice questions from Binomial option-pricing model
- Share price S0 = Rs 100 moves in one period to Rs 125 or Rs 80. The risk-free rate is 5% per period. A European call has strike Rs 100. An a…
- In a one-period binomial model for a non-dividend-paying share, the risk-neutral probability of an up-move is q. Which statement about q is …
- In a CRR tree with u = exp(sigma*sqrt(h)), d = 1/u and risk-free growth e^(rh) per step, the risk-neutral probability of an up move is q = (…
- In a binomial tree, the holder of an American put compares, at each node, the value from exercising now with the value from continuing. Whic…
- As the number of steps n in a CRR binomial tree (with u = exp(sigma*sqrt(T/n)), d = 1/u, and risk-neutral probabilities) tends to infinity, …
No-Arbitrage Principle and Put-Call Parity in other exams
The same ground in other exams, if you are preparing for more than one or want another angle on it.
No-Arbitrage Principle and Put-Call Parity: frequently asked questions
How do I prove put-call parity?
Build two portfolios: a call plus cash K e^(−rT), and a put plus one share. Show both are worth max(S_T, K) at expiry in every state. By no-arbitrage, they must have equal prices today.
Does put-call parity hold for American options?
Not as an equality. Early exercise adds value, so you get bounds instead. For a non-dividend share, S₀ − K ≤ C − P ≤ S₀ − K e^(−rT).
Do I need a binomial tree to use put-call parity?
No. Parity is model-free and relies only on no arbitrage. It also holds inside a binomial model, so you can use it to check your tree prices.
What changes if the share pays a dividend?
Reduce the share side by the present value of dividends paid before expiry. The parity becomes c + K e^(−rT) + D = p + S₀. Always check the question for dividends.