EXACT LAWS FOR WAITING TIMES AND VOLATILITY AUTOCORRELATION
July 4, 2016 by zulfahmed
We are looking for an exact law for autocorrelations in volatility (proxied by log(return^2)). We are looking for an exact law for volatility autocorrelations because empirical finance is pretty confused about what to do about volatility modeling and there are routine evocations of ‘because GARCH and SV models are inconsistent with empirical features’. Well we are going to put an end to this confusion. Our results of the EXACT waiting time distributions, i.e. times between volatility jumps defined as diff(log(return^2))>threshold being identical to the fractional Poisson law t^(alpha-1)*mlf(-c*t^a, a, a) tells us something about volatility, that we better use some sort of time fractional diffusion, but we ran into the problem that a single time fractional diffusion with parameter a, i.e. a time-changed Levy process with random times distributed as an inverse stable subordinator — the work of Meerschaert and collaborators provide extensive explication of the identity of these objects — does not produce an exact law.
Here we have results showing that the THEORETICAL AUTOCORRELATION of a couple of processes with the same time-fractional parameter is an almost exact fit to empirical autocorrelation for stocks. The attached table contains the Kullback-Leibler divergences of three models: the purely statistical log-linear model of Ding-Granger-Engle, the theoretical autocorrelation of an ARFIMA model, and the following exact formula of two time-changed Levy processes with the same time fractional parameter. The benchmark is the Ding-Granger-Engle model because their model is quite good.
Summary is that mean KLdiv of the three models are: -0.287 for DGE, 0.166 for the sum of two time-fractional diffusions/time changed Levy processes, and 20.0 for ARFIMA. The t-test p-value is << 0.01 for the DGE vs the sum of time-changed Levy process model (>>> ttest_ind(x[‘KLZulf’],x[‘KLDGE’])
So we have here a more or less COMPLETE EXPLANATION of empirical autocorrelation by these time-fractional diffusions, and since this autocorrelation is the source of problems for many extant models, we have now a theoretical model that can handle the hard parts of empirical consistency (well there are other annoying issues when one looks at tick data versus lower frequency because of market microstructure etc. but those are secondary issues after this autocorrelation is exactly matched.) So then the question is whether there is an exact closed form solution for a two factor stochastic volatility model. In 2006 there was an extension of the Heston model to multifactors (see attached) and presumably my trick to reuse the closed form by systematically replacing the coefficient of the volatility by the waiting time distribution of the fractional Poisson process will work just as well in the multivariate case, the key being that the model has the same time-fractional parameter for both components.
In more detail, I took the theoretical ACF formula for a time-changed Levy from Leonenko et. al. p. 9 and it is:
def mittag_leffler_autocorrelation(lag, a, b, c, d, e):
s1 = b*t
s2 = c*t
numerator = a*t**(2.*a)*beta(a,a+1,s/t)
numerator = – abs(t/s)**a + a*abs(s)**(2.*a)*beta(a,a+1.)
denominator = abs(s*t)**a
denominator *= (2.*gamma(1+a)**2)/gamma(2*a+1.) – 1)
return d*exact_corr_func(a,s1,t) + e*exact_corr_func(a,s2,t)
So here we have closed form approach for getting models that have no inconsistency with fundamental empirical features.