The mid-price at time $t$ is denoted by $$p_t = \frac{s_t^{a,1} + s_t^{b,1}}{2}.$$

This mid-price can evolve in minimum increments of half a tick but is almost always observed to move at increments of a tick over time intervals of a millisecond or less. In our feature set, each limit order book update is recorded as an observation. Each observation is labelled bases on whether the mid-price will increase, decrease or remain over a horizon $h$: $$Y_t = \Delta p^t_{t+h},$$ where $\Delta p^t_{t+h}$ is the forecast the discrete mid-price changes from time $t$ to $t+h$, given measurement of the predictors up to time $t$. The forecasting horizon $h$ can be chosen to represent a fixed number of events or can be a fixed time interval.

This definition is from A High Frequency Trade Execution Model for Supervised Learning (https://arxiv.org/pdf/1710.03870.pdf).

According to that definition, what would be a reasonable $h$ here?

  • $\begingroup$ The parameters for a machine learning algo are often found by trial and error. That being said I would start with something small like 1 and go from there. $\endgroup$
    – amdopt
    Commented Apr 20, 2018 at 18:43

1 Answer 1


It depends on several things:

  1. Data: if your data has prices updated every hour, any h < 1 hour just doesn't make sense
  2. Goal: in practice, if your looking to build a strategy, you'll be limited by your infrastructure. I.e. if you're using a retail broker, predicting for h = 10 milliseconds won't help you, since you can't update your quotes that frequently
  3. Noise: generally, the shorted the horizon, the less noise you'll have in your observations, but something ~ 1min should be good enough.

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.