Tutorials › Exam FM - Financial Mathematics › Bid-Ask Quotes And Executable Parity Arbitrage

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

Bid-Ask Quotes And Executable Parity Arbitrage

Learn to test put-call parity using executable quotes, identify the correct arbitrage portfolio, and calculate its locked-in profit.

Advanced 10 min read

What You'll Learn

  • State the assumptions that allow European put-call parity to apply.
  • Choose the ask price when buying and the bid price when selling.
  • Calculate executable profits for both directions of a parity trade.
  • Verify that each portfolio has zero payoff at expiration.
  • Distinguish an apparent midpoint discrepancy from an executable arbitrage.

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.

Assumptions: The call and put are European options on the same non-dividend-paying stock, with the same strike \(K\) and expiration \(T\). The stock and options can be traded in the quantities stated, short selling is permitted, and cash can be borrowed or lent at the same effective annual risk-free rate \(i\). There are no taxes, default, or other trading frictions. Under these assumptions, put-call parity applies. If dividends, differing financing rates, or other market frictions are present, the formulas below need adjustment.

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)\).

Definition: An executable parity arbitrage is a combination of option, stock, and financing positions whose net initial cash flow is positive and whose combined payoff at expiration is zero in every stock-price outcome, under the stated assumptions and available quotes.

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.

$$ \begin{aligned} \Pi_1 &= -C_{\text{ask}}+P_{\text{bid}}+S_{\text{bid}}-Kv^T,\\ \Pi_2 &= C_{\text{bid}}-P_{\text{ask}}-S_{\text{ask}}+Kv^T. \end{aligned} $$

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.

PortfolioPositions at time 0Quote sides usedArbitrage condition
1Long call, short put, short stock, lend \(Kv^T\)Call ask; put bid; stock bid\(\Pi_1>0\)
2Short 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

$$ \max(S_T-K,0)-\max(K-S_T,0)-S_T+K=0. $$

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.

1
Confirm the contract match.
Check that the options are European and have the same stock, strike, and expiration, and confirm the dividend and financing assumptions.
2
Discount the strike.
Calculate \(Kv^T=K/(1+i)^T\) using the stated effective annual rate and time in years.
3
Use executable prices.
For each portfolio, use the ask for every purchase and the bid for every sale.
4
Evaluate both directions.
Calculate \(\Pi_1\) and \(\Pi_2\) separately. A positive result identifies the corresponding parity arbitrage.
5
Check the expiration payoff.
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

$$ v=\frac{1}{1.05}=0.95238095,\qquad Kv^T=\frac{100}{1.05}=\$95.238095. $$

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\):

$$ \Pi_1=-11+4+104-95.238095=\$1.761905. $$

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\):

$$ \Pi_2=10-5-105+95.238095=-\$4.761905. $$

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,

$$ v=\frac{1}{1.04}=0.96153846,\qquad Kv^T=\frac{52}{1.04}=\$50. $$

For Portfolio 1, the call purchase uses the ask, the put sale uses the bid, and the stock short sale uses the bid:

$$ \Pi_1=-6.50+3.50+49.50-50=-\$3.50. $$

For Portfolio 2, the call sale uses the bid, the put purchase uses the ask, and the stock purchase uses the ask:

$$ \Pi_2=6-4-50+50=\$2. $$

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.

$$ v^T=\frac{1}{1.05^2}=\frac{1}{1.1025}=0.90702948,\qquad Kv^T=\frac{105}{1.1025}=\$95.238095. $$

The first portfolio receipt is

$$ \Pi_1=-9+3+99-95.238095=-\$2.238095. $$

The second portfolio receipt is

$$ \Pi_2=8-4-100+95.238095=-\$0.761905. $$

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.
Key takeaway: Test each parity direction as a complete portfolio. Use the ask for every purchase, the bid for every sale, and the present value of the strike for the financing leg. A positive initial receipt is an arbitrage only when the portfolio’s expiration payoff is also verified to be zero under the stated assumptions.

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.

  1. 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.)
  2. 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\).)
  3. 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.)
  4. 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.)
Clinical Biostats