I am running a regression in python (a basic market model with just one index as regressor). After doing that I conduct the heteroscedasticity test on residuals using two tests, White and ARCH. I am having trouble understanding the situation when I only obtain significance in the White test. In other words, how should I proceed? Could using a GARCH model not be the appropriate solution?
I wouldn't base my choice of model on a test for heteroscedasticity. And I'm not the only one. Here is a quote from the great George Box:
To make the preliminary test on variances is rather like putting to sea in a rowing boat to find out whether conditions are sufficiently calm for an ocean liner to leave port!
And you can read more about this in a paper by the great Andrew Gelman which he titled: Hey, you. Yeah, you! Stop what you’re doing RIGHT NOW and read this Stigler article on the history of robust statistics .
If you want to check heteroscedasticity, I would do it visually and use judgement (data analysis requires judgement). Or, do the usual regression and a robust variant and compare results, and, again, use your judgement.
Using GARCH does not sound like a great option, because you have not established presence of autoregressive conditional heteroskedasticity (and you have used the ARCH-LM test that could have indicated that). Meanwhile, White's test assesses whether the variance of the residuals varies with the regressors (in your case only one). If you were to modify the model to account for that, you would want a model where, well, the variance of the residuals varies with $x$.
(This could still be done with a GARCH model in a dirty way. You would specify the conditional variance equation as GARCHX, including $x$ as an external regressor in the conditional variance equation. During estimation, you would restrict the parameters $\alpha=0.001$ and $\beta=0.999$, so that the estimated ARCH patterns are negligible. But there should be a more elegant alternative.)