Skip to content
All library documents

Screening Symbols for Sufficient Trading History Before Downloading Data

Article Quant Q&A · Author: thistleknot

Summary

The document considers how to reduce the cost of downloading long historical price series by first screening symbols for sufficient trading history. The proposed shortcut checks a short window near the required lookback’s starting date; if a symbol traded during that window, the researcher then downloads the full period. The example uses a week-long check around a date roughly two years earlier, with the intent of avoiding full downloads for newer listings.

This is a heuristic, not a guarantee that a symbol has a complete or sufficiently dense history. Trading gaps, suspensions, corporate actions, symbol changes, and delistings can complicate the inference; the author specifically notes buybacks as an exception. Restricting the universe to currently active symbols can also introduce survivorship bias. The response offers a practical sampling shortcut, but the document provides no measured savings or reliability results and does not establish that the screening approach preserves a representative historical universe.

Key ideas

  • A short historical date window can screen symbols before downloading their full price histories.
  • A symbol trading near the start of a lookback does not guarantee continuous or complete data throughout it.
  • Listing changes, suspensions, and buybacks can undermine the screening assumption.
  • Using only currently active symbols risks survivorship bias in historical research.

Tags

Full text
# Trying to grab 2 year blocks of symbol data and would like to exclude symbols that havent traded at least 2 years


# Trying to grab 2 year blocks of symbol data and would like to exclude symbols that havent traded at least 2 years












Normally I pull all the data I can, this is a very expensive operation. Usually I'm working with 504 trading days plus a month or maybe a quarter of lead time. So I'd interpolate and then count the number of days traded and make sure I hit at least 90% of the mark and drop the rest (also expensive to count).

I thought I could simply go back in time and grab just 1 day (or maybe a week) for each symbol. Say if I was working with a quarter of lead time, I'd go back 9 quarters from current date back and grab a week and if there is data there, I can assume the symbol has the 9 quarters I need (I learned that the symbols nasdaq's ftp posts daily are the ones ACTIVELY trading (i.e. not delisted) so I dont need to worry if it's currently trading, i.e. check an end date). So if it exists as trading 9 quarters ago for any day within a week window, I can then grab the whole 9 quarters for that symbol.

Unless of course the company does what Dell did, and buys back all their stocks.

Anyways. I'm trying to brainstorm and was curious if Yahoo posted important details that I could query so i dont have to grab more data than I need.

Another idea i had was to use IPO. But what would be ideal, at the very least, was a first day traded field (some yahoo queriable field in R) and/or # of days actively traded from current date.

## Answer by thistleknot (score 1, accepted)

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

What I did was go back 2 years and grab a week's worth of data and if it traded that week, I proceeded to grab 2 years.

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.