Skip to content
All library documents

Historical Level 2 Data: Sourcing, Timestamping, and Collection

Article Quant Q&A · Author: Dylan

Summary

The discussion compares ways to obtain historical market depth data for research, including specialist vendors, broker APIs, trading platforms, and collecting a dataset over time. It distinguishes consolidated quotes from full-depth exchange feeds, since products described as Level 2 can contain different levels of detail. The responses also describe practical tradeoffs: price, available history, supported markets, file formats, and how much work is needed to download or process the data.

A central data-quality point is that venue timestamps may not align, so researchers should understand whether timestamps come from exchanges or are assigned when a vendor receives the data. Broker depth can be convenient for building a personal archive, but one respondent cautions that snapshots taken every 100 milliseconds may miss events. Vendor offerings and prices cited are specific to the discussion and may have changed; coverage and precision should be checked against the intended strategy. Paper trading or collecting current data can help develop a process, but does not supply historical depth for past-market testing.

Key ideas

  • Level 2 products may represent consolidated quotes or full depth from individual exchanges.
  • Exchange timestamps may not align, which complicates reconstructing cross-venue event order.
  • Collecting broker depth over time can build a tailored historical dataset, but some feeds provide snapshots rather than every update.
  • Compare vendors and platforms by market coverage, historical range, precision, cost, and data accessibility.

Tags

Full text
# Historical Level 2 Data (Market Depth)


# Historical Level 2 Data (Market Depth)












I'm currently looking to hone a system using market depth however I am looking for a good source of historical level 2 data.

As of right now the best source of historical I have found is automated trader, however at 6 grand for 1 year I need to make some more money before that happens. The other vendor I'm in talks with is dxfeed, however I'm not sure if they offer level 2 historical data.

For my platform I use DTN IQ feeding into matlab which sends trades to IB. DTN IQ does not provide historical level 2 data.

If I can't find a good source I'm instead going to test by paper trading the same system on the current market to hone in a strategy.

Any other thoughts or opinions on how to get access to historical level 2 would be much appreciated.

## Answer by Louis Marascio (score 5)

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

Collect the data yourself and self-timestamp it or buy it from a vendor that timestamps on receipt.

If you do buy data from the venues you should consider very strongly the fact that venue timestamps are never in agreement. Therefore, an event that INET reports at time A does not coincide with an event that BZX reports at time A. This makes buying this sort of data somewhat hazardous. You are better of collecting it yourself or buying it from a vendor who has collected it and self-timestamped the data on receipt.

## Answer by mepuzza (score 3)

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

I use interactive brokers as well. What I do is I collect the data throughout the day with their API (reqMktDepth functionality) and I'm building my personal data warehouse. It may seem silly but I've been doing it for two years now and I have a good dataset to play with. Just get started and you'll see that it makes sense, the nice thing about it is that you only download whatever you really need and dont pay for the rest (actually you don't pay anything, period)

## Answer by Paul (score 3)

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

You are not clear if you mean Level 2 data as in top-of-book for each exchange showing the Bid/Ask from exchange or each exchange's direct feed with full depth.

The exchange full depth direct feeds have become very expensive in last few years as exchanges increase revenue from them, for example NYSE OpenBook is now approx 6,000 per month and Nasdaq Itch is $3,500 per month.

Here are some vendors (in alphabetical order) who can help:

AlgoSeek.com : Has years of consolidated feed (aka the TAQ, Consolidated feed) showing Bid/Ask from each exchange. Also has direct feed full depth from ARCA, BATS, EDGEX/A, Nasdaq. Reasonably priced as these things go.

dxFeed.com : See posting above.

Interactive Brokers. As mentioned above, you can collect data through IB but be aware that it is snapshot data taken every 100 milliseconds (every 1/10th of a second) so you do not get a real accurate dataset.

Nanex.net : Has been collecting and analyzing data for many years now and they will sell it. Published pricing is about $600 to buy one month of data, but will negioate.

QuantGo.com : A clould platform where clients can rent access to years of historical tickd data from multiple data vendors. Most affordable solution (eg. $275 per month to access all 6 years of Equities trades and quotes) BUT you have to use your own comptuer instance in the Amazon AWS cloud. You get your own computer in the cloud...it is how they ensure the data can be rented.

TickData.com : Have all the consolidated data with Bid/Ask from each exchange. Great data quality. You can buy just the symbols you need or the whole universe. Do not have full depth data. More expensive than other vendors but great quality.

## Answer by Roman  Elizarov (score 2)

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

dxFeed does offer level 2 historical data on demand. You can try it out for free. For example, to see how all market makers pulled out their quotes on ACN (Accenture) during May 6, 2010 Flash Crash go to the following URL: http://demo.dxfeed.com:7070/onDemand/data?categories=E-M&symbols=ACN&start=20100506-1447&end=20100506-1449 and use demo/demo when prompted to login. Add "&format=csv" at the end to download the data in Excel-friendly comma-separated values format. Demo access it limited to this particular day and to 1 second conflation interval.

Unless you host your own servers close to exchange and engage in nanosecond-level HFT, you don't have to build your own data warehouse. You can request the data you need from a vendor with adequate precision even for strategies on millisecond scale.

## Answer by COROVICD (score 2)

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

There are lots of trading software vendors who give L2 data in one or other way.

For example, one can download a free version of NinjaTrader and use it to download free L2 data on all futures, with the only exception of FTSE. NinjaTrader holds x3 months worth of L2 data on their servers, so you are good to go from a get go.

There are x2 minor snags:

- data can only be downloaded manually, day by day, for each future, so get ready to maybe spend x2 weekends just downloading 20 - 30 future contracts.

- data is not readable, except by NinjaTrader, although there is a piece of open source software called NRDtoCSV by Eugene Ilyin, that can convert NinjaTrader's .NRD file format into .CSV: https://github.com/eugeneilyin/nrdtocsv

Additionally, if you purchase NinjaTrader Lifetime license and fund NinjaTrader Broker account ( I know ), you get access to NinjaTrader Continuum historical data feed that appears to go back to 2017 on most futures. So, you buy software and you get a very long L2 history data, that otherwise you'll be paying many thousands of dollars.

Now, since there is a fierce competition amongst trading software vendors I noticed that TradingStation provides lots of data, but I'm less familiar with their case. So, its worth looking around and sending emails to support asking questions.

I hope this was useful.

## Answer by Katie (score 1)

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

Paul's answer still applies today, with some changes.

Databento is the best choice for this if they have the exchanges you want. Other than that, Refinitiv Tick History and Algoseek are the only other alternatives that are user-friendly.

Tickdata only has TAQ and Nanex still doesn't have nanosecond timestamps and is not user-friendly.

## Answer by jordan.baucke (score 0)

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

I agree with @Louis Marascio and @chrisaycock, data is expensive! Going directly to the exchanges is the safest way to obtain huge blocks of historical data, and real-time sources.

If $6000 for a year is too much, than your not going to be able to afford the exchange's data sources, than your not going to be able to afford a big chunk of historical data.

Louis's point about generating your own database by either downloading it from your broker is a good one. Or consider subscribing to a more cost-effective service ($60-$100 a month) and using that to build your database.

## Answer by Quinton Pike (score -1)

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

Agreed, it's usually best to build your own database. Data is really expensive, especially level 2 (due to all the licensing/fees).

Worth noting https://polygon.io as an end user/trader provider (couple hundred dollars/m).

If you're wanting direct exchange data feeds check out http://www.ctaplan.com or http://utpplan.com. Those will usually run a minimum of a couple thousand $ per month.

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.