A Statistical Recurrent Stochastic Volatility Model for Stock Markets
Trong-Nghia Nguyen, Minh-Ngoc Tran, David Gunawan, and R. Kohn

TL;DR
This paper introduces the SR-SV model, combining stochastic volatility models with recurrent neural networks to better capture complex volatility dynamics in stock markets, demonstrating superior forecasting performance.
Contribution
It presents a novel statistical recurrent stochastic volatility model that captures non-linearity and long-memory effects, improving volatility forecasting in financial markets.
Findings
Model captures complex volatility effects like non-linearity and long-memory.
Demonstrates superior out-of-sample forecast performance.
Validated on five international stock index datasets.
Abstract
The Stochastic Volatility (SV) model and its variants are widely used in the financial sector while recurrent neural network (RNN) models are successfully used in many large-scale industrial applications of Deep Learning. Our article combines these two methods in a non-trivial way and proposes a model, which we call the Statistical Recurrent Stochastic Volatility (SR-SV) model, to capture the dynamics of stochastic volatility. The proposed model is able to capture complex volatility effects (e.g., non-linearity and long-memory auto-dependence) overlooked by the conventional SV models, is statistically interpretable and has an impressive out-of-sample forecast performance. These properties are carefully discussed and illustrated through extensive simulation studies and applications to five international stock index datasets: The German stock index DAX30, the Hong Kong stock index HSI50,…
| Grade | Strength of evidence | |||
|---|---|---|---|---|
| 0 | Negative (supports ) | |||
| 1 | Barely worth mentioning | |||
| 2 | Substantial | |||
| 3 | Strong | |||
| 4 | Very strong | |||
| 5 | Decisive |
| SR-SV | SV | N-SV | |||||
|---|---|---|---|---|---|---|---|
| Parameter | Prior | Parameter | Prior | Parameter | Prior | ||
| Beta(20,1.5) | Beta(20,1.5) | Beta(20,1.5) | |||||
| Beta(2,2) | |||||||
| , | |||||||
| Score | Definition | Score | Definition | ||
|---|---|---|---|---|---|
| PPS | |||||
| QLIKE | |||||
| Data | Model | Parameters |
|---|---|---|
| SIM I | , | |
| , | ||
| SIM II | , | |
| , | ||
| SIM III | , | |
| , | ||
| Mar.llh | ||||||||
|---|---|---|---|---|---|---|---|---|
| SIM I | ||||||||
| SV | 2.145 | 0.985 | 0.019 | |||||
| (0.237) | (0.004) | (0.003) | (0.131) | |||||
| SR-SV | 0.974 | 0.020 | 0.534 | 0.027 | 0.388 | |||
| (0.023) | (0.005) | (0.166) | (0.031) | (0.235) | (0.261) | (0.300) | ||
| SIM II | ||||||||
| SV | 1.050 | 0.967 | 0.032 | |||||
| (0.125) | (0.008) | (0.006) | (0.164) | |||||
| SR-SV | 0.792 | 0.041 | 0.515 | 0.043 | 0.423 | 0.530 | ||
| (0.106) | (0.010) | (0.156) | (0.044) | (0.207) | (0.256) | (0.306) | ||
| SIM III | ||||||||
| SV | 0.134 | 0.984 | 0.041 | |||||
| (0.329) | (0.005) | (0.007) | (0.195) | |||||
| SR-SV | 0.896 | 0.056 | 0.645 | 0.325 | 0.290 | |||
| (0.035) | (0.013) | (0.240) | (0.045) | (0.132) | (0.115) | (0.316) |
| PPS | QLIKE | Count | ||||||
|---|---|---|---|---|---|---|---|---|
| SIM I | ||||||||
| SV | 2.355 | 0.480 | 0.485 | 0.506 | 0.540 | 0.481 | 0.482 | 1 |
| (0.001) | (0.003) | (0.003) | (0.002) | (0.004) | (0.001) | (0.004) | ||
| SR-SV | 2.357 | 0.435 | 0.381 | 0.342 | 0.319 | 0.450 | 0.395 | 6 |
| (0.000) | (0.002) | (0.003) | (0.001) | (0.002) | (0.001) | (0.003) | ||
| SIM II | ||||||||
| SV | 1.881 | 0.189 | 0.282 | 0.309 | 0.383 | 0.359 | 0.512 | 0 |
| (0.000) | (0.000) | (0.001) | (0.001) | (0.001) | (0.001) | (0.001) | ||
| SR-SV | 1.878 | 0.076 | 0.122 | 0.139 | 0.189 | 0.172 | 0.284 | 7 |
| (0.000) | (0.002) | (0.003) | (0.002) | (0.000) | (0.003) | (0.003) | ||
| SIM III | ||||||||
| SV | 1.722 | 0.919 | 0.967 | 0.707 | 0.796 | 0.754 | 0.529 | 0 |
| (0.001) | (0.004) | (0.004) | (0.003) | (0.003) | (0.004) | (0.004) | ||
| SR-SV | 1.720 | 0.733 | 0.775 | 0.548 | 0.625 | 0.588 | 0.399 | 7 |
| (0.000) | (0.004) | (0.003) | (0.002) | (0.003) | (0.003) | (0.002) |
| In-sample Period | Out-of-sample Period | |||
|---|---|---|---|---|
| DAX | 23 Apr 2004 – 21 Feb 2012 | 22 Feb 2012 – 05 Feb 2016 | 2000 | 1000 |
| HSI | 27 Oct 2003 – 28 Nov 2011 | 29 Nov 2011 – 21 Dec 2015 | 2000 | 1000 |
| FCHI | 09 Jun 2004 – 22 Mar 2012 | 23 Mar 2012 – 23 Feb 2016 | 2000 | 1000 |
| SPX | 27 Feb 2004 – 06 Feb 2012 | 07 Feb 2012 – 28 Jan 2016 | 2000 | 1000 |
| TSX | 03 Feb 2004 – 01 Feb 2012 | 02 Feb 2012 – 27 Jan 2016 | 2000 | 1000 |
| Min | Max | Std | Skew | Kurtosis | ||||
|---|---|---|---|---|---|---|---|---|
| DAX | 9.993 | 1.267 | 0.115 | 10.960 | ||||
| 1.670 | ||||||||
| HSI | 12.155 | 1.186 | 0.307 | 17.551 | ||||
| FCHI | 6.663 | 1.132 | 7.383 | |||||
| SPX | 10.220 | 1.307 | 12.502 | |||||
| TSX | 9.194 | 1.262 | 12.202 | |||||
| Mar.llh | |||||||||
|---|---|---|---|---|---|---|---|---|---|
| DAX | |||||||||
| SV | 0.979 | 0.038 | |||||||
| (0.233) | (0.006) | (0.008) | (0.171) | ||||||
| N-SV | 0.977 | 0.037 | |||||||
| (0.212) | (0.006) | (0.008) | (0.086) | (0.224) | |||||
| SR-SV | 0.863 | 0.064 | 0.605 | 0.410 | 0.397 | ||||
| (0.052) | (0.021) | (0.204) | (0.061) | (0.201) | (0.153) | (0.301) | |||
| HSI | |||||||||
| SV | 0.987 | 0.022 | |||||||
| (0.320) | (0.004) | (0.008) | (0.184) | ||||||
| N-SV | 0.987 | 0.021 | |||||||
| (0.270) | (0.004) | (0.004) | (0.081) | (0.214) | |||||
| SR-SV | 0.824 | 0.054 | 0.784 | 0.536 | 0.387 | ||||
| (0.061) | (0.021) | (0.137) | (0.083) | (0.262) | (0.139) | (0.337) | |||
| FCHI | |||||||||
| SV | 0.977 | 0.047 | |||||||
| (0.230) | (0.007) | (0.010) | (0.225) | ||||||
| N-SV | 0.979 | 0.041 | |||||||
| (0.257) | (0.006) | (0.009) | (0.089) | (0.234) | |||||
| SR-SV | 0.843 | 0.093 | 0.780 | 0.449 | 0.363 | ||||
| (0.049) | (0.027) | (0.197) | (0.070) | (0.199) | (0.134) | (0.326) | |||
| SPX | |||||||||
| SV | 0.985 | 0.034 | |||||||
| (0.344) | (0.005) | (0.006) | (0.201) | ||||||
| N-SV | 0.9837 | 0.036 | |||||||
| (0.268) | (0.004) | (0.007) | (0.080) | (0.211) | |||||
| SR-SV | 0.844 | 0.056 | 0.527 | 0.481 | 0.373 | ||||
| (0.060) | (0.017) | (0.186) | (0.186) | (0.241) | (0.132) | (0.311) | |||
| TSX | |||||||||
| SV | 0.985 | 0.028 | |||||||
| (0.323) | (0.004) | (0.006) | (0.231) | ||||||
| N-SV | 0.984 | 0.029 | -0.141 | ||||||
| (0.298) | (0.005) | (0.006) | (0.077) | (0.245) | |||||
| SR-SV | 0.868 | 0.051 | 0.697 | 0.414 | 0.355 | ||||
| (0.056) | (0.015) | (0.195) | (0.071) | (0.201) | (0.141) | (0.347) |
| Filtered volatility | Residual | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Mean | Std | Kurtosis | Skew | Std | Kurtosis | Skew | LB- | ||
| DAX | |||||||||
| SV | 1.531 | 1.930 | 24.465 | 4.075 | 0.985 | 2.817 | 0.978 | ||
| N-SV | 1.591 | 2.290 | 38.239 | 5.112 | 0.982 | 2.742 | 0.978 | ||
| LMSV | 1.423 | 1.670 | 13.734 | 2.885 | 0.999 | 3.584 | 0.887 | ||
| SR-SV | 1.325 | 1.559 | 26.276 | 4.182 | 0.991 | 2.819 | 0.983 | ||
| HSI | |||||||||
| SV | 1.343 | 2.084 | 55.696 | 6.187 | 0.966 | 2.801 | 0.162 | ||
| N-SV | 1.428 | 3.133 | 179.820 | 11.399 | 0.965 | 2.776 | 0.226 | ||
| LMSV | 1.271 | 1.632 | 22.216 | 3.720 | 0.999 | 3.946 | 0.326 | ||
| SR-SV | 1.101 | 1.651 | 50.909 | 5.821 | 0.978 | 2.768 | 0.132 | ||
| FCHI | |||||||||
| SV | 1.416 | 1.563 | 13.561 | 2.851 | 0.982 | 2.724 | 0.101 | ||
| N-SV | 1.483 | 1.867 | 22.140 | 3.705 | 0.981 | 2.690 | 0.103 | ||
| LMSV | 1.287 | 1.451 | 11.815 | 2.645 | 1.000 | 3.548 | 0.108 | ||
| SR-SV | 1.167 | 1.159 | 13.285 | 2.756 | 0.985 | 2.722 | 0.105 | ||
| SPX | |||||||||
| SV | 1.648 | 2.712 | 25.696 | 4.395 | 0.994 | 2.769 | 0.136 | ||
| N-SV | 1.729 | 3.139 | 33.443 | 5.010 | 0.995 | 2.737 | 0.143 | ||
| LMSV | 1.592 | 2.810 | 25.516 | 4.381 | 0.999 | 3.623 | 0.219 | ||
| SR-SV | 1.892 | 3.862 | 29.532 | 4.856 | 1.002 | 2.746 | 0.149 | ||
| TSX | |||||||||
| SV | 1.543 | 2.516 | 27.582 | 4.641 | 0.971 | 2.705 | 0.977 | ||
| N-SV | 1.590 | 2.846 | 35.343 | 5.256 | 0.971 | 2.683 | 0.969 | ||
| LMSV | 1.395 | 2.124 | 20.325 | 3.893 | 0.999 | 3.353 | 0.915 | ||
| SR-SV | 1.389 | 2.347 | 28.167 | 4.702 | 0.973 | 2.659 | 0.961 | ||
| Forecast Volatility | Forecast Residual | ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Mean | Std | Kurtosis | Skew | Std | Kurtosis | Skew | LB- | ||
| DAX | |||||||||
| SV | 1.069 | 0.580 | 2.992 | 0.711 | 0.997 | 3.964 | 0.652 | ||
| N-SV | 1.072 | 0.588 | 3.464 | 0.893 | 0.992 | 3.937 | 0.659 | ||
| LMSV | 1.083 | 0.616 | 3.467 | 0.879 | 1.001 | 3.942 | 0.577 | ||
| SR-SV | 0.943 | 0.458 | 3.261 | 0.879 | 1.034 | 3.835 | 0.597 | ||
| HSI | |||||||||
| SV | 0.655 | 0.380 | 14.099 | 2.823 | 0.982 | 4.353 | 0.036 | 0.390 | |
| N-SV | 0.649 | 0.408 | 23.440 | 3.827 | 0.981 | 4.298 | 0.021 | 0.379 | |
| LMSV | 0.740 | 0.386 | 9.633 | 2.065 | 0.928 | 4.465 | 0.057 | 0.283 | |
| SR-SV | 0.491 | 0.215 | 15.963 | 3.102 | 1.091 | 4.135 | 0.368 | ||
| FCHI | |||||||||
| SV | 1.087 | 0.620 | 3.796 | 0.989 | 0.963 | 4.590 | 0.734 | ||
| N-SV | 1.089 | 0.646 | 4.629 | 1.249 | 0.965 | 4.415 | 0.686 | ||
| LMSV | 1.144 | 0.633 | 5.126 | 1.400 | 0.971 | 4.656 | 0.657 | ||
| SR-SV | 0.894 | 0.434 | 3.626 | 0.918 | 0.995 | 4.174 | 0.609 | ||
| SPX | |||||||||
| SV | 0.675 | 0.438 | 9.938 | 2.135 | 0.983 | 3.970 | 0.352 | ||
| N-SV | 0.679 | 0.453 | 12.583 | 2.503 | 0.978 | 3.970 | 0.365 | ||
| LMSV | 0.763 | 0.422 | 4.993 | 1.291 | 0.920 | 4.075 | 0.547 | ||
| SR-SV | 0.523 | 0.287 | 9.978 | 2.242 | 1.074 | 3.797 | 0.450 | ||
| TSX | |||||||||
| SV | 0.551 | 0.314 | 3.231 | 0.976 | 0.960 | 3.859 | 0.123 | ||
| N-SV | 0.551 | 0.304 | 3.412 | 1.035 | 0.952 | 3.811 | 0.105 | ||
| LMSV | 0.541 | 0.272 | 3.156 | 0.798 | 0.983 | 4.060 | 0.098 | ||
| SR-SV | 0.500 | 0.229 | 3.948 | 1.234 | 0.973 | 3.734 | 0.077 | ||
| Measure | PPS | QLIKE | Count | ||||||
|---|---|---|---|---|---|---|---|---|---|
| SV | 1.122 | 0.103 | 1.333 | 0.229 | 0.392 | 0.347 | 0.667 | 0 | |
| (0.001) | (0.001) | (0.002) | (0.001) | (0.002) | (0.001) | (0.002) | |||
| BV | N-SV | 1.122 | 0.103 | 1.327 | 0.229 | 0.392 | 0.346 | 0.669 | 0 |
| (0.000) | (0.001) | (0.002) | (0.001) | (0.002) | (0.001) | (0.003) | |||
| LMSV | 0.125 | 1.406 | 0.265 | 0.451 | 0.402 | 0.837 | 0 | ||
| SR-SV | 1.113 | 0.091 | 1.321 | 0.209 | 0.354 | 0.330 | 0.572 | 7 | |
| (0.001) | (0.000) | (0.002) | (0.000) | (0.001) | (0.002) | (0.000) | |||
| SV | 0.114 | 0.830 | 0.256 | 0.428 | 0.323 | 0.862 | 0 | ||
| (0.000) | (0.002) | (0.001) | (0.001) | (0.001) | (0.003) | ||||
| MedRV | N-SV | 0.114 | 0.826 | 0.257 | 0.428 | 0.323 | 0.866 | 0 | |
| (0.000) | (0.002) | (0.001) | (0.000) | (0.001) | (0.004) | ||||
| LMSV | 0.140 | 0.901 | 0.294 | 0.488 | 0.385 | 1.064 | 0 | ||
| SR-SV | 0.102 | 0.821 | 0.235 | 0.389 | 0.308 | 0.757 | 6 | ||
| (0.000) | (0.002) | (0.000) | (0.000) | (0.001) | (0.001) | ||||
| SV | 0.114 | 0.834 | 0.256 | 0.419 | 0.363 | 0.915 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.002) | ||||
| RKV | N-SV | 0.114 | 0.829 | 0.256 | 0.420 | 0.361 | 0.918 | 0 | |
| (0.000) | (0.002) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| LMSV | 0.137 | 0.904 | 0.290 | 0.476 | 0.405 | 1.100 | 0 | ||
| SR-SV | 0.101 | 0.822 | 0.237 | 0.384 | 0.345 | 0.808 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| SV | 0.121 | 1.864 | 0.245 | 0.421 | 0.331 | 0.796 | 0 | ||
| (0.000) | (0.002) | (0.001) | (0.002) | (0.000) | (0.002) | ||||
| RV | N-SV | 0.120 | 1.863 | 0.246 | 0.422 | 0.329 | 0.799 | 0 | |
| (0.000) | (0.002) | (0.001) | (0.001) | (0.001) | (0.003) | ||||
| LMSV | 0.145 | 1.95 | 0.283 | 0.484 | 0.385 | 0.983 | 0 | ||
| SR-SV | 0.108 | 1.861 | 0.224 | 0.382 | 0.316 | 0.692 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.001) | (0.000) |
| DAX | 0.708 | 0.054 | 4.933 | 1.974 | ||
| (0.026) | (0.082) | (0.024) | (0.170) | |||
| HSI | 0.747 | 0.052 | 5.469 | 2.047 | ||
| (0.030) | (0.069) | (0.021) | (0.183) | |||
| FCHI | 0.716 | 0.062 | 5.241 | 1.984 | ||
| (0.029) | (0.083) | (0.029) | (0.182) | |||
| SPX | 0.809 | 0.040 | 5.488 | 2.017 | ||
| (0.035) | (0.060) | (0.016) | (0.177) | |||
| TSX | 0.714 | 0.047 | 4.964 | 1.918 | ||
| (0.026) | (0.084) | (0.021) | (0.160) |
| Variable | Description | Value |
|---|---|---|
| Number of annealing levels | 10000 | |
| Number of particles | 10000 | |
| Number of particles in the particle filter | 200 | |
| Correlation factor in the CPM algorithm | 0.999 | |
| Constant of the ESS threshold | 0.800 | |
| Number of CPM moves | 20 |
| Measure | PPS | QLIKE | Count | ||||||
|---|---|---|---|---|---|---|---|---|---|
| SV | 1.368 | 0.099 | 0.763 | 0.234 | 0.485 | 0.853 | 0.423 | 0 | |
| (0.000) | (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.000) | |||
| BV | N-SV | 1.368 | 0.099 | 0.769 | 0.234 | 0.487 | 0.850 | 0.422 | 0 |
| (0.000) | (0.001) | (0.003) | (0.001) | (0.002) | (0.001) | (0.002) | |||
| LMSV | 0.108 | 0.805 | 0.245 | 0.501 | 0.862 | 0.435 | 0 | ||
| SR-SV | 1.365 | 0.09 | 0.745 | 0.220 | 0.452 | 0.847 | 0.386 | 7 | |
| (0.000) | (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.001) | |||
| SV | 0.094 | 0.582 | 0.237 | 0.486 | 0.810 | 0.443 | 0 | ||
| (0.000) | (0.002) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| MedRV | N-SV | 0.094 | 0.585 | 0.238 | 0.489 | 0.810 | 0.447 | 0 | |
| (0.001) | (0.004) | (0.001) | (0.002) | (0.001) | (0.002) | ||||
| LMSV | 0.099 | 0.612 | 0.245 | 0.504 | 0.825 | 0.467 | 0 | ||
| SR-SV | 0.088 | 0.580 | 0.227 | 0.462 | 0.807 | 0.417 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.001) | ||||
| SV | 0.126 | 0.994 | 0.268 | 0.558 | 0.858 | 0.581 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| RKV | N-SV | 0.126 | 1.001 | 0.269 | 0.559 | 0.854 | 0.581 | 0 | |
| (0.001) | (0.003) | (0.001) | (0.001) | (0.001) | (0.002) | ||||
| LMSV | 0.135 | 1.023 | 0.279 | 0.578 | 0.878 | 0.603 | 0 | ||
| SR-SV | 0.116 | 0.974 | 0.254 | 0.516 | 0.851 | 0.538 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| SV | 0.107 | 0.909 | 0.239 | 0.501 | 0.859 | 0.442 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| RV | N-SV | 0.108 | 0.915 | 0.239 | 0.503 | 0.855 | 0.441 | 0 | |
| (0.001) | (0.003) | (0.001) | (0.002) | (0.001) | (0.002) | ||||
| LMSV | 0.115 | 0.936 | 0.250 | 0.527 | 0.875 | 0.464 | 0 | ||
| SR-SV | 0.098 | 0.889 | 0.223 | 0.462 | 0.851 | 0.400 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.001) |
| Measure | PPS | QLIKE | Count | ||||||
|---|---|---|---|---|---|---|---|---|---|
| SV | 1.131 | 0.069 | 0.497 | 0.186 | 0.319 | 0.359 | 0.390 | 1 | |
| (0.000) | (0.000) | (0.001) | (0.000) | (0.001) | (0.001) | (0.001) | |||
| BV | N-SV | 1.130 | 0.067 | 0.499 | 0.182 | 0.313 | 0.357 | 0.376 | 0 |
| (0.000) | (0.000) | (0.001) | (0.000) | (0.001) | (0.001) | (0.002) | |||
| LMSV | 0.076 | 0.516 | 0.205 | 0.343 | 0.370 | 0.423 | 0 | ||
| SR-SV | 1.127 | 0.060 | 0.504 | 0.152 | 0.261 | 0.355 | 0.294 | 5 | |
| (0.000) | (0.00) | (0.002) | (0.000) | (0.000) | (0.000) | (0.001) | |||
| SV | 0.066 | 0.371 | 0.191 | 0.317 | 0.347 | 0.435 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.001) | ||||
| MedRV | N-SV | 0.065 | 0.370 | 0.188 | 0.312 | 0.344 | 0.423 | 1 | |
| (0.001) | (0.000) | (0.001) | (0.000) | (0.001) | (0.002) | ||||
| LMSV | 0.073 | 0.396 | 0.207 | 0.335 | 0.356 | 0.469 | 0 | ||
| SR-SV | 0.059 | 0.389 | 0.164 | 0.272 | 0.341 | 0.338 | 5 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.001) | ||||
| SV | 0.100 | 0.740 | 0.230 | 0.385 | 0.366 | 0.665 | 1 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.001) | (0.001) | ||||
| RKV | N-SV | 0.098 | 0.741 | 0.226 | 0.380 | 0.364 | 0.648 | 0 | |
| (0.000) | (0.002) | (0.001) | (0.001) | (0.000) | (0.002) | ||||
| LMSV | 0.112 | 0.764 | 0.246 | 0.405 | 0.380 | 0.744 | 0 | ||
| SR-SV | 0.087 | 0.748 | 0.194 | 0.323 | 0.360 | 0.519 | 5 | ||
| (0.000) | (0.002) | (0.000) | (0.001) | (0.000) | (0.001) | ||||
| SV | 0.069 | 0.522 | 0.186 | 0.318 | 0.367 | 0.390 | 1 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.001) | (0.001) | ||||
| RV | N-SV | 0.068 | 0.524 | 0.181 | 0.311 | 0.365 | 0.374 | 0 | |
| (0.000) | (0.001) | (0.000) | (0.001) | (0.001) | (0.002) | ||||
| LMSV | 0.077 | 0.552 | 0.204 | 0.353 | 0.386 | 0.419 | 0 | ||
| SR-SV | 0.060 | 0.530 | 0.150 | 0.258 | 0.361 | 0.291 | 5 | ||
| (0.000) | (0.002) | (0.000) | (0.000) | (0.001) | (0.001) |
| Measure | PPS | QLIKE | Count | ||||||
|---|---|---|---|---|---|---|---|---|---|
| SV | 1.384 | 0.108 | 1.076 | 0.235 | 0.504 | 0.863 | 0.426 | 0 | |
| (0.000) | (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.001) | |||
| BV | N-SV | 1.383 | 0.108 | 1.086 | 0.234 | 0.507 | 0.860 | 0.420 | 0 |
| (0.000) | (0.000) | (0.002) | (0.000) | (0.001) | (0.000) | (0.001) | |||
| LMSV | 0.118 | 1.104 | 0.246 | 0.527 | 0.872 | 0.469 | 0 | ||
| SR-SV | 1.381 | 0.095 | 1.057 | 0.210 | 0.448 | 0.856 | 0.354 | 7 | |
| (0.000) | (0.00) | (0.001) | (0.000) | (0.001) | (0.000) | (0.001) | |||
| SV | 0.100 | 0.670 | 0.238 | 0.500 | 0.833 | 0.543 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.001) | (0.002) | ||||
| MedRV | N-SV | 0.100 | 0.672 | 0.237 | 0.501 | 0.832 | 0.538 | 0 | |
| (0.000) | (0.002) | (0.001) | (0.000) | (0.000) | (0.001) | ||||
| LMSV | 0.112 | 0.695 | 0.247 | 0.513 | 0.849 | 0.582 | 0 | ||
| SR-SV | 0.090 | 0.665 | 0.216 | 0.452 | 0.828 | 0.472 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| SV | 0.158 | 1.271 | 0.301 | 0.624 | 0.901 | 0.750 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.002) | ||||
| RKV | N-SV | 0.159 | 1.285 | 0.301 | 0.628 | 0.896 | 0.745 | 0 | |
| (0.000) | (0.002) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| LMSV | 0.168 | 1.332 | 0.315 | 0.656 | 0.908 | 0.815 | 0 | ||
| SR-SV | 0.139 | 1.229 | 0.275 | 0.562 | 0.890 | 0.645 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| SV | 0.103 | 0.908 | 0.232 | 0.495 | 0.877 | 0.411 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| RV | N-SV | 0.103 | 0.920 | 0.232 | 0.498 | 0.873 | 0.404 | 0 | |
| (0.000) | (0.002) | (0.000) | (0.001) | (0.000) | (0.001) | ||||
| LMSV | 0.113 | 0.945 | 0.245 | 0.521 | 0.884 | 0.449 | 0 | ||
| SR-SV | 0.090 | 0.880 | 0.209 | 0.440 | 0.869 | 0.340 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) |
| Measure | PPS | QLIKE | Count | ||||||
|---|---|---|---|---|---|---|---|---|---|
| SV | 1.004 | 0.074 | 0.904 | 0.192 | 0.295 | 0.106 | 0.542 | 0 | |
| (0.001) | (0.000) | (0.002) | (0.001) | (0.001) | (0.001) | (0.003) | |||
| BV | N-SV | 1.003 | 0.074 | 0.902 | 0.192 | 0.294 | 0.105 | 0.543 | 1 |
| (0.000) | (0.000) | (0.002) | (0.001) | (0.001) | (0.001) | (0.002) | |||
| LMSV | 0.091 | 0.965 | 0.217 | 0.331 | 0.197 | 0.676 | 0 | ||
| SR-SV | 1.001 | 0.069 | 0.900 | 0.181 | 0.273 | 0.107 | 0.517 | 6 | |
| (0.000) | (0.00) | (0.001) | (0.000) | (0.001) | (0.001) | (0.001) | |||
| SV | 0.074 | 0.289 | 0.210 | 0.310 | 0.098 | 1.052 | 0 | ||
| (0.000) | (0.001) | (0.001) | (0.001) | (0.001) | (0.002) | ||||
| MedRV | N-SV | 0.073 | 0.291 | 0.210 | 0.309 | 0.098 | 1.044 | 0 | |
| (0.000) | (0.002) | (0.001) | (0.000) | (0.001) | (0.001) | ||||
| LMSV | 0.096 | 0.360 | 0.239 | 0.353 | 0.209 | 0.839 | 0 | ||
| SR-SV | 0.069 | 0.287 | 0.201 | 0.291 | 0.098 | 0.985 | 5 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.001) | (0.001) | ||||
| SV | 0.096 | 0.349 | 0.246 | 0.357 | 0.134 | 0.987 | 0 | ||
| (0.000) | (0.001) | (0.000) | (0.001) | (0.000) | (0.002) | ||||
| RKV | N-SV | 0.096 | 0.347 | 0.246 | 0.355 | 0.134 | 0.991 | 0 | |
| (0.000) | (0.001) | (0.001) | (0.000) | (0.001) | (0.001) | ||||
| LMSV | 0.110 | 0.392 | 0.263 | 0.378 | 0.220 | 1.120 | 0 | ||
| SR-SV | 0.089 | 0.341 | 0.236 | 0.336 | 0.131 | 0.951 | 6 | ||
| (0.000) | (0.001) | (0.000) | (0.000) | (0.000) | (0.001) | ||||
| SV | 0.087 | 1.370 | 0.206 | 0.319 | 0.118 | 0.625 | 0 | ||
| (0.000) | (0.002) | (0.000) | (0.000) | (0.001) | (0.002) | ||||
| RV | N-SV | 0.087 | 1.368 | 0.206 | 0.317 | 0.117 | 0.627 | 1 | |
| (0.000) | (0.002) | (0.000) | (0.001) | (0.001) | (0.002) | ||||
| LMSV | 0.100 | 1.418 | 0.224 | 0.342 | 0.195 | 0.742 | 0 | ||
| SR-SV | 0.081 | 1.363 | 0.195 | 0.295 | 0.119 | 0.597 | 5 | ||
| (0.000) | (0.002) | (0.000) | (0.000) | (0.001) | (0.001) |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsStock Market Forecasting Methods · Energy Load and Power Forecasting · Complex Systems and Time Series Analysis
A Statistical Recurrent Stochastic Volatility Model for Stock Markets
T.-N. Nguyen, M.-N. Tran, D. Gunawan, R. Kohn Nguyen and Tran: Discipline of Business Analytics, University of Sydney Business School and ACEMS. Gunawan: School of Mathematics and Applied Statistics, University of Wollongong and ACEMS. Kohn: School of Economics, UNSW Business School and ACEMS.
Abstract
The Stochastic Volatility (SV) model and its variants are widely used in the financial sector while recurrent neural network (RNN) models are successfully used in many large-scale industrial applications of Deep Learning. Our article combines these two methods in a non-trivial way and proposes a model, which we call the Statistical Recurrent Stochastic Volatility (SR-SV) model, to capture the dynamics of stochastic volatility. The proposed model is able to capture complex volatility effects (e.g., non-linearity and long-memory auto-dependence) overlooked by the conventional SV models, is statistically interpretable and has an impressive out-of-sample forecast performance. These properties are carefully discussed and illustrated through extensive simulation studies and applications to five international stock index datasets: The German stock index DAX30, the Hong Kong stock index HSI50, the France market index CAC40, the US stock market index SP500 and the Canada market index TSX250. An user-friendly software package together with the examples reported in the paper are available at https://github.com/vbayeslab.
Keywords. Deep Learning; volatility modelling, recurrent neural networks, financial econometrics.
1 Introduction
The volatility of a financial time series, such as stock returns, is defined as the variance of the returns and serves as a measure of the uncertainty about the returns. The volatility, which is of great interest to financial econometricians, is unobserved and therefore often modelled statistically in order to estimate it. The two model classes most frequently used in volatility modelling are the Generalized Autoregressive Conditional Heteroscedastic (GARCH) models and the Stochastic Volatility (SV) models. The GARCH model (Bollerslev,, 1986) expresses the current volatility, conditional on the previous returns and volatilities, as a deterministic and linear function of the squared returns and the conditional volatilities in the previous time period. The SV model (Taylor,, 1982, 1986), on the other hand, uses a latent stochastic process to model the volatility, which is usually taken as a first order autoregressive process. It is well documented that the GARCH and SV models are able to capture important effects exhibited in the variance of financial returns. For example, the volatilities in financial returns are observed to be highly autocorrelated in certain time periods and exhibit periods of both low and high volatility (Mandelbrot,, 1967). This so-called volatility clustering phenomenon can be modeled by the volatility processes introduced in the GARCH and SV models, making these volatility models widely employed in financial time series modelling.
Although the GARCH and SV models were independently and almost concurrently introduced, the GARCH models were initially more widely adopted as it is much easier to estimate GARCH models than SV models. This is because the likelihood of a GARCH model can be obtained explicitly, while the likelihood of a SV model is intractable as it is an integral over the latent process. However, the conditional variance process of GARCH models is deterministic and hence GARCH models might not capture efficiently the random oscillatory behavior of financial volatility (Nelson,, 1991). SV models are considered as an attractive alternative to GARCH models because they overcome this limitation (Kim et al.,, 1998; Yu,, 2002). Recent advances in Bayesian computation such as particle Markov chain Monte Carlo (PMCMC) (Andrieu et al.,, 2010) allow straightforward estimation and inference for SV models.
Standard SV models still cannot appropriately capture some important features arising in financial volatility. For example, a large amount of both theoretical and empirical evidence indicates that there exists long-range persistence in the volatility process of many financial returns, see, e.g, Lo, (1991), Ding et al., (1993), Crato and de Lima, (1994) and Bollerslev and Mikkelsen, (1996). The long-memory property of a time series implies that the decay of the autocorrelations of the series is slower than exponential. The standard SV model of (Taylor,, 1982) uses an AR(1) process to model the log of the volatility and hence might fail to capture this type of persistence (Breidt et al.,, 1998). Another line of the literature shows strong evidence of non-linear auto-dependence in the volatility process of some stock and currency exchange returns (Kiliç,, 2011) and that the simple linear AR(1) process cannot effectively capture the underlying non-linear volatility dynamics.
Breidt et al., (1998) proposed the Long Memory Stochastic Volatility (LMSV) model to overcome the short-memory limitation of the standard SV model. LMSV uses an ARFIMA process (Granger and Joyeux,, 1980) as an alternative to the AR(1) process to capture the long-memory dependence in the volatility. The empirical evidence in Breidt et al., (1998) suggests that the LMSV model is able to capture the long-memory volatility behaviour in some stock return datasets. However, the literature is unclear about whether the LMSV model can capture non-linear dynamics within the volatility process, because the ARFIMA model is linear. Additionally, it is challenging to estimate the LMSV model as its likelihood is intractable. We are unaware of any available software package that implements the LMSV methodology. In another approach, Yu et al., (2006) introduced a family of non-linear SV (N-SV) models to capture the possible departure from the log transform commonly used in SV models. In the standard SV model, the logarithm of volatility is assumed to follow an AR(1) process; N-SV uses other non-linear transformations, such as the Box-Cox power function, rather than the logarithm. The simulation studies and empirical results on currency exchange and option pricing data in Yu et al., (2006) show that the N-SV model using the Box-Cox transformation is able to detect some interesting effects in the underlying volatility process. The general use of N-SV models requires the user to select an appropriate non-linear transformation for the dataset under consideration, and this might lead to a challenging model selection problem. Neither Breidt et al., (1998) nor Yu et al., (2006) clearly discussed the out-of-sample forecast performance of their LMSV and N-SV models.
Recurrent neural networks (RNN) in the Deep Learning literature have impressive prediction performance and have been successfully deployed in a large number of industrial-level applications (language translation, image captioning, speech synthesis, etc.). The RNN models are well-known for their ability to efficiently capture the long-range memory and non-linear dependence existing within various types of sequential data, and are considered as the state-of-the-art models for many sequence learning problems (Lipton et al.,, 2015). Many researchers and practitioners have used RNN for mean modelling in financial time series analysis, but the general consensus is that these machine learning models do not clearly outperform the traditional time series models such as ARMA and ARIMA (see, e.g., Makridakis et al., (2018) and Zhang, (2003)). Makridakis et al., (2018) note that without careful modifications, Machine Learning models are usually less accurate than the statistical approaches that have been extensively investigated in the financial time series literature. Recently, the idea of using the RNN models to improve the predictive performance of GARCH-type models has also been proposed for volatility modelling. For example, Kim and Won, (2018) use the volatility estimates from several GARCH-type models as inputs to a RNN model, which then non-linearly transforms these inputs to output the final estimate of the volatility. The empirical results on the Korean stock market KOPSI 200 index show a significant improvement of forecast performance of the proposed hybrid model over several GARCH-type benchmark models. However, similar to many engineering-oriented Machine Learning models, Kim and Won,’s model overlooks the interpretation aspect in volatility modelling, which is often of main interest to econometricians. One of the main motivations of our article is to develop deep learning based volatility models that are not only able to produce accurate prediction, but also interpretable and have meaningful in-sample analysis. These models should not overlook the well-established features of traditional econometric models, that are motivated by the well-known stylized facts in financial time series such as volatility clustering and fat tails.
In the SV literature, there is still lack of research using RNN structures to model the stochastic volatility dynamics of financial time series, perhaps because of two reasons. First, it is non-trivial to sensibly incorporate RNN into the statistical volatility models. Simple adaptations of RNN to volatility models easily overlook the important stylized facts exhibited in financial volatility, which are well captured by the AR(1) process in the SV model. It is important to select appropriate RNN structures that are not only able to produce accurate out-of-sample volatility forecast, but also explain well the volatility dynamics. Second, a stochastic volatility model that incorporates a RNN structure into its latent stochastic process is highly sophisticated and thus challenging to estimate.
This paper combines the SV and RNN models in a non-trivial way, and proposes a new model, called the Statistical Recurrent Stochastic Volatility (SR-SV) model. In particular, we use the Statistical Recurrent Unit (SRU) structure of Oliva et al., (2017), which is a special type of RNN models, to capture complex volatility effects overlooked by an AR(1) process in the standard SV model but still retain the essential components of the SV model. This combination allows the SR-SV model to enjoy much of advances from both worlds of deep learning (e.g., flexibility and excellent predictive performance) and econometric volatility modelling (e.g., excellent interpretability of volatility effects). The SR-SV model belongs to the class of parametric state space models whose Bayesian inference can be performed using recent advances in the Sequential Monte Carlo (SMC) and particle MCMC literature (Andrieu and Roberts,, 2009; Andrieu et al.,, 2010; Duan and Fulop,, 2015; Deligiannidis et al.,, 2018). The simulation studies and empirical results on the five stock index datasets demonstrate that the SR-SV model can efficiently capture the potential non-linear and long-memory effects in the underlying volatility dynamics, and provide better out-of-sample forecasts than the standard SV, N-SV and LMSV models. We note that we have tested SR-SV on a wider range of stock returns but only report in the paper the results for five of them, as we constantly observed a similar improvement of the model compared to the other three counterpart. A Matlab software package implementing Bayesian estimation and inference for SR-SV together with the examples reported in this paper are available on github111The link is provided in the unblinded version..
The article is organized as follows. Section 2 briefly reviews the SV and SRU models, and presents the SR-SV model. Section 3 discusses in detail Bayesian estimation and inference for the SR-SV model. Section 4 presents the simulation study and applies the SR-SV model to analyze the five stock index datasets. Section 5 concludes. The Appendix gives details of the implementation and further empirical results.
2 The SR-SV model
2.1 The SV model and its possible weaknesses
Let be a series of financial returns. We consider a basic version of SV models (Taylor,, 1982)
[TABLE]
The persistence parameter is assumed to be in to enforce stationarity of both the and processes. In this SV model, the log volatility process is assumed to follow an AR(1) model. It is well documented in the financial econometrics literature that financial time series data often exhibit a long-term auto-dependence, which forces the persistence parameter to be close to 1 (Jacquier et al.,, 1994; Kim et al.,, 1998). Write for the density of given the model parameters and for the density of the data conditional on . We can view as the prior with being the hyper-parameters and as the likelihood (Jacquier et al.,, 1994). Under this perspective, the SV model (1)-(2) puts non-zero prior mass on AR(1) stochastic processes, and zero or almost-zero mass on stochastic processes that are far from being well approximated by an AR(1). This means that the SV model in (1)-(2) might not be able to capture more complex dynamics in the posterior behavior of the log volatility process , such as long-term memory or non-linear auto-dependence, and that a more flexible prior distribution should be put on . We will design such a flexible prior by combining the attractive features from both SV and RNN time series modeling techniques.
Yu et al., (2006) propose a class of non-linearity N-SV models as a variant of SV which allows a more flexible link between the variance and the AR(1) process . Their N-SV model, using the Box-Cox transformation for , is written as
[TABLE]
where is the auxiliary parameter that measures the degree of non-linearity rather than the log transform. As , and hence the N-SV model includes the SV model as a special case. The term non-linearity here might cause some confusion, as it does not refer to the non-linear auto-dependence within the log volatility process , but the non-linearity between and .
Breidt et al., (1998) suggest to use an ARFIMA process (Granger and Joyeux,, 1980; Hosking,, 1981) for the log volatility to capture the long-memory auto-dependence exhibited in financial time series. Their LMSV model is written as
[TABLE]
where , , and is a backshift operator, i.e., . To ensure the stationarity and invertability of the log volatility process , the fractional integration parameter is assumed to be in and the roots of and have to lie outside the unit circle.
Another notable line of research in the SV literature is the class of semi-parametric stochastic volatility models that incorporate non-parametric techniques into modelling the conditional distribution of financial returns. For example, the stochastic volatility, Dirichlet process mixture (SV-DPM) model of Jensen and Maheu, (2010) uses a Dirichlet process prior (Ferguson,, 1973) to characterize the conditional distribution of . Semi-parametric models are different from the SR-SV model in two important aspects. First, the SV-DPM model is proposed to capture the asymmetries and leptokurtotic behaviors of financial returns, while the SR-SV model focuses on modeling the non-linearity and long-memory auto-dependence in the log-volatility dynamics. Second, the SV-DPM model is a semi-parametric model in the sense that the model cannot be described using a finite number of parameters as it uses a non-parametric prior, e.g. Dirichlet process, to simulate the conditional return and retains the parametric structure, e.g. AR(1), of the log-volatility in the standard SV model. The SR-SV model, on the other hand, is a parametric model with eleven parameters whose mathematical representation will be discussed in Section 2.3. Our article therefore uses parametric models including the standard SV, N-SV and LMSV models as the benchmarks to evaluate the SR-SV model.
2.2 The SRU model
There are at least two approaches to modeling time series data. One approach is to represent time effects explicitly via some simple function, often a linear function, of the lagged values of the time series. This is the mainstream time series data analysis approach in the statistics literature with the well-known models such as AR or ARMA. The alternative approach is to represent time effects implicitly via latent variables, which are designed to store the memory of the dynamics in the data. These latent variables, also called hidden states, are updated in a recurrent and deterministic manner using the information carried over by their values from the previous time steps and the information from the data at the current time step. Recurrent neural networks (RNN), belong to the second category, were first developed in cognitive science and successfully used in computer science and other fields. Another class of models that represent time implicitly is state space models, albeit the recurrent update is stochastic, which are widely used in econometrics and statistics. The SV model discussed in Section 2.1 is an example of state space models.
For the purpose of this section, we denote the time series data as where is the vector of inputs and the scalar output. In our article, it is useful to think of as scalar; however, the RNN approach is often efficiently used to model multivariate time series. If the time series of interest has the form , it can be written as with . Our goal is to model the conditional distribution . If the serial dependence structure is ignored, then a feedforward neural network (FNN) can be used to transform the raw input data into a set of hidden units , also called learned features or summary statistics, for the purpose of explaining or predicting . However, this approach is unsuitable for time series data as the time effects or the serial dependence are totally ignored. The main idea behind RNN is to let the set of hidden units to feed itself using its lagged value from the previous time step . Hence, RNN can be best thought of as a FNN that allows a connection of the hidden units to their value from the previous time step, enabling the network to possess memory. Mathematically, this RNN model (Elman,, 1990) is written as
[TABLE]
The model parameters include , , , and , is a non-linear activation function, e.g., common choices are the sigmoid and the tanh , and is a probability density depending on the learning task. For example, if is continuous, then typically is a Gaussian density with mean ; if is binary, then follows a Bernoulli distribution with probability . Usually one sets , i.e. the neural network initially does not have any memory.
Figure 1 illustrates graphically the RNN model (7)-(9). We follow Goodfellow et al., (2016) and use a black square to indicate the delay of a single time step in the circuit diagram (left). The circuit diagram can be interpreted as an unfolded computational graph (right), where each node is associated with a particular time step.
The unfolded graph in Figure 1 suggests that the hidden state at time is the output of a composite function
[TABLE]
which somewhat resembles a multiplication structure in terms of the weight . Consequently, the gradient of with respect to the model parameters might either explode or vanish if is sufficiently large and is not equal to 1, and hence making it inefficient for the Simple RNN model to learn in long time series. See Goodfellow et al., (2016) for further explanation.
Many sophisticated RNN structures have been proposed to overcome the aforementioned problem in the Simple RNN model; for example, the Long Short-term Memory model of Hochreiter and Schmidhuber, (1997), the Gated Recurrent Unit of Cho et al., (2014) and the Statistical Recurrent Unit (SRU) of Oliva et al., (2017). The SRU allows the vector of summary statistics to traverse through the network using a moving average. We will use the SRU in this paper as its structure and some of its main parameters carry statistical meaning; see Section 2.3. A general SRU structure is mathematically written as
[TABLE]
where is a vector of moving average weights, and , , , and are the model parameters. We denote the functional learning structure in (11a)-(11c) as , which takes - the input data at current time - and - the previous output of the SRU - as the input arguments. See Figure 2(a) for the graphical representation of this SRU structure. The moving average structure of the state allows the RNN network with SRU units to enjoy some advantages compared to other RNN models. The current state is related to the previous state both directly and indirectly and hence mitigate the problem of multiplying the same quantities multiple times as in the Simple RNN model. The novel architecture of the SRU allows the model to capture long term dependencies in data via simple moving averages.
2.3 The SR-SV model
This section proposes the SR-SV model that combines SV and SRU for financial volatility modelling. The key idea is that we use the SRU structure to capture the complicated effects such as long-term memory and non-linear auto-dependence, in the volatility dynamics that are overlooked by the basic SV models. This leads to a prior distribution for the log volatility process that is much more flexible than the AR(1) prior (c.f. Section 2.1). Our proposed SR-SV model is as follows
[TABLE]
that is, we use a SRU to model the dynamics of the hidden states . Here, is the initial value of the log volatility process and a convenient choice of is the log of the unconditional variance of the observed series , i.e., . We follow the literature to initialize as the recurrent units initially have no memory. Figure 3 plots the graphical representation of the SR-SV model. See Appendix A.2 for the fully-written version of the SR-SV model.
We note the following important properties of the SR-SV model. First, the SR-SV model in (12)-(15) retains the measurement equation (15) and the linear part of the AR(1) process from the standard SV model, and captures the volatility effects not captured by the AR(1) process, e.g. non-linear and long-memory auto-dependence, via the latent state of the SRU structure. The log volatility at time in (14) can be written as
[TABLE]
Therefore, the parameter characterizes all the effects in the underlying log volatility process rather than the short-term linear effect captured by the AR(1) process. We refer to as the non-linearity long-memory coefficient. If and , the SR-SV model becomes the SV model (1)-(2) and hence the SV model is a special case of the SR-SV model. We therefore follow the SV literature and assume that . The process, and thus the process of the SR-SV model, is not guaranteed to be stationary unless and . Non-stationarity for volatility is often argued to be more realistic in practice (e.g. van Bellegem, (2012)), although it might be mathematically less appealing. The equation in (16) can be further written out as
[TABLE]
where is a non-linear function and is the weight corresponding to ; see the full version of the SR-SV model in the Appendix. If in (17), then only depends linearly on , therefore this equation indicates that the parameter characterizes the serial dependence rather than linearity that the previous log volatility has on . We will analyse in more details in Section 4.
Second, Oliva et al., (2017) set the scales of the SRU model to several pre-specified values to obtain a vector of summary statistics at different moving average weights. We, however, treat as a model parameter and learn it from the data. We note that a higher weighs more on the historical information while a smaller puts a more weight on the current information. We show later in the empirical study that this parameter is able to quantify the existence of the long-memory auto-dependence commonly exhibited in the volatility dynamics of the financial time series.
Third, neural networks are highly flexible but often subject to overfitting, i.e., they have over-confident in-sample fit and bad out-of-sample forecasts. Regularization is often needed to avoid overfitting. Injecting noise into the layers of the network has been found an effective regularization approach in the Machine Learning literature, and seen as a form of data augmentation at multiple levels of abstraction (Sietsma and Dow,, 1991; Poole et al.,, 2014; Goodfellow et al.,, 2016; Dieng et al.,, 2018). In the SR-SV model, by allowing and to be the inputs of the SRU structure at time , we inject the noise of the volatility process to the input and hidden layers of the SRU. This noise-injecting regularization approach makes the SR-SV model perform well on both in-sample fitting and out-of-sample forecast, even with the simplest specification of the SRU structure where all the , and are scalars. Our SR-SV model can be categorized as a parametric model with the vector of model parameters consisting of eleven parameters: four main parameters , , , and the parameters in the SRU including and .
Finally, plays the role of the scale factor for the variance of . One could set and modify (15) to ; however, this parameterization might be less statistically efficient in terms of Bayesian estimation, especially for the parameter (see Kim et al.,, 1998).
It is straightforward to extend the SR-SV model in (12)-(15) by incorporating other advances in the SV literature. For example, we can use a Student’s distribution instead of a Gaussian for the measurement shock and take into account the leverage effect by correlating with the volatility shock . We do not consider these extensions here, however, because using the most basic version makes it easier to understand the strengths and weaknesses of the new model.
3 Bayesian inference
This section discusses Bayesian estimation and inference for the SR-SV model. For a generic sequence we use to denote the series . The SR-SV model is a state-space model with the measurement equation
[TABLE]
and the state transition equation
[TABLE]
We are interested in sampling from the posterior distribution of
[TABLE]
where is the likelihood function, is the prior and is the marginal likelihood. Recall that the vector of model parameters consists of , , , and the 7 parameters within the SRU model (11a)-(11c).
The likelihood function in (20) is
[TABLE]
which is computationally intractable for non-linear non-Gaussian state space models like the SV and SR-SV models, but can be estimated unbiasedly by a particle filter (Del Moral,, 2004). Bayesian inference for SR-SV can be performed using recent advances in the Sequential Monte Carlo literature that we present next.
3.1 The Density Tempered Sequential Monte Carlo for the SR-SV model
Duan and Fulop, (2015) propose the Density Tempered Sequential Monte Carlo (DT-SMC) approach to Bayesian inference for state space models where the likelihood is intractable. The DT-SMC sampler generalizes the SMC method of Neal, (2001) and Del Moral et al., (2006) when the likelihood can be computed analytically. In order to sample from the posterior , the DT-SMC method first samples a set of weighted particles from an easy-to-sample distribution , such as the prior , and then traverses these particles through intermediate distributions , which target the posterior distribution eventually, i.e. . The DT-SMC method uses the following intermediate distributions
[TABLE]
where the is referred to as the level temperature and , is the unbiased estimator of the likelihood and is the set of pseudo random numbers used within a particle filter to estimate the likelihood . For the purpose of this paper where it is possible to sample from the prior , we set . Algorithm 1 summarizes the DT-SMC method for the SR-SV model.
The DT-SMC method consists of three main steps: reweighting, resampling and Markov move. At the begining of SMC iteration , the set of weighted particles that approximate the intermediate distribution is reweighted to approximate the target . The efficiency of these weighted particles is often measured by the effective sample size (ESS) (Kass et al.,, 1998; Liu and Chen,, 1998) defined in (25). If the ESS is below a prespecified threshold, the particles are resampled; the resulting equally-weighted resamples, which are now approximate samples from , are then refreshed by a Markov kernel whose invariant distribution is . For example, Duan and Fulop, (2015) uses the pseudo marginal Metropolis-Hastings (PMMH) kernal of Andrieu et al., (2010) with the likelihood estimated unbiasedly by the particle filter in the Markov move step. However, Pitt et al., (2012) suggest that the PMMH approach works efficiently when the variance of the log of the estimated likelihood is around 1. For some state space models like the SR-SV model, a large number of particles might be required to obtain a likelihood estimator with log variance to be around 1, which is computationally inefficient. To tackle this problem, we incorporate the Correlated Pseudo Marginal (CPM) approach of Deligiannidis et al., (2018) into the Markov move step. The CPM method makes the current set of random numbers and proposal correlated, and helps reduce the variance of the ratio in (26), thus leading to a better mixing Markov chain while using less number of particles in the particle filter. Similar to the SMC methods of Del Moral et al., (2006) and Neal, (2001), the DT-SMC method is parallelizable as the particles move independently in the Markov move step, and provides an estimate of the marginal likelihood as a by-product.
In Algorithm 1, we use a random walk proposal for . We follow Gunawan et al., (2018) and choose the tempering sequence adaptively to ensure a sufficient level of particle efficiency by selecting the next value of such that ESS stays above a threshold.
3.2 Model choice by marginal likelihood
The marginal likelihood is often used to choose between models via the Bayes factor (Jeffreys,, 1935; Kass and Raftery,, 1995). In order to compare the relative performance between two models and on a given data , we can use the Bayes factor defined by
[TABLE]
providing a Bayesian alternative to hypothesis testing. The larger the Bayes factor , the stronger is supported by the data than . Jeffreys, (1961) suggests a scale of interpretation of the Bayes factor as listed in Table 3.2. We note that the DT-SMC sampler in the previous section provides an efficient way to compute the marginal likelihood.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Andersen and Bollerslev, (1998) Andersen, T. G. and Bollerslev, T. (1998). Answering the skeptics: Yes, standard volatility models do provide accurate forecasts. International Economic Review , 39(4):885–905.
- 2Andersen et al., (2012) Andersen, T. G., Dobrev, D., and Schaumburg, E. (2012). Jump-robust volatility estimation using nearest neighbor truncation. Journal of Econometrics , 169(1):75 – 93. Recent Advances in Panel Data, Nonlinear and Nonparametric Models: A Festschrift in Honor of Peter C.B. Phillips.
- 3Andrieu et al., (2010) Andrieu, C., Doucet, A., and Holenstein, R. (2010). Particle Markov chain Monte Carlo methods. Journal of the Royal Statistical Society, Series B , 72:1–33.
- 4Andrieu and Roberts, (2009) Andrieu, C. and Roberts, G. (2009). The pseudo-marginal approach for efficient Monte Carlo computations. The Annals of Statistics , 37:697–725.
- 5Baillie et al., (1996) Baillie, R. T., Bollerslev, T., and Mikkelsen, H. O. (1996). Fractionally integrated generalized autoregressive conditional heteroskedasticity. Journal of Econometrics , 74(1):3 – 30.
- 6Barndorff-Nielsen et al., (2008) Barndorff-Nielsen, O., Hansen, P., Lunde, A., and Shephard, N. (2008). Designing realized kernels to measure the ex post variation of equity prices in the presence of noise. Econometrica , 76(6):1481–1536. cited By 491.
- 7Barndorff-Nielsen and Shephard, (2004) Barndorff-Nielsen, O. E. and Shephard, N. (2004). Power and Bipower Variation with Stochastic Volatility and Jumps. Journal of Financial Econometrics , 2(1):1–37.
- 8Bollerslev, (1986) Bollerslev, T. (1986). Generalized autoregressive conditional heteroskedasticity. Journal of Econometrics , 31(3):307 – 327.
