2
$\begingroup$

Strict stationarity is the strongest form of stationarity. It means that the joint statistical distribution of any collection of the time series variates never depends on time. So, the mean, variance and any moment of any variate is the same whichever variate you choose. However, for day to day use strict stationarity is too strict. Hence, the following weaker definition is often used instead. Stationarity of order 2 which includes a constant mean, a constant variance and an autocovariance that does not depend on time. (second-order stationary or stationary of order 2). A weaker form of stationarity that is first-order stationary which means that the mean is a constant function of time, time-varying means to obtain one which is first-order stationary.

I have the following time series which I would like to make stationary of order 2. I do not use ARIMA but use multiple methods of regression but linear and non linear in parametric and non parametric. I have read that using traditional stationarity tests such us PP.test (Phillips-Perron Unit Root Test), kpss test or Augmented Dickey-Fuller Test are not adequate if you are to perform regression via other methods than ARIMA (due that in arima the orders are fixed and that no other factors that produce non stationarity are included) and that stationarity tests in the frequency domain instead are more adequate. (Correct me if this is wrong)

For this purpose I use two tests in the frequency domain as to compare results: The Priestley-Subba Rao (PSR) test for nonstationarity (fractal package). Based upon examining how homogeneous a set of spectral density function (SDF) estimates are across time, across frequency, or both. On another hand a unit root test where the wavelet looks at a quantity called βj(t) which is closely related to a wavelet-based time-varying spectrum of the time series (it is a linear transform of the evolutionary wavelet spectrum of the locally stationary wavelet processes of Nason, von Sachs and Kroisandt, 2000). So we see if βj(t) function varies over time or is constant by looking at Haar wavelet coefficients of the estimate so is stationary if all haar coefficients are zero (locits package).

I have the following questions.

  1. If I attempt to make a series stationary by taking log price diferences, then remove MA by loess regression and remove AR parts with an AR model and at each step measure if the series has become stationary with the wavelet test and stop when it has. Is this procedure correct?

  2. In this specific example the Priestley-Subba Rao (PSR) Test does not show stationarity. (In fact I would need to diferenciate the series over times 26 times as per this test to obtain stationary). I am wondering if this high order is correct or is due to the Priestley-Subba Rao (PSR) Gausian distribution assumption or that other long range dependences, fractional integration or definite noise yield this result.

  3. How valid would a regression be in regards to potential spurious regression if we would perform point 1 and obtain stationarity at unit root 2. I have read that if higher order unit root or other non stationary producing factors such us long range dependence, fractional integration, pink noise are ignored, the system dynamics become systematic errors in regression equations and thus regression will have no meaning (e.g. changes in variance invalidating second-order stationarity)

The locits package works only with R 3.03 version

x<-c(-0.0870,0.0028,0.1866,0.0481,-0.3433,0.4039,0.0309,0.0789,0.4941,-0.0610,0.0951,-0.0109,-0.0001,0.0789, -0.0737, -0.0061, -0.0979,  0.3175, 0.4067,  0.0541, -0.1053, -0.0521,  0.0749, -0.0792,  0.0354,  0.1119, -0.0666,  0.2364,  0.1321,  0.0964,  0.1444,  0.5995, -0.2096 -0.1268,  0.1104, -0.1110, -0.0618, -0.0561,  0.0893,  0.9499,  0.3015,  0.1437,  0.3108, -0.0902, -0.1477,  0.0507, -0.0204,  0.2277,  0.1205,  0.0038, -0.0328, -0.0273,  0.1126,  0.0530, 0.0461,  0.1380,  0.0368, -0.0082,  0.0086,  0.0318,  0.0106,  0.0647, 0.0157,  0.0225, -0.0934,  0.0527,  0.0725,  0.0285,  0.0042,  0.1048,  0.0117,  0.1097, -0.0013,  0.0032, -0.0589, -0.0226, -0.0728, -0.0139,  0.0335,  0.1481,  0.0340, -0.0522,  0.0309, -0.0775, -0.0341, -0.0009,  0.1237, -0.1738,  0.0141,  0.0857, 0.1048, -0.0120, 0.0745,  0.1385,  0.0722,  0.0314, -0.0292, -0.0712,  0.0045,  0.0351, -0.0230,  0.0707, -0.0283, -0.0227, -0.0152, -0.0057,  0.0058, -0.0259, 0.0329, -0.0607,  0.0037,  0.0132, -0.0058,  0.0407, -0.0485, -0.0048,  0.0166,  0.0046, -0.0041,  0.0301,  0.0060,  0.0220, -0.0239,  0.0022,  0.0399,  0.0550, 0.1607, -0.0451,  0.0050,  0.0128,  0.0510, -0.0361,  0.0502,  0.0304 -0.0405, -0.0264,  0.0188, -0.0244,  0.0327, -0.0271,  0.0202, -0.0128,  0.0099,  0.0238, 0.0016,  0.0103,  0.1093,  0.0507,  0.0026, 0.0084, -0.0005, -0.0088, -0.0371,  0.0233, -0.0171, -0.0041, -0.0058, -0.0219,  0.0126,  0.0188, -0.0403,  0.0054, 0.0034,  0.0022, -0.0050, -0.0277, -0.0567,  0.0233,  0.0081,  0.0322,  0.0013,  0.0908,  0.0187)

# I log transform prices and take differences (so I obtain ratios having stabilized the variance a little) 

z2c <- cumprod(1+x)
z1log <- log(z2c)
z2log<-diff(z1log)

# As the Wavelet stationarity test requires power of two series I create segments of data of the required length

ñ1<-z2log[((length(z2log) -128)+1):length(z2log)]
ñ2<- z2log[((length(z2log) -256)+1):length(z2log)]
o<-if(z2log >128 || z2log >256) ñ2 else ñ1

# Perform the two mentioned tests 

# Priestley-Subba Rao (PSR) Test 
library(fractal)
SR <- attributes(stationarity(o, n.taper=5,n.block=max(c(2,floor(logb(length(o),base=2)))),significance=0.05,center=TRUE,recenter=FALSE))$stationarity[[1]]

#Wavelet Spectrum Test
 library(locits)
WS <- hwtos2(o)

SR
WS

Many thanks

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.