Apologies if this is not the correct forum for this question.

Access to high frequency data (trade data, quote data, limit order book updates, etc.) is currently relatively easy through various public or minimally-private endpoints (Crypto Exchange APIs, Broker APIs, etc).

It seems like it would be informative to be able to utilize this information in trading strategies or analysis that act on or are constrained by longer timeframes without the potential loss of information or flexibility that downsampling, to say evenly spaced bars over time or volume, may incur.

With the widespread availability of real-time data of such granularity, I'm wanting to know if there is some common development or analysis framework that I'm not aware of that lends itself to analysis/making predictions/taking actions/modeling the impact of said actions/etc. based on said data.

As a more specific example, say we start with a snapshot of the limit order book for some liquid asset traded on a centralized exchange and receive real-time updates of changes to the LOB as they happen.

In this case, for whatever reason (lack of colocation, latency, infrastructure, etc.), we have a delay of $\tau$ between when the LOB update actually happens and when our decided upon action reaches the exchange where $\tau$ is notably larger than the time between updates.

In this situation, is there a way to leverage the information contained in the real-time updates in a way that accomodates being able to act with a delay of $\tau$ while still giving us the flexibility of not working exclusively with downsampled evenly-spaced and/or lower-frequency data?

I'm not sure if this dips over into the proprietary or if simplicity dictates just dealing with the benefits/constraints of evenly-spaced/lower-frequency data or constraining our approach to avoid actions that hinge upon acting with a lower delay than $\tau$, but if possible, any references would be greatly appreciated.


2 Answers 2


You can extract low frequency sigals from high frequency data and apply them to low frequency strategies. Of course, such extractions are essentially data compressions and there usually will be a loss of information. However, most of the time you actually would want this loss of information, because for your low frequency stratey, most of the sigals from high frequency data are simply noise and not really useful without filtering.

Consider the example of an enquity trading strategy that rebalances daily. Does a random intraday snapshot change contain any usefull information for predicting tomorrow's return? Most unlikely. However, if you calculate some statistics of the bid/ask/cancel/trade based on L2 data, you might end up with some useful sigals.

Therefore, you could turn your high frequency data as low frequency sigals. It's simply resampling, but you have to know how predictive your data can really be.

Edit to answer the question metioned in comments

Suppose originally you are trading on 1-hour bars:

Your strategy is triggered whenever you receive one bar from the exchange, and your strategy can only look back at the bars before. Let's say it opens a long position when the last three bar's close prices are stricting increasing.

Now you also subscribe to order book updates, and on each update you record the mid price and you can calculate the mean price of all snapshot mid prices for any arbitrary lookback window. This price may or may not be better than your original hourly averaged price. Or maybe you can also record the order book imbalances, and calculate the mean of those. Adding this could potentially be more useful because it adds new information to your old feature set. Note that the calculation is still triggered on the hour bar, you simply need to record the high frequency data upon their updates.

When introducing new data sources, you need to make sure they have added values and select proper ways to extract their values. Calculating the mean is not bad but there could be better filtering methods.

  • $\begingroup$ Hm, okay, I think I'm getting what you're saying. $\endgroup$
    – QMath
    Apr 28, 2023 at 5:56
  • $\begingroup$ For clarifying purposes, would something along the lines of say, logging order book updates over the course of the day, keeping track of the mid price on each update, then using some sort of differing-lookback moving average crossover strategy applied to the mid price data to generate signals, then using some sort of filtering criteria to pick out the actionable signals from the "noise", then acting on those, be an example of what you're supposing? $\endgroup$
    – QMath
    Apr 28, 2023 at 6:04
  • $\begingroup$ I edited the answer to clarity. $\endgroup$ Apr 28, 2023 at 6:35

Not sure if there is any formal models or academic works carried on this but there are many use cases of L2 data no matter what time frequency your signal is generated at. One example, is you enter trade at let's say 4H bar but check for stop-loss or take-profit (or anything else) every minute/second. Personally, I use it the most for order execution. Suppose you are running your strategy on a daily bar and you want to reduce the market impact of your order so you will break down your order into chunks and send them over time. But every time you send the order you have to check the state of the orderbook and make sure the price is within your slippage tolerance. Other time your order can get cancelled/rejected for variety of reasons so you would need to access orderbook to resend the order.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.