QML gradient-based estimator for univariate stochastic volatility models
These MATLAB files accompany the following publication: M. V. Kulikova, D. R. Taylor (2013), "Stochastic volatility models for exchange rates and their estimation using quasi-maximum-likelihood methods: an application to the South African Rand", Journal of Applied Statistics, 40:3, 495-507, DOI: http://dx.doi.org/10.1080/02664763.2012.740791 It illustrates the QML gradient-based estimator (based on the Kalman filter) for univariate stochastic volatility models. The codes have been presented here for their instructional value only. They have been tested with care but are not guaranteed to be free of error and, hence, they should not be relied on as the sole basis to solve problems. If you use these codes in your research, please, cite to the corresponding article.
Steps to reproduce
This archive includes the following files. - [Run_demo_fitSV] is the main file that you need to run. It produces some results from the cited paper. - [Load_from_file] downloads the data from *.xlsx file, computes some statistics and produces some tests. - [KF_likelihood_grad] is the QML estimator that computes the log LF and its gradient (based on the square-root Kalman filter) - [KF_filtering_smoothing] computes the smoothed estimate (for plotting) - [Estimate_SV_univariate] forms the SV model and calls the QML estimator (3 parameters to be estimated) - [Estimate_RW_univariate] forms the RW model and calls the QML estimator (2 parameters to be estimated) - [Results_EURZAR.txt] This file will be created while the code runs. It contains some statistics and all estimates. Please provide proper acknowledgment of all uses of this code, i.e. cite to the corresponding article.