Variance ratio test for random walk
h = vratiotest(
h = vratiotest(
[h,pValue] = vratiotest(...)
[h,pValue,stat] = vratiotest(...)
[h,pValue,stat,cValue] = vratiotest(...)
[h,pValue,stat,cValue,ratio] = vratiotest(...)
h = vratiotest( assesses
the null hypothesis of a random walk in a univariate time series
h = vratiotest( accepts
optional inputs as one or more comma-separated parameter-value pairs.
the name of the parameter inside single quotation marks.
the value corresponding to
Specify parameter-value pairs in any order; names are case-insensitive.
Perform multiple tests by passing a vector value for any parameter.
Multiple tests yield vector results.
[h,pValue] = vratiotest(...) returns p-values
of the test statistics.
[h,pValue,stat] = vratiotest(...) returns
the test statistics.
[h,pValue,stat,cValue] = vratiotest(...) returns
critical values for the tests.
[h,pValue,stat,cValue,ratio] = vratiotest(...) returns
a vector of ratios.
Vector of time-series
data. The last element is the most recent observation. The test ignores
The input series
Scalar or vector of nominal significance levels for the tests.
Set values between
The test is two-tailed, so
Scalar or vector of Boolean values indicating whether to assume independent identically distributed (IID) innovations.
To strengthen the null model and assume that the e(t)
are independent and identically distributed (IID), set
The IID assumption is often unreasonable for long-term macroeconomic or financial price series. Rejection of the random-walk null due to heteroscedasticity is not interesting for these cases.
Scalar or vector of integers greater than one and less than
half the number of observations in
When the period
The test finds the largest integer
Vector of Boolean decisions for the tests, with length equal
to the number of tests. Values of
Vector of p-values of the test statistics, with length equal to the number of tests. Values are standard normal probabilities.
Vector of test statistics, with length equal to the number of tests. Statistics are asymptotically standard normal.
Vector of critical values for the tests, with length equal to the number of tests. Values are for standard normal probabilities.
Vector of variance ratios, with length equal to the number of tests. Each ratio is the ratio of:
For a random walk, these ratios are asymptotically equal to one. For a mean-reverting series, the ratios are less than one. For a mean-averting series, the ratios are greater than one.
The variance ratio test assesses the null hypothesis that a univariate time series y is a random walk. The null model is
y(t) = c + y(t–1) + e(t),
where c is a drift constant and e(t) are uncorrelated innovations with zero mean.
the alternative is that the e(t)
the alternative is that the e(t)
are either dependent or not identically distributed (for example,
Test whether a US equity index is a random walk using various step sizes. Perform the test with and without the assumption that the innovations are independent and identically distributed.
Load the global large-cap equity indices data set. Focus on the daily S & P 500 index (
load Data_GlobalIdx1 logSP = log(DataTable.SP); figure plot(diff(logSP)) axis tight
The plot indicates possible conditional heteroscedasticity.
Test whether the series is a random walk using various periods and whether the innovations are independent and identically distributed.
q = [2 4 8 2 4 8]; flag = logical([1 1 1 0 0 0]); [h,pValue,stat,cValue,ratio] = ... vratiotest(logSP,'period',q,'IID',flag) rho1 = ratio(1)-1 % First-order autocorrelation of returns
h = 1×6 logical array 0 0 1 0 0 0 pValue = 0.5670 0.3307 0.0309 0.7004 0.5079 0.1303 stat = 0.5724 -0.9727 -2.1579 0.3847 -0.6621 -1.5128 cValue = 1.9600 1.9600 1.9600 1.9600 1.9600 1.9600 ratio = 1.0111 0.9647 0.8763 1.0111 0.9647 0.8763 rho1 = 0.0111
h indicates that the test fails to reject that the series is a random walk at 5% level, except in the case where
period = 8 and
true. This rejection is likely due to the test not accounting for the heteroscedasticity.
vratiotest test statistics are based
on a ratio of variance estimates of returns r(t) = y(t)–y(t–1) and
period q return horizons r(t) + ... + r(t–q+1).
Overlapping horizons increase the efficiency of the estimator and
add power to the test. Under either null, uncorrelated innovations e(t)
imply that the period q variance is asymptotically
equal to q times the period 1 variance. The variance
of the ratio, however, depends on the degree of heteroscedasticity,
and, therefore, on the null.
Rejection of the null due to dependence of the innovations does not imply that the e(t) are correlated. Dependence allows that nonlinear functions of the e(t) are correlated, even when the e(t) are not. For example, it can hold that Cov[e(t),e(t–k)] = 0 for all k ≠ 0, while Cov[e(t)2,e(t–k)2] ≠ 0 for some k ≠ 0.
Cecchetti and Lam  show that sequential testing using multiple values of q results in small-sample size distortions beyond those that result from the asymptotic approximation of critical values.
 Campbell, J. Y., A. W. Lo, and A. C. MacKinlay. Chapter 12. "The Econometrics of Financial Markets." Nonlinearities in Financial Data. Princeton, NJ: Princeton University Press, 1997.
 Cecchetti, S. G., and P. S. Lam. "Variance-Ratio Tests: Small-Sample Properties with an Application to International Output Data." Journal of Business and Economic Statistics. Vol. 12, 1994, pp. 177–186.
 Cochrane, J. "How Big is the Random Walk in GNP?" Journal of Political Economy. Vol. 96, 1988, pp. 893–920.
 Faust, J. "When Are Variance Ratio Tests for Serial Dependence Optimal?" Econometrica. Vol. 60, 1992, pp. 1215–1226.
 Lo, A. W., and A. C. MacKinlay. "Stock Market Prices Do Not Follow Random Walks: Evidence from a Simple Specification Test." Review of Financial Studies. Vol. 1, 1988, pp. 41–66.
 Lo, A. W., and A. C. MacKinlay. "The Size and Power of the Variance Ratio Test." Journal of Econometrics. Vol. 40, 1989, pp. 203–238.
 Lo, A. W., and A. C. MacKinlay. A Non-Random Walk Down Wall St. Princeton, NJ: Princeton University Press, 2001.