This is Monte Carlo simulation to find critical values of the L1 version of the Ljung-Box test. I was too lazy to look for the official L2 norm for ACF using the classic Ljung-Box test. I simply decided to simulate.
Consider a sample of 100 standard normal random variables
Compute the empirical autocorrelation function with lag which is an empirical correlation of
and
Do this for
Then compute the L1 norm
Do the same for instead of
Finally, compute empirical mean and the empirical centered moments of order
Then the empirical skewness is and the empirical kurtosis is
We create 1 million simulations of this 100 i.i.d. Gaussian variables. We compute values corresponding to 95% and 99% percentiles of simulated data for 100 IID standard normal (a million simulations). We get the following table (skewness is taken with absolute value, disregarding the sign). See https://github.com/asarantsev/4rates
| Function | 95% percentile | 99% percentile |
| Skewness | 0.47 | 0.63 |
| Excess Kurtosis (normal = 0) | 0.76 | 1.38 |
| L1 norm for ACF (both), 5 lags | 0.63 | 0.76 |
Added on June 5, 2025: If we make 100 000 simulation of only 50 i.i.d. Gaussian variables (instead of 100, simply changing this number in the code), we have:
| Function | 95 percentile | 99 percentile |
| Skewness | 0.643 | 0.878 |
| Excess Kurtosis (normal = 0) | 0.977 | 1.859 |
| L1 norm for ACF (5 lags), original | 0.882 | 1.079 |
| L1 norm for ACF (5 lags), absolute | 0.877 | 1.073 |
We also simulate skew normal variables with skewness parameter 3. Obviously, the true skewness and excess kurtosis will not be equal to zero any more. But we can still take percentiles for the empirical kurtosis and for these L1 norms for ACF, applied to original values of these variables and to absolute values of these variables. We take only 10000 simulations. For sample of size 100/50, we get:
| Function | 95 percentile | 99 percentile |
| Excess Kurtosis (normal = 0) | 1.92/2.08 | 3.37/3.92 |
| L1 norm for ACF (5 lags), both | 0.63/0.87 | 0.75/1.06 |
This is done in the file skewsim.py in the same GitHub repository.
Leave a reply to Growth/Volatility vs Spreads – My Finance Cancel reply