I am doing some fun experiments in studying Maximum Likelihood estimation.
Let's say I generate a Geometric Brownian motion process using random number generator and via some transformation. I've made certain this step is correct. And I know the true values of drift and sigma that I've used. Let me call them drift_star and sigma_star.
Now I want to estimate the drift and volatility of my generated data, as an exercise of MLE:
I've derived analytically the log-likelihood function. And I plug in the simulated data, and then feed this into a well-known local optimizer, SNOPT. Funny things occured. Let me now describe the situation:
I know MLE needs relative large data set. So I make it 10^6 sample points in my descritization of the Geometric Brownian motion, for time horizon fixed at T=1. That's to say, divide T by 10^6 and that's the step size.
I did my local optimization search with a starting point which is exact the true values, since I simulated this data from the true values.
I was hoping the local optimizer -- SNOPT can converge back to true value again. In this way, I can verify if MLE does really work, and my analytical derivation of the log-likelihood function is correct.
The result was surprising. The SNOPT does converge to a local optimum, which is different the starting point -- the true value. The loglikelihood function at that point is always larger than that of the true value. I did many runs of this simulation. The local maximum around the true values are always larger than that of the true value.
My question is: does this mean MLE is not usable, since the true value point is not actually the maximum likelihood point of the log-likelihood function. Even in a neighborhood of true values, we can still find point that has even larger log-likelihood value? In this case, suppose when we don't know the true values, then even we take effort to find the global maximum of the log-likelihood function, it still might not be the true values... not to say for a hundred data points(not 10^6) in reality.
I hope the more experienced people can help me. If MLE is reliable(given the sample size is 10^6 which is so big, MLE should converge to true values asympototically), then my analytical expression of the log-likelihood function might be wrong... I believe the local search part SNOPT should be no problem, because it is just a search.