A piece of code:
if MIN_VALUE:
predicted_value = max(predicted_value, MIN_VALUE)
if MAX_VALUE:
predicted_value = min(predicted_value, MAX_VALUE)
0.0 is casted to False (ex.: "print "True" if 0.0 else "False" prints "False"), therefore you can still get results <0 even if you specify MIN_VALUE=0.0.