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.
1 | AJjumptest(pdata, p=4 , k=2, align.by= NULL, align.period = NULL, makeReturns= FALSE, ...)
|
pdata |
a zoo/xts object containing all prices in period t for one asset. |
p |
can be chosen among 2 or 3 or 4. The author suggests 4. 4 by default. |
k |
can be chosen among 2 or 3 or 4. The author suggests 2. 2 by default. |
align.by |
a string, align the tick data to "seconds"|"minutes"|"hours" |
align.period |
an integer, align the tick data to this many [seconds|minutes|hours]. |
makeReturns |
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))
list
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.
1 2 | data(sample_tdata)
AJjumptest(sample_tdata$PRICE, p= 2, k= 3, align.by= "seconds", align.period= 5, makeReturns= TRUE)
|
Loading required package: xts
Loading required package: zoo
Attaching package: 'zoo'
The following objects are masked from 'package:base':
as.Date, as.Date.numeric
$ztest
[1] 3.392276
$critical.value
[1] -1.959964 1.959964
$pvalue
[1] 0.0006931461
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.