AJjumptest: Ait- Sahalia and Jacod (2009) tests for the presence of jumps...

Description Usage Arguments Details Value Author(s) References Examples

View source: R/highfrequencyGSOC.R


This test examines the presence of jumps in highfrequency price series. It is based on the theory of Ait-Sahalia and Jacod (2009) (AJ). It consists in comparing the multipower variation of equispaced returns computed at a fast time scale (h), r_{t,i} (i=1, …,N) and those computed at the slower time scale (kh), y_{t,i}(i=1, … ,\mbox{N/k}).

They found that the limit (for N \to ) of the realized power variation is invariant for different sampling scales and that their ratio is 1 in case of jumps and \mbox{k}^{p/2}-1 if no jumps. Therefore the AJ test detects the presence of jump using the ratio of realized power variation sampled from two scales. The null hypothesis is no jumps.

Function returns three outcomes: 1.z-test value 2.critical value under confidence level of 95\% and 3.p-value.

Assume there is N equispaced returns in period t. Let r_{t,i} be a return (with i=1, …,N) in period t.

And there is N/k equispaced returns in period t. Let y_{t,i} be a return (with i=1, … ,\mbox{N/k}) in period t.

Then the AJjumptest is given by:

\mbox{AJjumptest}_{t,N}= \frac{S_t(p,k,h)-k^{p/2-1}}{√{V_{t,N}}}

in which,

\mbox{S}_t(p,k,h)= \frac{PV_{t,M}(p,kh)}{PV_{t,M}(p,h)}

\mbox{PV}_{t,N}(p,kh)= ∑_{i=1}^{N/k}{|y_{t,i}|^p}

\mbox{PV}_{t,N}(p,h)= ∑_{i=1}^{N}{|r_{t,i}|^p}

\mbox{V}_{t,N}= \frac{N(p,k) A_{t,N(2p)}}{N A_{t,N(p)}}

\mbox{N}(p,k)= ≤ft(\frac{1}{μ_p^2}\right)(k^{p-2}(1+k))μ_{2p} + k^{p-2}(k-1) μ_p^2 - 2k^{p/2-1}μ_{k,p}

\mbox{A}_{t,n(2p)}= \frac{(1/N)^{(1-p/2)}}{μ_p} ∑_{i=1}^{N}{|r_{t,i}|^p} \ \ \mbox{for} \ \ |r_j|< α(1/N)^w

μ_{k,p}= E(|U|^p |U+√{k-1}V|^p)

U, V: independent standard normal random variables; h=1/N; p, k, α, w: parameters.


AJjumptest(pdata, p=4 , k=2, align.by= NULL, align.period = NULL, makeReturns= FALSE, ...)



a zoo/xts object containing all prices in period t for one asset.


can be chosen among 2 or 3 or 4. The author suggests 4. 4 by default.


can be chosen among 2 or 3 or 4. The author suggests 2. 2 by default.


a string, align the tick data to "seconds"|"minutes"|"hours"


an integer, align the tick data to this many [seconds|minutes|hours].


boolean, should be TRUE when rdata contains prices instead of returns. FALSE by default.


additional arguments.


The theoretical framework underlying jump test is that the logarithmic price process X_t belongs to the class of Brownian semimartingales, which can be written as:

\mbox{X}_{t}= \int_{0}^{t} a_udu + \int_{0}^{t}σ_{u}dW_{u} + Z_t

where a is the drift term, σ denotes the spot volatility process, W is a standard Brownian motion and Z is a jump process defined by:

\mbox{Z}_{t}= ∑_{j=1}^{N_t}k_j

where k_j are nonzero random variables. The counting process can be either finite or infinite for finite or infinite activity jumps.

The Ait-Sahalia and Jacod test is that: Using the convergence properties of power variation and its dependence on the time scale on which it is measured, Ait-Sahalia and Jacod (2009) define a new variable which converges to 1 in the presence of jumps in the underlying return series, or to another deterministic and known number in the absence of jumps. (Theodosiou& Zikes(2009))




Giang Nguyen, Jonathan Cornelissen and Kris Boudt


Ait-Sahalia, Y. and Jacod, J. (2009). Testing for jumps in a discretely observed process. The Annals of Statistics, 37(1), 184- 222.

Theodosiou, M., & Zikes, F. (2009). A comprehensive comparison of alternative tests for jumps in asset prices. Unpublished manuscript, Graduate School of Business, Imperial College London.


AJjumptest(sample_tdata$PRICE, p= 2, k= 3, align.by= "seconds", align.period= 5, makeReturns= TRUE)

Example output

Loading required package: xts
Loading required package: zoo

Attaching package: 'zoo'

The following objects are masked from 'package:base':

    as.Date, as.Date.numeric

[1] 3.392276

[1] -1.959964  1.959964

[1] 0.0006931461

highfrequency documentation built on May 31, 2017, 4:34 a.m.