It might be due to the memory size that a variable takes up in the computer that is holding the numbers. Because most stocks would trade in volumes under 2 billion a long integer value would be used to take up less computer memory (helps the computer run faster, efficient). It could go from -2,147,483,648 to 2,147,483,647 (this is just an appromimation dependant on the hardware), if the number exceeds the memory allocated for it the number can become negative.