Skip to content
All library documents

Put-Call Parity Near Expiration: Liquidity and Trading Mismatches

Article Quant Q&A · Author: BS.

Summary

The document examines implausible risk-free rates inferred by regressing option collars on SPX options close to expiration. It explains that put-call parity calculations can become distorted when options and their underlying continue trading on different schedules. An option may stop trading while the underlying moves afterward, creating a mismatch between the option’s final price and the underlying’s later value.

The answers identify liquidity costs and bid-ask spreads as additional sources of distortion, especially near expiration and around dates shared by multiple contracts. A narrow theoretical discount-factor model may misread these effects as changes in interest rates. The practical lesson is to account for liquidity and market-maker costs, and to evaluate executable two-way prices rather than treating regression outputs as frictionless values. The discussion is a diagnosis of a particular historical example, not a complete estimation procedure or evidence that liquidity explains every anomalous implied rate.

Key ideas

  • Put-call parity estimates can be unreliable when option and underlying trading hours do not align.
  • After-hours moves in the underlying can change the effective moneyness after options stop trading.
  • Wider bid-ask spreads and market-maker inventory costs can distort implied discount factors.
  • Regression-based rates should be checked against executable market quotes near expiration.
  • Liquidity effects should be modeled separately from pure discounting.

Tags

Full text
# Implying risk-free rates using Put/Call parity


# Implying risk-free rates using Put/Call parity












I recently purchased SPX options data from the CBOE. Normally, if the data is OK and the Put-Call parity holds, one should expect to correctly imply ZC (Zero Coupon bond) prices and forwards by performing a linear regression on all available collar prices (long put and short call of the same strike), given a fixed maturity $T$.

This works indeed very well, until we come close to maturity. More specifically, the linear regression gives wrong results for collars on their last trading day. For example, if I perform linear regression on all the collars available at date 2005-02-17 (Thursday) which expire on 2005-02-19, I get an annualized risk-free rate of 84.85% (or a ZC being worth ~99.5297%), which is clearly wrong.

What I find weird is that this behavior happens only one day before the 3rd friday. Is there something I am missing about how the prices behave when close to expiration ?

EDIT :

I'm adding here a plot of how of the term structure of the implied risk-free rate (that I have smoothed using a Nelson-Siegel fit but the behavior is present regardless of whether I smooth the curves or not) evolves as we approach the third Thursday 2005-02-17 :

When we are a little far from that date, we get more coherent term structures :

## Answer by Dave Harris (score 6, accepted)

https://quant.stackexchange.com/a/37050

Once upon a time, all option contracts ceased trading on the third Friday of every month. There was no after hours trading for the underlying. When the exchanges closed, everything was done. This is no longer true. Contracts do not exclusively cease trading on the third Friday, although some still do. Likewise, the underlying can continue trading after the options cease trading.

This change creates liquidity mismatches. In fact, an option can close out of the money at the end of options trading, but land in the money by the end of the aftermarket trading of the underlying. From what I have inferred from your posts the cost of liquidity is not being modeled separately from the discount factor.

In addition, some derivative contracts are used as proxies for other assets. This also creates liquidity issues.

You should consider formally modeling liquidity. Bonds will do similar things as they get close to maturity. The market maker has to make back their cost of capital regardless of how long until the closing date. These are not "jumps" so much as a failure to control for the width of the bid-ask spread. The spread often widens towards maturity to prevent a savvy investor from dumping bad inventory on the market maker at a favorable price.

Look at:

> A. Abbott, Valuation Handbook, ch. Measures of Discount for Lack of Marketability and Liquidity, pp. 474–507. Hoboken, NJ: Wiley Finance, 2009.

I have used it to model liquidity.

Your model does not consider the costs to the market maker and so is behaving badly on a date that is the common nexus of a variety of contracts. This isn't a "rigor" issue so much as a misspecification issue. This isn't the only type of contract that has this behavior.

## Answer by dm63 (score 5)

https://quant.stackexchange.com/a/37044

Elaborating on my comment: consider a 100 point in the money collar, one day before expiration. You are effectively claiming the price of this is 99.5. But if you call the pit and get a two way price of 99-100 there is nothing to do.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.