Keywords: Hawkes process, point process, exponential kernel, reflexivity, branching ratio, E-mini, market volatility, flash crash.

 

Primary Software Tools: R version 3.5.0 (Joy in Playing)

 

1. Introduction

According to the 'Efficient Market Hypothesis' (EMH) the securities market is extremely efficient in incorporating all the relevant information into the price of the security and to the market in general. Thus performance of set of stocks based on either their past earnings or their fundamentals reseach may not necessarily outperform that of a randomly selected stock portfolio of similar risk (see Malkiel (2003) for more discussion on this topic). In the EMH model, a stock price is modeled as a random walk from its previous day's price without any long term correlation (memory). Empirical observations, however, have indicated that a good portion of the volatility cannot be explained solely by the fundamentals and may be endogeneously generated (see Hardiman, Bercot, and Bouchaud (2013) and references therein). In other words, longer term correlation may need to be considered when analyzing the price fluctuations of a security.

Adding to the debate against the EMH theory which considers only exogeneous information in explaining the volatility, Filimonov et al. analyzed several stocks and concluded that price variations can also result from short-term endogeneity (reflexivity) of the stock (Filimonov et al. (2014)). A given market event can trigger successive events that can add to the volatility. This is similar to the basis of the epidemic model where every event is triggred by an earlier event and acts as a trigger for the next event. To this end, they suggest a very long term correlation in expalining the 2008 market crash which, according to the authors, may have been developing over the time since 2006.

In the seismological event earthquake, a lethospheric plate moves near a fault line in order to release the pressure that have been building underneath. Such an event releases pressure under one plate but causes destabilization under another, moving it closer to its critical pressure and thereby causing a trigger for the next seismic event. Such a self exciting process has been modeled by the point process formalism developed by Alan Hawkes in the early 1970's (Hawkes (1971)).

Hawkes process can also be applied to financial market data to model the high volatility as a self exciting process (one event triggers the other). Indeed, there has been a large number of research on this topic recently, trying not only to explain the excess volatility beyond the exogenous events but also to find any signals where an earthquake like critical event such as a market crash, or a flash crash can be predicted (Hardiman, Bercot, and Bouchaud (2013), Filimonov and Sornette (2012). Also see Bacry, Mastromatteo, and Muzy (2015) for a review). Typically mid price changes have been used to study reflexivity in those studies. In the current study, however, volume data such as the number of ticks agggregated in each minute is used for the Hawkes model studies.

 

2. Point Process

Point process is a Poisson arrival counting process, in which each event arrives successively (probability of two or more events occuring at the same time is zero). As shown in Figure 1 below, the number of counts (\(N(t)\)) increases as more and more events arrive.

Figure 1: One dimendional Point process (adapted from Laub, Taimre, and Pollett (2015))

 

Intensity of the point process is given by the expectation of the change in counts per unit time. This can be written mathematically as follows.

\(\lambda(t)~=~\mathbb{E}[\frac{dN(s)}{ds}](t) ~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~(1)\)

 

Intensity of a one dimensional point process is illustrated in Figure 2 below.

Figure 2: Point Process Intensity(adapted from Laub, Taimre, and Pollett (2015))

 

As time passes, the intensity (black filled circles) decays until the next event arrives (red filled circles) which then causes the intensity value to increase. Clustered event arrivals causes the point process intensity to rise sharply similar to an earthquake or a flash crash.

 

3. Hawkes Formulation in Financial Data

3.1 Point Process Intensity and Average Intensity

Hawkes process is a non-homogeneous Poisson process in which the rate of event arrivals vary over time, i.e. the rate \(\lambda\) is \(\lambda(t)\). The intensity of the point process can be written as

\(\lambda(t)~=~\mathbb{E}[\frac{dN(s)}{ds}](t)\)

\(\hspace{25pt}=~\mu ~+~\int\limits_{-\infty}^t \phi(t-s)dN(s)\)

where \(\mu\) represents the exogenous part of the point process. Thus the value of \(\mu\) depends on the external news that affects the arrival of the event (stock price, or the volume of trade).

The integral on the other hand represents the sum of the effects of all the past events leading to the current time \(t\). This is the endogenous part of the process and is called reflexivity. To analyze the effect of endogeneity, the value of \(\mu\) is assumed constant. When the integral is zero, the process is stationary and represents a homogeneous Poisson arrival process.

The average intensity can be computed as follows.

 

Average intensity \(\Lambda ~=~ \mathbb{E}[\lambda(t)]\)

\(\hspace{25pt}=~\mathbb{E}[\mu+\int\limits_{-\infty}^t \phi(t-s)dN(s)]\)

\(\hspace{25pt}=~\mu~+~\int\limits_{-\infty}^t \phi(t-s)\mathbb{E}[dN(s)]\)

\(\hspace{25pt}=~ ~\mu~+~\int\limits_{-\infty}^t \phi(t-s)\Lambda ds \hspace{15pt}\) (since partial differential \(~\mathbb{E}[dN(s)]=\Lambda ds\))
 

Substituting \((t-s) = \tau\) (and hence \(ds~=~-d\tau\))

\(\Lambda ~=~ \mu ~+~ \Lambda \int\limits_{\infty}^0\phi(\tau)(-d\tau)\)

\(\hspace{25pt}=~\mu ~+~ \Lambda \int\limits_0^{\infty}\phi(\tau)d\tau ~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~(2)\)

\(\mu\) is also known as the parent or immigrant event that give rise to the child events in a self exciting process.

 

3.2 Reflexivity or Branching Ratio

Writing \(n~=~\int\limits_0^{\infty}\phi(\tau)d\tau\) in the equation (2) above
we get

\(\Lambda~=~ \mu ~+~ n \Lambda\)

\(\implies n~=~\frac{\Lambda - \mu}{\Lambda}~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~(3)\)

 

Thus the value \(n\) is the ratio of the child event population over the total event population. Therefore, \(n\) is also known as the branching ratio.

From equation (3) above

\(\Lambda(1-n)~=~\mu\)

\(\implies \Lambda ~=~\frac{\mu}{1-n}~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~(4)\)

 

From equations (3) and (4) it can be seen that as the value of \(n\) increases to its critical value 1, the intensity increases asymptotically, i.e. an earthquake or flash crash has occured. Measuring the value of \(n\) will give us an indication of the reflexive nature of the process.

 

3.3 Kernel Function

In the definition of \(n\), the function \(\phi(\tau)\) is known as the kernel function. It is a probability density function that integrates to 1. This function represents the correlation of past events to the current one. Filimonov and Sornette (Filimonov and Sornette (2012)) used an exponential kernel to fit their E-mini data. Hardiman et.al. used a power law kernel which they belive can explain the market reflexivity better. In this article an exponential short memory kernel was used to evaluate the branching ratio for the E-mini and AXP ticks data. The kernel function and the computed branching ratio are shown below.

 

Exponential kernel: \(\phi(\tau)~=~\alpha e^{-\beta\tau} \hspace{20pt}\) where \(\beta~>~0\).

Hence \(n~=~\int\limits_0^{\infty}\phi(\tau)d\tau\)

\(\hspace{35pt}=~\int\limits_0^{\infty} \alpha e^{-\beta\tau} d\tau\)

\(\hspace{35pt}=~~\alpha \int\limits_0^{\infty} e^{-\beta\tau} d\tau\)

\(\hspace{35pt}=~~-\frac{\alpha}{\beta}\bigg[ e^{-\beta\tau}\bigg]_0^{\infty} ~=~ -\frac{\alpha}{\beta}\bigg[0~-~1\bigg]\)

\(\hspace{35pt}=~~\frac{\alpha}{\beta}\)

 

Therefore for the exponential kernel,

Reflexivity is : \(\hspace{10pt}n~=~\frac{\alpha}{\beta}~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~(5)\)

 

4. Fitting Data to Hawkes Model: Maximum Likelihood Function

Empirical market data can be fit to the Hawkes model by maximizing the likelihood function for the given parameters described below.

 

For the parameters (\(\mu, ~\alpha, ~and~\beta\)) the log likelihood function for the intensity

\(\Lambda(t|\mu,\alpha,\beta)~=~\mu+\int_{-\infty}^t\phi(t-s|\mu,\alpha,\beta)dN(s)\) is given by

\(\log (t_1,t_2\dots t_n|\mu,\alpha,\beta)~=~ -\int_{-\infty}^{T\ge t_n}\Lambda(t|\mu,\alpha,\beta)dt~+~ \int_{-\infty}^{T\ge t_n}\log(\Lambda(t|\mu,\alpha,\beta))dN(t)\)

\(\hspace{25pt}=~-\int_{-\infty}^{T}\Big[\mu+\int_{-\infty}^t\alpha e^{-\beta(t-s)}dN(s)\Big]dt~+~\int_{-\infty}^{T}\log\Big[\mu+\int_{-\infty}^t\alpha e^{-\beta(\tau-s)}dN(s)\Big]dN(t)\)

(..skipping several steps...)

\(\displaystyle \hspace{25pt}=~-\mu t_n~+~ \sum_{i=1}^n\Big[\frac{\alpha}{\beta}\big(e^{-\beta(t_n-t_i)}-1\big)\Big]~+~\sum_{i=1}^n \log(\mu~+~\alpha A_i)~~\dots~~\dots~~\dots~~\dots~~\dots~~\dots~~(6)\)

where \(\displaystyle A_i~=~ \sum_{t_j<t_i}e^{-\beta(t_i-t_j)}\)

 

The three terms in (6) above need to be evaluated and maximized (minimize negative log likelihood) by varying the parameters \(\mu,\alpha,\beta\).

 

5. Trading Data and Exploration

Trade data used for the analysis are from the month of January 2017, specifically from January \(3^{rd}\) through January \(6^{th}\). For the analysis, data for E-mini and American Express were used. More about these two seccurities and their data are described below.

 

Data dimension (rows and columns)

## [1] 5756702      14

Columns in the data

##  [1] "trade_dt_key" "tradedate"    "symbol"       "bid"          "ask"         
##  [6] "price_high"   "price_low"    "spy"          "ticks"        "volume"      
## [11] "spy_high"     "spy_low"      "vwap"         "price_std"

Trading dates

## 2017-01-03 
## 2017-01-04 
## 2017-01-05 
## 2017-01-06

 

5.1 E-mini S&P 500

E-mini (ticker 'ES') is a fully electronically traded futures contract with its price linked to the S&P 500 stock market composite index. Each one point move in S&P 500 index is equivalent to US$50 per E-mini contract. It is traded 5 days a week and 23\(\frac{1}{2}\) hours per day (daily maintenance hour is 4:30 PM to 5:00 PM). It is a highly traded security in Chicago Mercantile Exchange (CME). Below is a summary of some of the relevant columns of the trade data.

 

#Data structures  
summary(tix1min[tix1min$symbol=="ES",c(2:3, 9:10)])
##    tradedate                      symbol              ticks       
##  Min.   :2017-01-03 09:31:00   Length:1561        Min.   :  1.00  
##  1st Qu.:2017-01-04 09:32:00   Class :character   1st Qu.: 12.00  
##  Median :2017-01-05 09:32:00   Mode  :character   Median : 19.00  
##  Mean   :2017-01-05 00:49:14                      Mean   : 23.87  
##  3rd Qu.:2017-01-06 09:31:00                      3rd Qu.: 28.00  
##  Max.   :2017-01-06 16:03:00                      Max.   :293.00  
##      volume      
##  Min.   :     0  
##  1st Qu.:  1062  
##  Median :  1838  
##  Mean   :  2872  
##  3rd Qu.:  2956  
##  Max.   :271927

 

Below is some more summary of the ticks and volume data for E-mini. Kurtosis was calculated for the log(ticks) or log(volume) data as shown below.

 
###Mean, SD, kurtosis

##        symbol min    max    mean      sd kurtosislog
## ticks      ES   1    293   23.87   21.24        4.52
## volume     ES   0 271927 2872.10 8029.20        6.77

 

The kurtosis value of log(ticks) is close to that of a normal distribution. This is sown in the plot below which shows that the ticks of E-mini have a log normal distribution.

 

Figure 3: Histogram and Density Plots of E-mini ticks data
 

5.2 American Express (AXP)

Another simple (not index based) security American Express (ticker 'AXP') was also analyzed in order to compare reflexivity of a simple security to that of a composite index based security. Below is some data exploration of AXP ticks data.

 

##        symbol min    max    mean       sd kurtosislog
## ticks     AXP   1    886   63.29    47.42        7.50
## volume    AXP   0 306843 9323.85 14358.85        6.74

 

Here are the histogram plots and an equivalent normal density plot of log of AXP ticks data. Log(ticks) are leptokurtic (fat tailed) as shown above (kurtosis > 3.0).

 

Figure 4: Histogram and Density Plots of AXP (American Express) ticks data
 

6. Hawkes Model of Ticks Data

Ticks data for the E-mini and AXP securities were fitted to a Hawkes model with exponential kernel as discussed in section 4 above. As described previously, only one or no event event can arrive at any given time point in a point process. However, in the ticks data there are several events arrive at each time point (number of ticks is the number of events at that time point). To translate the ticks data to point process arrivals were created either clustered events or randomly distributed events of the ticks within the 1 minute time resolution. Further data processing was necessary to make the dataset into events of a point process (see below for further explanation).

6.1 Event Arrivals for Hawkes Process

In a point process, number of events are counted and their corresponding arrival times are noted. In our stock trade data, each order (tick) is counted as an event, and its time is recorded. These arrival times are used to model the Hawkes process.Since there are non trading (overnight) periods in the dataset, these periods introduce a large gap in the dataset erroneousely indicating sleep period of the events. Existence of these gaps assumes the market is open and no events occur during this period, which is not true. To avoid this, the opening event for the day of a security was considered as the next event of the previous day and the time separation between them is given either as 1 min (resolution of the dataset), or close to the maximum time gap in all the events of the dataset for that security. This process essentially extends the trading period to all 3 days without any overnight gap in trading.

For example, the maximum event gap for E-mini data is 4 min. Hence the difference between the last event of a day and the first event of the next day was reset to 4 min (4.01 min).
 

Number of observations

## [1] 1561

Time windows (minutes) and occurrence frequencies

##   min.gap Freq
## 1       1 1551
## 2       2    1
## 3       3    4
## 4       4    1
## 5    1047    1
## 6    1048    2

Maximum window length (minutes)

## [1] 4

 

The loglikelihood function was computed and data fitted to the Hawkes model. The three terms used in the loglikelihood calculations are described in section 5, equation (6). The functon returns a table (result.df) which consists of the following.

  1. midpoint of the time window
  2. \(\mu\)
  3. \(\alpha\)
  4. \(\beta\)
  5. n (branching ratio).

 

 

Top six rows of a typical output of the fitted model is shown in the table (figure) below.

 

Figure 5: Sample output of R code for Hawkes model of ticks data

 

6.2 Clustered Model

The data for each of the security consits of a total of about 26 hours of data agggregated at each minute interval over four days. Each tick is considered an event and the number of ticks at a minute point is the number of events at that time point. Since our time resolution is 1 minute and for Poisson process each event must have a unique time stamp, a clustered model can be used to separate the ticks at a time point. In this model, each tick is given a time equivalent to the time of the minute point plus a multiple of a small fraction of the time resolution ( e.g. miliseconds). For example, if at time 3 minute, there are 5 ticks, then these five events are assigned the time stamps 3.0, 3.001, 3.002, 3.003, 3.004 minutes. Thus all five events are clustered around the time point 3.0 minute. This model is illustrated in the figure below.

 

Figure 6: Clustered Events Model
 

The R code for creating the arrival events in a clustered model is shown below.
 

 ###For event arrivals, add small time (ms, 1e-3) to each arrival (at the same time/same ticks). This is clustered model.
get.event.arrivals <- function(df){
  event.arrivals <- vector(mode="numeric", length=0)
  for(i in 1:n.obs){
    for(j in 1: df$ticks[i]){     #loop for the number of ticks
      event.arrivals <- c(event.arrivals, event.time[i] + (1e-3)*j)
    }
  }
  return(event.arrivals)
}

 

6.3: Clustered Hawkes model of 1 Hour Data

To get an inside view of the reflexivity of a particular security, it is useful to model the data in small groups of events for a better understanding of the endogeneity for that duration. Modeling all the data at once gives an average value of the reflexivity for the entire period. This may be of academic value, but having knowledge of the reflexivity in a shorter period of time may be useful in endogeneity monitoring and building trading algorithms accordingly to get advance warnings of detrimental events such as a flash crash.

The current dataset contains data for over 26 hours of trading. For hourly analysis, the data was split into groups of 1 hr events (last set contains all data after 25th hour). R code to store arrival events for each hour is shown below.

 

##Function to get arrivals events to input into Hawkes Process (log likelihood estimate). 
#'etime' is 60 for the 1 hour data window (interval)
get.arrivals <- function(event.arrivals, etime){
  #Number of complete intervals 
  intrvls <- event.arrivals[length(event.arrivals)] %/%etime

  #Initialize a list of vectors to hold arrivals
  arvls <- list() 
  pointer <- 0
  for (i in 1:intrvls){
    if (i==intrvls){
      #collect all remaining data in the last group
      arvls[[i]] <- event.arrivals[(event.arrivals >= etime*(i-1))] -   pointer
    }
    else{
      #Get the next window data and reset the clock to start at 0
      arvls[[i]] <- event.arrivals[(event.arrivals >= etime*(i-1))&(event.arrivals < ((etime*i)))] - pointer
    
      pointer <- pointer + etime #next window
    }
  }
  
  return(arvls)
}

 

6.3a: Clustered E-mini 1 Hour Data Hawkes Model

The figure below shows the Hawkes model of E-mini data for each 1 hour intervals. The top trace shows the plot of ticks at different times. The bottom trace shows the values of \(n\) (branching ratio or reflexivity) for each hour.

Figure 7: E-mini 1-Hr Interval Hawkes Process (Clustered Events)
 

The table below shows the results from the Hawkes model of E-mini data in hourly intervals. The branching ratio remains relatively stable but near critical with an average of 0.94. The value of \(\beta\) = 347 indicates the time period of the exponential decay is approximately 170 ms.

 

Table 1: One Hr Interval Hawkes Model for E-Mini (clustered events)

 

6.3b: Clustered American Express 1 Hour Data Hawkes Model

The figure below shows the Hawkes model of AXP data for each 1 hour interval. The top trace shows the plot of ticks at different times for AXP. The bottom trace shows the values of \(n\) (branching ratio or reflexivity) for each our (Labels are at the mid point of the hour).

Figure 8: AXP 1-Hr Interval Hawkes Process (Clustered Events)
 

The table below shows the results from the Hawkes model of AXP data in hourly intervals. The branching ratio remains nearly stable close to the critical value with an average of 0.99. The value of \(\beta\) = 221 indicates the time period of the exponential decay is approximately 270 ms.

 

Table 2: One Hr Interval Hawkes Model for AXP (clustered events)

 

6.4 Random Uniform Events

In this model, each minute interval is divided into either 1000,000 or 1000,000,000 (microsecond or nanosecond) segments depending on the maximum value of ticks in a minute for a stock. Each tick is given a time stamp randomly selected in a division within the next 1 minute interval. Thus the events are more uniformly placed within each minute interval. For example, if at time 3 minute, there are 5 ticks, then these five events may be assigned the time stamps 3.000, 3.100, 3.005, 3.060, 3.007 minutes in a random selection. This model is illustrated in the figure below.

 

Figure 9: Random Uniform Events Model
 

6.4a: Random uniform E-mini 1 Hour Data Hawkes Model

The figure below shows the Hawkes model of E-mini data for each 1 hour interval in the random uniform events model. The top trace shows the plot of ticks values at different times. The bottom trace shows the values of \(n\) (branching ratio or reflexivity) for each hour.

Figure 10: E-mini One hr Interval Hawkes Process (Random Uniform Model)
 

The table below shows the results from the Hawkes model with random uniform data of E-mini ticks in hourly intervals. The branching ratio fluctuates, but remains well below critical value with an average value of 0.72. The value of \(\beta\) = 4.819 indicates the time period of the exponential decay is approximately 12.5 minutes, a much slower decay rate compared to the milisecond decay time scale in the clustered events model.

 

Table 3: One Hr Interval Hawkes Model for E-mini (random uniform events)

 

6.4b: Random Uniform events American Express 1 Hour Interval Data Hawkes Model

The figure below shows the Hawkes model of AxP data with random unniform events for each 1 hour interval. Again, the top trace shows the plot of ticks at different times for AXP. The bottom trace shows the values of \(n\) (branching ratio or reflexivity) for each hour (Note that the labels are at the mid point of the hourly interval).

Figure 11: AXP One Hr Interval Hawkes Process (Random Uniform Events)
 

The table below shows the results from the Hawkes model of AXP random uniform events data in hourly intervals. The branching ratio remains nearly stable but well below the critical value with a mean of 0.8. The value of \(\beta\) = 6.44 indicates the time period of the kernel decay is approximately 9 min.

 

Table 4: One Hr Interval Hawkes Model for AXP (random uniform events)

 

7. Interim Observations

In reality, the stocks ticks arrive as random uniform events rather than as a burst at the end of a minute interval. Therefore, all subsequent analyses were carried out using random uniform events model.

Time resolution of hourly Hawkes process may not be sufficient in order to detect sudden events requiring trading algorithm update. For example the flash crash that occured in 2010 had a time span of less than an hour (Commodity Futures Trading Commission (2010)). Hourly model may average out short term correlation in the data. Therefore, shorter time models such as 10 or 15 minute data model is necessary to make use of the short term correlation in the data. Hence, subsequent analyses were carried out in a shorter (15 min) time scale.

Short term analysis is typically influenced by the following events:

  1. Short term human reflexiveness
  2. Algorithm trading strategies
  3. Herding in algorithm trading
  4. Stop-loss orders
  5. Flash crash

Daily, weekly, or monthly data can be used to investigate the effect of long term correlation on the reflexivity of the trading volume.

 

8. Short term (15 min) Hawkes Process in Market Volume Data

Short term Hawkes analysis is influencd by the existence of shorter lags in the autocovariace of the market data. This type of analysis can be useful to detect the effects of the short term events listed above on the market volume data of a security. Below are Hawkes analysis of E-mini and AXP in short windows of 15 minutes.

8.1 Hawkes Process in E-mini: 15 min Data

The plot below shows the changes in reflexivity of E-mini ticks values when modeled in 15 minutes time window. The X-axis labels correspond to the mid point of the 15 minute window.
 

Figure 12: E-mini 15 min Data Hawkes Process (Random Uniform Events)
 
The branching ratio varies but is generally below the critical value of 1. As seen in the table below, the mean values of the refflexivity (n) is 0.6, well below the critical value.

 

Table 5: Hawkes Model for E-mini 15min Data (random uniform events)

 

8.2 Hawkes Process in AXP: 15 min Data

Similar analysis was also carried out in AXP. The plot is shown in figure below. The reflexivity has large fluctuations but generally observed below its critical value of 1.

 

Figure 13: AXP 15 min Hawkes Process (Random Uniform Events)
 

The table below shows that based on the ticks volume data,the reflexivity of AXP on the average is 0.69, well below the critical value of 1.
 

Table 6: Fifteen min Hawkes Model for AXP (random uniform events)

9. Hawkes Model of E-mini with Short Exponential Perturbation

In order to see the effect of a local perturbation (that decays within the time window of Hawkes analysis) on the Hawkes parameters, a short exponential noise was introduced in the ticks data. The R code for that is shown below.

 

##########Adding a exponential flash point to the data ###########
set.seed(123)
h <-hist(rexp(1000), freq=3)
mult <- h$counts
flash.pt <- sample(1:length(event.time),1)

emini1a <- emini1
for (i in 1: length(mult)){
  emini1a$ticks[flash.pt-i] <- emini1a$ticks[flash.pt-i] * mult[i]/5
  emini1a$ticks[flash.pt+i-1] <- emini1a$ticks[flash.pt+i-1] * mult[i]/5
}

 
The perturbation was introduced to the E-mini data used for producing the result in Figure 12. Hawkes analysis of the perturbed dataset is shown in the figure below.

Figure 14: Hawkes Process in E-mini with short Exponential perturbation
 

The plot on the top is the E-mini ticks data with a short exponential perturbation near the 65\(^{th}\) time window (near 65x15 = 975 min or ~ 16 hr 15 min). The perturbed data is plotted in blue. The lower panel shows the Hawkes parameter n (branching ratio or reflexivity). Reflexivity of the perturbed dataset is plotted in blue. The reflexivity increases near the 65\(^{th}\) time window as perturbation is introduced.

10. Future Work

There are several ways the analysis can be improved.

  1. It is well known that the stock trading is very active in the early hours and late afternoon of the trading day. High volume trades are expected in those hours which may falsly indicate clustered arrivals in the Hawkes process. Therefore, it is necessary to remove the daily (seasonal) trends from the dataset prior to building the Hawkes model, particularly for longer time window.

  2. Number of shares (volume) traded in each tick varies widely. Therefore, ticks data do not represent actual volume data. For a volume analysis of the Hawkes process, it may be more relevant to use volume data instead of ticks data.

  3. According to Bacry et al. (Bacry, Dayri, and Muzi (2012)) and Hardiman et al. (Hardiman, Bercot, and Bouchaud (2013)), exponential Markovian model may not be sufficient to model Hawkes process for the high frequency financial data. They suggest using a power law kernel similar to the one shown below.
     

\(\phi(\tau)~=~\Theta(\tau-\tau_0)\phi_0\frac{\tau_0^\epsilon}{\tau^{1+\epsilon}}\)

where \(\Theta(\tau-\tau_0)\) is a Heaviside step function.
 

or,

\[ \phi(\tau)~=~ \begin{cases} \phi_0\frac{\tau_0^\epsilon}{\tau^{1+\epsilon}} & \quad \text{for } \tau > \tau_0\\ 0 & \quad \text{elsewhere } \\ \end{cases} \]

It will be useful to build Hawkes model for the trade volume data using a powerlaw kernel.

  1. If the Hawkes process is analyzed in short time intervals such as 15 min, then seasonality in daily volume may not influence the branching ratio. However, to get an appropriate measure of the value of \(n\), it is necessary to record ticks data in second, or even milisesond time scale. In the current formalism, one of the assumptions is that endogeneity is consant for the entire second ( i.e. data are independent within the 1 second interval but may be correlated to data outside of that interval). Recording data in second, or milisecond scale will capture the correlations that may exist in smaller time scale.

  2. In this analysis, it is possible that the branching ratio in our 15 min (or even 1 hr) time window analysis may be understimated since the number of correlated dataset is limited to only 15 (since data in each 1 min window are randomly uniformly placed, therefore they are assumed independent). Thus, to reiterate the point (iv) above, larger data size (hence second or milisecond data) is needed to get a better estimate of the branching ratio.

  3. The perturbation introduced into the data for the study here is a short exponential with arbitrary parameter. A better and perhaps more realistic way to construct the perturbation is to parametrize it with the values from a market crash data ( e.g. 2008 crash, or 2010 flash crash).

  4. It is perhaps necessary to carry out a multi-dimensional Hawkes analysis that includes data on a blend of a variety of stocks. Such an analysis may have practical use in trading algorithm implementation.


11. References

Bacry, E., Dayri K, and J-F. Muzi. 2012. “Non-Parametric Kernel Estimation for Symmetric Hawkes Processes. Application to High Frequency Financial Data.” Journal Article. European Physics Journal B 85 (5): 157. https://arxiv.org/pdf/1201.3572.pdf.

Bacry, E., I. Mastromatteo, and J-F. Muzy. 2015. “Hawkes Processes in Finance.” Journal Article. ArXiv, no. 1502.04592v2. https://arxiv.org/pdf/1502.04592.pdf.

Commodity Futures Trading Commission, Securities & Exchange Commission. 2010. “Findings Regarding the Market Events of May 6, 2010.” https://www.sec.gov/news/studies/2010/marketevents-report.pdff.

Filimonov, V., and D. Sornette. 2012. “Quantifying Reflexivity in Financial Markets: Toward a Prediction of Flash Crashes.” Journal Article. ArXiv, no. 1201.3572. https://arxiv.org/pdf/1201.3572.pdf.

Filimonov, V., D. Bicchetti, N. Maystre, and Sornette D. 2014. “Quantification of the High Level of Endogeneity and of Structural Regime Shifts in Commodity Markets.” Journal Article. Journal of Int. Money. Finance 42 (174-192).

Hardiman, S.J, N Bercot, and J-P. Bouchaud. 2013. “Critical Reflexivity in Financial Markets: A Hawkes Process Analysis.” Journal Article. https://arxiv.org/pdf/13032.1405v2.pdf.

Hawkes, A. 1971. “Spectra of Some Self-Exciting and Mutually Xxciting Point Processes.” Journal Article. Biometrika 58: 83–90.

Laub, P.J, T Taimre, and P.K. Pollett. 2015. “Hawkes Process.” Journal Article. https://arxiv.org/pdf/1507.02822.pdf.

Malkiel, B.G. 2003. “The Efficient Market Hypothesis and Its Critics.” CEPS Working Paper, no. 91. https://www.princeton.edu/ceps/workingpapers/91malkiel.pdf.