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

Description Usage Arguments Details Value Author(s) References Examples


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)

Search within the highfrequency package
Search all R packages, documentation and source code

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

Please suggest features or report bugs with the GitHub issue tracker.

All documentation is copyright its authors; we didn't write any of that.