Why Bid-Ask Quotes Change the Parity Test
Put-call parity relates the prices of a European call and put with the same underlying, strike, and expiration to the underlying asset and a risk-free payment at expiration. With a single quoted price for each instrument, the equality is a direct comparison. Actual markets often quote a bid, at which a trader can sell, and an ask, at which a trader can buy. A parity discrepancy based on midpoint prices is not necessarily an arbitrage: a portfolio must be assembled by trading at executable prices.
This tutorial tests parity by choosing the quote side for each position before adding the cash flows. It is aligned with the SOA Exam FM (Financial Mathematics) syllabus.
Let \(C_{\text{bid}}\) and \(C_{\text{ask}}\) denote the call’s bid and ask, with analogous notation for the put and stock. A long position buys at the ask; a short position sells at the bid. For an effective annual rate \(i\), the present value of the strike paid at time \(T\) is \(Kv^T\), where \(v=1/(1+i)\).
Two Executable Tests
The parity identity is \(C-P=S-Kv^T\). To test it with bid-ask quotes, construct each direction separately. The first portfolio buys the call, sells the put, shorts the stock, and lends the present value of the strike. The second sells the call, buys the put, buys the stock, and borrows the present value of the strike.
Here, \(\Pi_1\) and \(\Pi_2\) are the net initial cash receipts. A positive value identifies a parity arbitrage in that direction, before any unmodeled frictions. A zero or negative value means that particular executable portfolio does not provide a positive initial receipt.
| Portfolio | Positions at time 0 | Quote sides used | Arbitrage condition |
|---|---|---|---|
| 1 | Long call, short put, short stock, lend \(Kv^T\) | Call ask; put bid; stock bid | \(\Pi_1>0\) |
| 2 | Short call, long put, long stock, borrow \(Kv^T\) | Call bid; put ask; stock ask | \(\Pi_2>0\) |
Why the Tests Work
The initial cash-flow formulas follow directly from the trade directions. In Portfolio 1, buying the call costs \(C_{\text{ask}}\); selling the put and stock generates \(P_{\text{bid}}\) and \(S_{\text{bid}}\); lending \(Kv^T\) costs that amount. Adding these cash flows gives \(\Pi_1\). Portfolio 2 uses the opposite positions, but its prices are not simply the negatives of Portfolio 1’s prices: each trade uses the quote side available for that direction.
To verify the expiration payoff, let \(S_T\) be the stock price at expiration. Portfolio 1 has the call payoff \(\max(S_T-K,0)\), the short-put payoff \(-\max(K-S_T,0)\), the short-stock payoff \(-S_T\), and the loan asset payoff \(K\). Its total is
For \(S_T\ge K\), the expression is \((S_T-K)-0-S_T+K=0\). For \(S_T<K\), it is \(0-(K-S_T)-S_T+K=0\). Portfolio 2 has the exact opposite expiration positions, so its total payoff is also zero in both cases. Consequently, if either portfolio has a positive initial receipt, that receipt is not offset by a loss at expiration.
Check that the options are European and have the same stock, strike, and expiration, and confirm the dividend and financing assumptions.
Calculate \(Kv^T=K/(1+i)^T\) using the stated effective annual rate and time in years.
For each portfolio, use the ask for every purchase and the bid for every sale.
Calculate \(\Pi_1\) and \(\Pi_2\) separately. A positive result identifies the corresponding parity arbitrage.
Confirm that the options, stock, and strike financing combine to give zero at expiration in each stock-price region.
Worked Examples
Worked Example: An Executable Arbitrage in Portfolio 1
A non-dividend-paying stock and European options with strike \(K=\$100\) expire in one year. The effective annual risk-free rate is \(i=5\%\). The stock is quoted at \(\$104\) bid and \(\$105\) ask; the call at \(\$10\) bid and \(\$11\) ask; and the put at \(\$4\) bid and \(\$5\) ask. Determine whether either parity portfolio gives an arbitrage and calculate its initial receipt.
Method. Discount the strike, then calculate both executable portfolio receipts using the quote side appropriate to each position.
The discount factor and present value of the strike are
For Portfolio 1, buy the call at its \(\$11\) ask, sell the put at its \(\$4\) bid, short the stock at its \(\$104\) bid, and lend \(\$95.238095\):
For Portfolio 2, sell the call at its \(\$10\) bid, buy the put at its \(\$5\) ask, buy the stock at its \(\$105\) ask, and borrow \(\$95.238095\):
Thus Portfolio 1 gives an initial receipt of \(\$1.761905\), while Portfolio 2 does not. At expiration, Portfolio 1’s payoff is zero: if \(S_T\ge100\), it is \((S_T-100)-S_T+100=0\); if \(S_T<100\), it is \(-(100-S_T)-S_T+100=0\). Rounded to the nearest cent, the arbitrage receipt is \$1.76 per share-equivalent position.
Common mistake avoided: Portfolio 1 sells the stock, so it receives the stock bid of \(\$104\), not the ask of \(\$105\). Using the ask would overstate the executable receipt by \(\$1\).
Worked Example: An Executable Arbitrage in Portfolio 2
A non-dividend-paying stock and matching European options expire in one year with strike \(K=\$52\). The effective annual risk-free rate is \(i=4\%\). The stock quote is \(\$49.50\) bid and \(\$50\) ask; the call quote is \(\$6\) bid and \(\$6.50\) ask; and the put quote is \(\$3.50\) bid and \(\$4\) ask. Test both directions and find any positive initial receipt.
Method. Discount the strike and apply the executable quote sides to each portfolio. Here,
For Portfolio 1, the call purchase uses the ask, the put sale uses the bid, and the stock short sale uses the bid:
For Portfolio 2, the call sale uses the bid, the put purchase uses the ask, and the stock purchase uses the ask:
Portfolio 2 therefore produces an initial receipt of \(\$2\). Its expiration payoff is \(-(S_T-52)^++(52-S_T)^++S_T-52=0\), where \(x^+=\max(x,0)\). If \(S_T\ge52\), the total is \(-(S_T-52)+S_T-52=0\); if \(S_T<52\), it is \((52-S_T)+S_T-52=0\). The checked, rounded result is \$2.00 per share-equivalent position.
Common mistake avoided: The call is sold in Portfolio 2, so the sale earns the \(\$6\) bid, not the \(\$6.50\) ask. Likewise, buying the put and stock requires paying their asks.
Worked Example: A Midpoint Discrepancy That Is Not Executable
A non-dividend-paying stock and matching European options have strike \(K=\$105\) and expire in two years. The effective annual risk-free rate is \(i=5\%\). The stock is \(\$99\) bid and \(\$100\) ask, the call is \(\$8\) bid and \(\$9\) ask, and the put is \(\$3\) bid and \(\$4\) ask. Decide whether the quotes provide a parity arbitrage. Explain why comparing midpoint prices alone could mislead.
Method. First calculate the discounted strike and then test both portfolios using their executable prices.
The first portfolio receipt is
The second portfolio receipt is
Both executable receipts are negative, so neither parity portfolio provides a positive initial receipt. For comparison only, the option midpoint difference is \((8+9)/2-(3+4)/2=\$5\), while the stock midpoint less the discounted strike is \((99+100)/2-95.238095=\$4.261905\). The midpoint comparison suggests a difference of \(\$0.738095\), but it does not represent the cost or proceeds of either complete portfolio. Rounded to the nearest cent, the two executable results are \(-\$2.24\) and \(-\$0.76\).
Common mistake avoided: A midpoint is not a price at which a trader is guaranteed to buy or sell. The conclusion must come from the complete trade at bid and ask prices, not from midpoint parity.
Common Quote-Side Errors
A reliable calculation starts with the position, not with a memorized plus-or-minus pattern. For each leg, ask whether the portfolio buys or sells the instrument. A purchase is charged at the ask; a sale generates the bid. Then combine the signed cash flows. In particular, the fact that Portfolio 2 reverses Portfolio 1’s expiration positions does not mean its executable initial receipt is simply \(-\Pi_1\): the bid-ask quotes differ.
- Using the wrong side for a sale. A short sale receives the bid, not the ask.
- Using the wrong side for a purchase. A long position pays the ask, not the bid.
- Checking only one direction. A failed test for Portfolio 1 does not rule out a positive receipt from Portfolio 2.
- Discounting with the wrong time unit. For an effective annual rate and a term of \(T\) years, use \(K/(1+i)^T\).
- Calling every midpoint gap an arbitrage. The relevant test uses the prices at which all legs can actually be traded.
Check Your Understanding
For each problem, use executable prices rather than midpoint prices. Assume European options on a non-dividend-paying stock, matching strikes and expirations, and borrowing and lending at the stated effective annual rate. Amounts are per share-equivalent position.
- A stock has bid and ask prices of \(\$81\) and \(\$82\). A one-year call has bid and ask prices of \(\$5\) and \(\$6\), and the matching put has bid and ask prices of \(\$3\) and \(\$4\). The strike is \(\$80\) and the effective annual rate is \(5\%\). Which direction, if any, gives a positive initial receipt, and what is it? (Answer: Portfolio 1; \(\$1.81\), rounded to the nearest cent.)
- A stock has bid and ask prices of \(\$98\) and \(\$99\). A one-year call has bid and ask prices of \(\$7\) and \(\$8\), and the put has bid and ask prices of \(\$5\) and \(\$6\). The strike is \(\$104\) and the effective annual rate is \(4\%\). Which direction, if any, gives a positive initial receipt, and what is it? (Answer: Portfolio 2; \(\$2.00\).)
- A stock has bid and ask prices of \(\$89\) and \(\$90\). A one-year call has bid and ask prices of \(\$4\) and \(\$5\), and the put has bid and ask prices of \(\$5\) and \(\$6\). The strike is \(\$100\) and the effective annual rate is \(10\%\). Test both directions. (Answer: Neither; \(\Pi_1=-\$1.91\) and \(\Pi_2=-\$1.09\), rounded to the nearest cent.)
- A stock has bid and ask prices of \(\$110\) and \(\$112\). A two-year call has bid and ask prices of \(\$14\) and \(\$16\), and the matching put has bid and ask prices of \(\$9\) and \(\$11\). The strike is \(\$120\) and the effective annual rate is \(5\%\). Determine whether either direction gives a positive initial receipt. (Answer: Neither; \(\Pi_1=-\$5.84\) and \(\Pi_2\approx-\$0.16\), rounded to the nearest cent.)