The problem isn't heteroskedasticity, that's why it's passing the test. The problem is that your model doesn't work well for (someat least some of) your observations.
I've never seen anyone analyze stock prices without looking at their differences. Try a Dickey-Fuller test for a unit root---I bet that you can't reject that there is one, as @mpiktas alludes to in his comment.
If there isn't a unit root, perhaps there is a time trend or seasonality. You might try including a linear time trend or seasonal components.
Alternatively, you might try working with the log of the prices, which sometimes helps the fit.