Skip to content

Causes of Perceived Data Issues

Thetadata employs a whole suite of data integrity checks to verify that both historical and real-time data is whole and accurate. It is not uncommon to encounter missing data when you might otherwise expect there to be data. Some but not all mitigating factors are market holidays, trading halts, SIP / exchange processing issues, and liquidity. This article will outline our checklist we use for determine if missing data is to be expected based on the aforementioned mitigating circumstances.

WARNING

If you have read through these items and still believe you see an issue with data, please make a #support ticket on our Discord Server.

General

  1. Missing OHLC, EOD, or trades? Not all contracts / symbols are traded every day or at every time.
  2. Was the market closed? I.e. a special holiday, weekend, or event that caused the market to be closed?
  3. Trading could have been halted on the date in question.
  4. Data from the previous day isn't available from 00:00 ET to 01:45 ET. We have plans to make our midnight reset instant in the near future.
  5. Are you using V1 requests? Switch to V2! V1 requests have been deprecated and we do not offer support for them. V2 is faster and thoroughly developed.
  6. There could have been an issue with the SIP or exchange for the date in question. Refer to the CBOE system notices for OPRA options, CTA alerts for CTA equities, UTP alerts for UTP equities.
  7. If requesting data outside regular trading hours, set the rth parameter to false.

Equities

  1. Although Nasdaq Basic venue will send a zero-ed BBO quote at session close, we remove these quotes / do not process. This prevents snapshots and other processes returning a zero-ed value instead of the last legitimate value reported.

Options Specific

  1. Most option contracts are listed 4-12 weeks before expiration. It is unlikely for a option with a weekly expiration to have multiple years or quarters of data. Contracts that start to get quoted 1-2 months before expiration isn't an indication of missing data but it just means they weren't traded / didn't exist at that time.
  2. If SPX, there won't be data the same day as expiration since SPX options are AM settled. SPXW options are PM settled.
  3. If an index option, make sure you are using the proper index option symbols that OPRA reports.
  4. Greeks data? Check our Making Requests article to ensure the history you're requesting falls within the expected range and there are no expected cases where data might not be there.
  5. Make sure the expiration and strike you're using is a valid expiration from the list contracts, list expirations, or list strikes endpoints.
  6. Strike prices are represented in 10ths of a cent, so $140 would be 140000. When making requests, it is important to use this format when passing the strike price parameter.
  7. If the option contract is 0DTE, deep ITM / OTM strikes might not be quoted / traded.
  8. OPRA sends quotes with zero bid and or asks during premarket. This is a normal behavior with options quotes.
  9. Data with the expiration years of 1882 is test data sent by OPRA. This typically doesn't happen anymore but for earlier years is a normal occurrence.
  10. Prior to 2022-05-16, SPXW (SPX weekly) options were quoted Monday, Wednesday, Friday, not every day of the week.
  11. For 0DTE options, especially index options, deep OTM or ITM contracts that have strike prices that aren't divisible by a certain number (i.e. 2.5, 5, 10) stop getting quoted and traded towards the end of the day.