April 23rd, 2007, 12:45 pm
I wrote my company's ESO valuation engine as well, a few years ago. Your intuition sounds correct to me, that this is a code bug. However beware, are you comparing against a closed-form solution for a barrier option? If so, you need to make sure every other aspect of the comparison is valid ... i.e. constant risk-free rate with continuous compounding, constant dividend yield, constant volatility. Many times in ESO valuations this is not the case.If indeed this is the case, then you need to see if you can rule out simulation error. If it is a long-dated (i.e. 10y option) then the difference in prices for these instruments is very small and could be dwarfed by monte carlo error. Compute standard error of your estimate and see, you may just need more paths and/or a better generator as discussed by DCFC (I would recommend MT). Finally one other check you can run is to actually price the vanilla knock-in on the same set of paths you are pricing your ESO and compare all three results. If something still looks funky then you have a bug.Hope it helps