When making a high-frequency or mid-frequency prediction on an assets return, what are the advantages and disadvantages of making a continuous prediction vs a prediction that only fires on a particular event?

For example my model might have a number of features: order imbalance, trade imbalance etc

Do I want to make a continuous prediction of where the asset price is going? Or do I want to make predictions only when certain criteria is met?

My feeling is that the event-based predictions will be much less noisy and therefore have better performance. I also wonder if the two methods are equivalent when applying a threshold to the continuous prediction model.


1 Answer 1


I'm not sure what you mean by continuous prediction.

Depending upon you system design, you have some concept of state, "everything you need to know, and nothing else". For instance, if features of a few order books map to your system's concept of an state, only order book events require reevaluation of your predictions.

To avoid susceptibility to "quote stuffing" or in general activity rates beyond your system's ability to keep up with out queueing, you may want to consider a clocked architecture, where you check if events arrived in the most recent interval. No event arrivals? No reevaluation required. Events arrived? Reevaluate. You will know the maximum rate at which you will need to perform reevaluation (the clock rate), and you can verify that you have adequate computing capacity for your tasks.

While I have systems responding to market-opened and market-closed events, I do not have systems that respond to the continuous passage of time.

If you use a clocked architecture, you will need to determine if it is appropriate for you trading strategy. For some strategies, the first participant gets the profit, the remaining participants get the risk. A clocked architecture would not be appropriate in this scenario. I don't work with such systems, but perhaps such an event-driven system could gracefully disengage when event rates exceed designed maximum throughput capacity.

  • $\begingroup$ He means the target variable. Could be discrete (e.g. uptick/downtick, uptick/downtick/no change, high vol/low vol, big move/small move etc.) or continuous (e.g. 5 min return). $\endgroup$
    – databento
    Jan 9 at 4:48

Your Answer

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

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