Notice that mu values tend to fall within a specific range for both large day trades, and small day trades. For large day trades this is between .2 and .4 for the period we observed, whereas for small night trades the values was between .17 and .25. This made sense given that there is much less trading activity at night even though not many large trades are made during the day! A similar conclusion can be arrived at about the alpha and beta values.

When comparing the week of 1/15/18 Large Day trades to 1/22/18 Large Day trades, there is a noticeable difference in the magnitudes of alpha and beta. Generally, for the week of 1/22/18 the parameters are higher for each day, which implies that the weeks greater volatility and movement in futures leads to this phenomena.


Another ratio provided in the results is the branching ratio which is defined as alpha/beta. This is defined as the number of daughter events per mother event. The branching ratios calculated in this study however offer something interesting. The small range they generally fall in imply that there is a predictability in the markets that is related to cascading behavior.

General Fit

While the model does a good job of modeling small and large spikes in trading activity, it consistently undershoots real intensity values (especially during times of high intensity). This could potentially be fixed by tweaking alpha manually and may be caused by the random millisecond delay that was added to our data. A visual representation is provided below:

Parameter Predictability

Parameters appear to be unpredictable even by simple algebraic methods as shown in the results which makes this model hard to implement in a trading environment which requires quick parameter calibration.


The results imply that the Hawkes Process does a good job of modeling trade arrivals in the ES Mini Futures Market. While it successfully predicts spikes in intensity for both small and large trades during day and night, there are a few concerns with the model:

  1. The model takes a long time to fit data because of algorithmic complexity. The formulation we used in R has a O(n^2) time complexity so datasets for large trades with 30k points would take about 2 hours to fit, but modeling datasets with 60k+ data-points would take at least 8 hours to fit.
  2. The model’s predicted intensities are consistently below actual intensity. This is because of the random millisecond delay we added to trades to make them unique. This can be combatted by manually tweaking the alpha parameter of the model.
  3. This model cannot be currently implemented in a trading environment because of the two reasons above and the fact that parameters appear to be unpredictable.
  4. The similarity of branching ratios imply there is a great deal of predictability in the market in terms of cascading. Perhaps there is a way to find a golden ratio that is predictable!
  5. Market is random walk! This is supported by the fact that parameters cannot be accurately predicted from historical parameters. Perhaps there is an unknown connection to something else such as the VIX index.

Further Research

To make this model more robust and implementable in a trading environment further research should be conducted in parameterizing a less time costly version of the Hawkes Process and finding a way to get around adding a millisecond delay to the data. A more sophisticated model would also link arrival intensities of large and small trades as dependent on each other.