Hi Luizpaulo,
I am replying way too late for it to be of any help to you.
For what it's worth, I fixed an error in the aux-regression equation for estimating alpha in my article. If you were using the earlier version of the equation, try switching to the updated version of the equation from the article and see if that helps.
Alternately, and this might be the easier way to do it, you could use statsmodels' built-in support for the NB model (see example below). The builtin model will estimate the alpha for you as part of the model fitting process:
import statsmodels.discrete.discrete_model as dm
#build the model
nb_model = dm.NegativeBinomial(y_train, X_train, loglike_method='nb2')
#print out the estimated alpha. The second param in the output below is the alpha estimated by statsmodels:
print(nb_model._get_start_params_null())
#fit the model
nb2_training_results = dm.fit(maxiter=100)
'best