3.2 Demonstration results
3.2.1 Impulse response analysis
To present the impulse response plots, we do not plot the steps, but against the update speed (τt) measured in milliseconds, hence the adjustment in milliseconds is always on the abscissa values as this helps put context on the adjustment speed.
Figures 3.2 to 3.8 present the impulse responses for the six ( OLS, Parzen, Qspec, Fajer,Tukey,Bhnls) kernels in our analysis and the OLS estimates. Note that whilst the OLS estimates appear to be a straight line, they are not. Without the kernel adjustments the OLS estimates are biased towards zero, following the logic of the Epps effect1. Hence, the IRFs are about one to two orders of magnitude smaller in terms of extracting the autoregressive structure. Indeed, this is visibly the case from the auto-and cross auto-covariance plots as the level of lagged dependency, the rate of decay and the complexity are respectively high (far greater than 50%) and, slow (over 1,000 lags) and complex (lots of oscillating
1 Epps effect is the phenomenon that the empirical correlation between the returns of two different stocks decreases with the length of the interval for which the price changes are mea-sured. The phenomenon is caused by non-synchronous/asynchronous trading and discretization effects.
Table 3.2: First Order Autoregressive Matrix, Spectral Least Squares Using a Parzen Kernel.
πj,1 πj,2 πj,3 πj,4 πj,5 πj,6
π1,i 0.02973*** 0.00070 0.02173*** 0.02177*** -0.02426*** -0.01986***
std.err(π1,i) (0.00071) (0.00070) (0.00070) (0.00070) (0.00070) (0.00070)
π2,i 0.00002 0.01069*** 0.00019 0.00013 -0.00006 -0.00004
std.err(π2,i) (0.00012) (0.00012) (0.00012) (0.00012) (0.00012) (0.00012)
π3,i -0.00037 -0.00041 0.01035*** -0.00018 -0.00001 -0.00003
std.err(π3,i) (0.00038 ) (0.00038) (0.00038) (0.00038) (0.00038) (0.00038)
π4,i -0.00019 0.00029 -0.00007 0.01041*** 0.00018 0.00017
std.err(π4,i) (0.00037) (0.00037) (0.00037) (0.00037) (0.00037) (0.00037)
π5,i 0.00049*** 0.00000 0.00000 0.00001 0.01024*** -0.00002
std.err(π5,i) (0.00011) (0.00011) (0.00011) (0.00011) (0.00011) (0.00011)
π6,i 0.00025** -0.00001 0.00002 0.00002 -0.00014 0.01011***
std.err(π6,i) (0.00010) (0.00010) (0.00010 ) (0.00010) (0.00010) (0.00010) Notes This presents the 6 × 6 estimates for the first order autoregressive matrix ˆΠ1= [ˆπi,j] estimated by spectral least squares using a Parzen kernel with corresponding standing errors. The asterisks ∗, ∗∗, and
∗ ∗ ∗ denote significance at the 10%, 5%, and 1%. The kernel uses a bandwidth parameter of N3/5. Refer to Table2.1for sample characteristics.
Table 3.3: First Order Autoregressive Matrix, Spectral Least Squares Using a Quadratic Spectral (qspec) Kernel.
πj,1 πj,2 πj,3 πj,4 πj,5 πj,6
π1,i 0.03108*** 0.00082 0.02478*** 0.02484*** -0.02786*** -0.02295***
std.err(π1,i) (0.00073) (0.00073) (0.00073) (0.00073) (0.00073) (0.00073)
π2,i 0.00003 0.01069*** 0.00020 0.00014 -0.00007 -0.00004
std.err(π2,i) ( 0.00012) (0.00011) (0.00011) (0.00011) (0.00011) (0.00011)
π3,i -0.00038* -0.00044 0.01033*** -0.00020 -0.00001 -0.00003
std.err(π3,i) (0.00037) (0.00037) (0.00037) (0.00037) (0.00037) (0.00037)
π4,i -0.00019 0.00031 -0.00007 0.01041*** 0.00019 0.00018
std.err(π4,i) (0.00036) (0.00036) (0.00036) (0.00036) (0.00036) (0.00036)
π5,i 0.00050*** 0.00000 0.00001 0.00002 0.01022*** -0.00003
std.err(π5,i) (0.00010) (0.00010) (0.00010) (0.00010) 0.00010) (0.00010)
π6,i 0.00026** -0.00001 0.00003 0.00003 -0.00015 0.01010***
std.err(π6,i) ( 0.00010) (0.00010) (0.00010) (0.00010) 0.00010) (0.00010) Notes This presents the 6 × 6 estimates for the first order autoregressive matrix ˆΠ1 = [ˆπi,j] estimated by spectral least squares using a Quadratic Spectral (qspec) Kernel with corresponding standing errors.
The asterisks ∗, ∗∗, and ∗ ∗ ∗ denote significance at the 10%, 5%, and 1%. The kernel uses a bandwidth parameter of N3/5. Refer to Table2.1for sample characteristics.
Table 3.4: First Order Autoregressive Matrix, Spectral Least Squares Using a F´ejer Kernel.
πj,1 πj,2 πj,3 πj,4 πj,5 πj,6
π1,i 0.02315*** 0.00014 0.00654** 0.00652*** -0.00674** -0.00511***
std.err(π1,i) (0.00059) 0.(00058) (0.00058) (0.00058) (0.00058) (0.00058)
π2,i 0.00002 0.01069*** (0.00007 0.00004 -0.00002 -0.00001
std.err(π2,i) (0.00015) (0.00015) (0.00015) (0.00015) (0.00015) (0.00015)
π3,i -0.00029 -0.00012 0.01058 -0.00001 -0.00002 -0.00004
std.err(π3,i) (0.00053) (0.00052) (0.00052) (0.00052) (0.00052) (0.00052)
π4,i -0.00025 0.00007 -0.00021 0.01034*** 0.00007 0.00008
std.err(π4,i) (0.00052) (0.00052) (0.00052) (0.00052) (0.00052) (0.00052) π5,i 0.00045* -0.00001 -0.00003*** -0.00002** 0.01031*** 0.00001 std.err(π5,i) (0.00015) (0.00015) (0.00015) (0.00015) (0.00015) (0.00015)
π6,i 0.00020 -0.00001 -0.00001 -0.00001 -0.00007 0.01017
std.err(π6,i) (0.00015) (0.00015) (0.00015) (0.00015) (0.00015) (0.00015) Notes This presents the 6 × 6 estimates for the first order autoregressive matrix ˆΠ1= [ˆπi,j] estimated by spectral least squares using a F´ejer Kernel with corresponding standing errors. The asterisks ∗, ∗∗, and
∗ ∗ ∗ denote significance at the 10%, 5%, and 1%. The kernel uses a bandwidth parameter of N3/5. Refer to Table2.1for sample characteristics.
Table 3.5: First Order Autoregressive Matrix, Spectral Least Squares Using a Tukey-Hanning Kernel.
πj,1 πj,2 πj,3 πj,4 πj,5 πj,6
π1,i 0.01994*** 0.00005 0.00216*** 0.00216*** -0.00225*** -0.00169***
std.err(π1,i) (0.00055) (0.00054) (0.00054) (0.00054) (0.00054) (0.00054)
π2,i 0.00002 0.01059*** 0.00003 0.00002 -0.00001 0.00000
std.err(π2,i) (0.00020) (0.00019) (0.00019) (0.00019) (0.00019) (0.00019)
π3,i -0.00018 -0.00004 0.01059*** 0.00002 0.00000 -0.00001
std.err(π3,i) (0.00068) (0.00067) (0.00067) (0.00067) (0.00067) (0.00067)
π4,i -0.00023 0.00001 -0.00024 0.01029*** 0.00003 0.00004
std.err(π4,i) (0.00067) (0.00066) (0.00066) (0.00066) (0.00066) (0.00066)
π5,i 0.00033 -0.00001 -0.00003 -0.00002 0.01030*** 0.00001
std.err(π5,i) (0.00020) (0.00020) (0.00020) (0.00020) (0.00020) (0.00020)
π6,i 0.00015 0.00000 -0.00001 -0.00001 -0.00005 0.01016***
std.err(π6,i) (0.00020) (0.00019) (0.00019) (0.00019) (0.00019) (0.00019) Notes This presents the 6 × 6 estimates for the first order autoregressive matrix ˆΠ1= [ˆπi,j] estimated by spectral least squares using a Tukey-Hanning Kernel with corresponding standing errors. The asterisks ∗,
∗∗, and ∗ ∗ ∗ denote significance at the 10%, 5%, and 1%. The kernel uses a bandwidth parameter of N3/5. Refer to Table2.1for sample characteristics.
(a) (b)
(c) (d)
(e) (f)
Figure 3.2: Impulse Response Analysis by Kernel Compared to OLS ( Returns)
Notes: This represents the Impulse Response Analysis by Kernel Compared to OLS, to the returns, and show the shock in millisecond a) show how the (price) respond to a shock in the price. b)show how the (price) respond to a shock in the price at level 1. c)show how the (price) respond to a shock in the price in level 2. d)show how the (price) respond to a shock in the price in level 3. e)show how the (price) respond to a shock in the volume in level 1. f )show (price) at level 2 respond to a shock in the volume in level 2
(a) (b)
(c) (d)
(e) (f)
Figure 3.3: Impulse Response Analysis by Kernel Compared to OLS (Change in Asks, and Bids at level 1 Price of the limited order book)
Notes: This represents the Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 1 (Ask-Bid) price. a) show how the (Ask, Bid) respond to a shock in the price. b)show how the (Ask, Bid) at level1 respond to a shock in the price in level 1. c)show how the (Ask, Bid) at level1 respond to a shock in the price in level 2. d)show how the (Ask, Bid) at level1 respond to a shock in the price in level 3. e)show how the (Ask, Bid) at level1 respond to a shock in the volume in level 1. f )show how the (Ask, Bid) at level1 respond to a shock in the volume in level 2
(a) (b)
(c) (d)
(e) (f)
Figure 3.4: Impulse Response Analysis by Kernel Compared to OLS (Change in Asks, and Bids at level2 Price of limited order book)
Notes: This represents the Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 2(Ask-Bid) price. a) show how the (Ask, Bid) at level 2 respond to a shock in the price. b)show how the (Ask, Bid) at level 2 respond to a shock in the price at level 1. c)show how the (Ask, Bid) at level 2 respond to a shock in the price in level 2. d)show how the (Ask, Bid) at level 2 respond to a shock in the price in level 3. e)show how the (Ask, Bid) at level 2 respond to a shock in the volume in level 1. f )show how the (Ask, Bid) at level 2 respond to a shock in the volume in level 2
(a) (b)
(c) (d)
(e) (f)
Figure 3.5: Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 3(Asks-Bids) Price
Notes: This represents the Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 3(Ask-Bid) price. a) show how the (Ask, Bid) at level 3 respond to a shock in the price. b)show how the (Ask, Bid) at level 3 respond to a shock in the price at level 1. c)show how the (Ask, Bid) at level 3 respond to a shock in the price in level 2. d)show how the (Ask, Bid) at level 3 respond to a shock in the price in level 3. e)show how the (Ask, Bid) at level 3 respond to a shock in the volume in level 1. f )show how the (Ask, Bid) at level 3 respond to a shock in the volume in level 2
(a) (b)
(c) (d)
(e) (f)
Figure 3.6: Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 1 on Volume in balance(Asks-Bids)
Notes: This represents the Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 1 on Volume in balance for the (Asks,Bids). a) show how the (Ask, Bid) at level 1 respond to a shock in the price. b)show how the (Ask, Bid) at level 1 respond to a shock in the price at level 1. c)show how the (Ask, Bid) at level 1 respond to a shock in the price in level 2. d)show how the (Ask, Bid) at level 1 respond to a shock in the price in level 3.
e)show how the (Ask, Bid) at level 1 respond to a shock in the volume in level 1. f )show how the (Ask, Bid) at level 1 respond to a shock in the volume in level 2
(a) (b)
(c) (d)
(e) (f)
Figure 3.7: Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 2 on Volume in balance(Asks-Bids)
Notes: This represents the Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 2 on Volume in balance for the (Asks,Bids). a) show how the (Ask, Bid) at level 2 respond to a shock in the price. b)show how the (Ask, Bid) at level 2 respond to a shock in the price at level 1. c)show how the (Ask, Bid) at level 2 respond to a shock in the price in level 2. d)show how the (Ask, Bid) at level 2 respond to a shock in the price in level 3.
e)show how the (Ask, Bid) at level 2 respond to a shock in the volume in level 1. f )show how the (Ask, Bid) at level 2 respond to a shock in the volume in level 2
(a) (b)
(c) (d)
(e) (f)
Figure 3.8: Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 3 on Volume in balance( Asks-Bids)
Notes: This represents the Impulse Response Analysis by Kernel Compared to OLS, the impact of the shocks on the level 3 on Volume in balance for the (Asks,Bids). a) show how the (Ask, Bid) at level 3 respond to a shock in the price. b)show how the (Ask, Bid) at level 3 respond to a shock in the price at level 1. c)show how the (Ask, Bid) at level 3 respond to a shock in the price in level 2. d)show how the (Ask, Bid) at level 3 respond to a shock in the price in level 3.
e)show how the (Ask, Bid) at level 3 respond to a shock in the volume in level 1. f )show how the (Ask, Bid) at level 3 respond to a shock in the volume in level 2
Table 3.6: First Order Autoregressive Matrix, Spectral Least Squares Using a Barndorff-Nielsen, Hansen, Lunde and Shepherd (BNHLS) Kernel.
πj,1 πj,2 πj,3 πj,4 πj,5 πj,6
π1,i 0.02412045*** 0.00021712 0.00920761*** 0.00920507*** -0.0098124*** -0.0076798***
std.err(π1,i) (0.00061) (0.00060) (0.00060) (0.00060) (0.00060) (0.00060))
π2,i 0.00002 0.01070*** 0.00010 0.00007 -0.00003 -0.00001
std.err(π2,i) (0.00014) (0.00014) (0.00014) (0.00014) (0.00014) (0.00014)
π3,i -0.00032 -0.00022 0.01049*** -0.00008 -0.00001 -0.00004
std.err(π3,i) 0.00048) (0.00047) (0.00048) (0.00048) (0.00048) (0.00048)
π4,i -0.00023 0.00014 -0.00014 0.01038*** 0.00009 0.00010
std.err(π4,i) ((0.00047) (0.00047) (0.00047) (0.00047) (0.00047) (0.00047)
π5,i 0.00046*** 0.00000 -0.00003 -0.00002 0.01030*** 0.00001
std.err(π5,i) (0.00014) (0.00014) (0.00014) (0.00014) (0.00014) (0.00014)
π6,i 0.00022 -0.00001 -0.00001 -0.00001 -0.00009 0.01015***
std.err(π6,i) 0.00013) (0.00013) (0.00013) (0.00013) (0.00013) (0.00013) Notes This presents the 6 × 6 estimates for the first order autoregressive matrix ˆΠ1 = [ˆπi,j] estimated by spectral least squares using a Barndorff-Nielsen, Hansen, Lunde and Shepherd (BNHLS) Kernel with corresponding standing errors. The asterisks ∗, ∗∗, and ∗ ∗ ∗ denote significance at the 10%, 5%, and 1%.
The kernel uses a bandwidth parameter of N3/5. Refer to Table2.1for sample characteristics.
auto-covariance and cross auto-covariance).
Whilst the spectral least squares regression generates a similar impulse re-sponse structure for each of the kernels in our analysis, there are some discrepan-cies (this can also be seen in the coefficients for the first-order lagged autoregres-sion matrix, in Tables 3.2 to3.6, this appears to be in line with the strong signals from the auto-covariance and cross auto-covariance documented previously.
Confidence bounds for each are very tight and difficult to discern in the plots, hence the signal presented are strongly significant. Analysis of the IRFs by sam-pling suggests that these signals are robust to choice of day and maturity of contract (subject to activity).
Interesting overall features to note are that whilst the signals are strong, the effectively deterministic adjustments in the state of the order book all disap-pear within 102 milliseconds or one tenth of a second. This is interesting when compared to the example in §(2.2) for which the manipulation of the mid-price and spreads by sequentially shocking the order-flow imbalance took place within
900 milliseconds or approximately 1 second. For crude futures any systematic strategy needs to be conducted within about 10 milliseconds to maximise the pay-off as by 102 milliseconds the effect of the imbalance shock has died away, see Figures 3.8 subplots (e) and (f). However, for algorithms operating within 10 seconds, the effect is very large excessive supply VA,1,twhere (VA) is the volume of the asks, increasing by one standard deviation affects the mid-price by one order of magnitude more than a shock to the mid-price itself. Cetin, Jarrow, Protter, and Warachka [2006] refer to this as trading at the continuous limit, this is the speed required to effectively front-run the price adjustment from the order-flow imbalance. For crude futures this appears to be around 10 to 102 milliseconds.
After this any deterministic impact of excessive supply or demand dissappears.