Skip to content
All library documents

Evaluating Volatility Estimators with RMSE and Unobservable True Volatility

Article Quant Q&A · Author: griffin

Summary

The document explains what RMSE measures when comparing volatility estimates with a latent true volatility. It treats volatility as a parameter and defines estimator error through expected squared distance from that unknown value. Realized volatility can be observed from returns, but the true volatility for the same day is not directly observable, so it cannot simply be replaced by the following day's absolute return.

An illustrative simulation compares maximum likelihood and Pearson–Neyman variance estimators using samples from a standard normal distribution. In that example, the biased maximum likelihood estimator has lower mean squared error, while the unbiased estimator is described as more accurate in the bias sense. The discussion emphasizes a precision-versus-bias trade-off and notes that empirical RMSE based on prediction errors is itself a biased estimate of population RMSE. The example is limited to a specific simulated setting; it does not provide a general method for observing true volatility or establish which estimator is best for market data.

Key ideas

  • RMSE is based on squared distance between an estimate and the parameter being estimated.
  • The true volatility for a given day is latent, even when realized volatility can be calculated from returns.
  • RMSE can compare biased as well as unbiased estimators.
  • A simulation illustrates that an unbiased variance estimator can have greater mean squared error than a biased alternative.
  • Prediction-error RMSE is itself a biased estimate of population RMSE.

Tags

Full text
# Measuring unbiased estimator for variance with RMSE?


# Measuring unbiased estimator for variance with RMSE?












The root mean squared error (RMSE) is considered by some to be the best measure of how good a variance estimate is. You often see it quoted as:

$RMSE=\sqrt{\frac{1}{n}\sum_{i=1}^n(\hat{\sigma_i} - \sigma_i)^2}$

Where $\hat{\sigma}$ is the estimate of the volatility while $\sigma$ is the actual volatility.

My question is: what is $\sigma$ in this case? Suppose that $\hat{\sigma}$ is the prior day's realized volatility (i.e. $RV = \sum_{t=0}^N r_t$ where $r_t$ is the 5-minute return), is the actual volatility just the next day's absolute return?

## Answer by Dave Harris (score 1)

https://quant.stackexchange.com/a/47090

Root mean squared error is linked to efficiency. It is not restricted to unbiased estimators unless you add that restriction. If you did not, then you would find that the maximum likelihood estimator or the Bayesian estimator would, in the general case, have a lower squared loss.

For a moment, let us ignore $\sigma$ as a volatility measure and generalize it to $\theta$ a parameter of interest. It could be a center of location, a measure of scale, shape, skew, kurtosis or anything else including a fractile or quantile.

If $\hat{\theta}$ is an estimator, then the efficiency of an estimator is $E[(\hat{\theta}-\theta)^2].$ The RMSE is just a transformation.

In the case of $E[(\hat{\sigma}_t-\sigma_t)^2]$, the $\hat{\sigma_t}$ is the realized volatility, which is obviously observable. The $\sigma_t$ is the true, but unobservable volatility for that day. It is a parameter and is not known.

I created some R code to generate one thousand samples of size ten from the standard normal distribution so you could graphically look at them. I forgot to set the seed, but for this graphic, the MSE for the Maximum Likelihood Estimator (MLE) was .19677 while the MSE for the Pearson and Neyman (PN) unbiased estimator was .22797. The unbiased estimator was roughly 15.8% less efficient, but it was intrinsically more accurate. The trade-off is between precision and accuracy.

Graphically, the difference in the estimators was

Note that RMSE is sometimes estimated in economics by finding the RMSE of the actual minus a prediction. Do note that it is a biased estimator of the population RMSE.

```
library(ggplot2)
library(export)
rm(list = ls())

x<-matrix(rnorm(10000),ncol = 1000,nrow = 10)

variance_ML<-function(A){
n<-length(as.vector(A))
  x_bar<-sum(A)/n
  variance<-sum((A-x_bar)**2)/n
  return(variance)
}

variance_PN<-function(A){
  n<-length(as.vector(A))
  x_bar<-sum(A)/n
  variance<-sum((A-x_bar)**2)/(n-1)
  return(variance)
}

MLE<-apply(x,2,variance_ML)

PN<-apply(x,2,variance_PN)

MSE_MLE<-sum((MLE-1)**2)/length(MLE)

MSE_PN<-sum((PN-1)**2)/length(PN)

graphical_frame<-data.frame(MLE,PN)

g<-ggplot(data = graphical_frame)+geom_density(aes(x=MLE),kernel="gaussian",color="red",show.legend = TRUE)+geom_density(aes(PN),kernel="gaussian",color="blue",show.legend = TRUE)
h<-g+labs(title = "Density Estimate of MLE(Red) and Pearson-Neyman Unbiased Estimator (Blue)",x="Estimator",y="Density")

graph2png(h,file="TBD")
```

## Answer by Suyang Xu (score 0)

https://quant.stackexchange.com/a/47070

I am also studying this.

From Ait-Sahalia, Mykland, and Zhang (2005), they just assumed a $\sigma$ = 30% of the stock price.

From Bandi and Russell (2008), they calculated standard deviation of stock prices over a fairly longer period than sampling subinterval, say 1-day = 6.5 hours of trading. Then scale down the standard deviation to unit of sampling subinterval, say 1-min, for $\sigma$.

Shown in full with attribution under the source's licence. Licence: CC BY-SA 4.0 (Stack Exchange)

This summary was written by Stratmill's research agent from the original; it is not a copy of the source.