Sample moments typically converge slowly to the true moments. This is the reason why you are observing such discrepancies between the two methods. For instance, run the following code several times
# Simulated data
dat <- rt(2000,df=8)
# Sample kurtosis
kurtosis(dat)-3
# Theoretical kurtosis
6/(8-4)
# MLE kurtosis
LL <- function(par){
if(par>0) return(-sum(dt(dat,df=par,log=T)))
else return(Inf)
}
parameter <-optim(8, fn=LL, method="Brent",lower=6,upper=11)$par
6/(parameter-4)
In many cases the two estimators (sample kurtosis and MLE) differ. You got one of those samples where they differ.
Moreover (and maybe more importantly), the sample kurtosis converges to the true kurtosis while the MLE kurtosis converges to the kurtosis of the distribution that better fits the true distribution according to this criterion.
I agree with @whuber that the fit of your proposal distribution is pretty bad. You are unnecesarilly restricting the distribution (a Student-t would provide a much better fit for almost the same computational cost). Check
library(MASS)
fitdistr(standresidsapewma,"t")