We need to use some sort of Fixed Point type to represent prices to avoid numerical errors. The chosen type must support: - Aribtrary number of decimal places (at least 8) - Operations between Fixed Points with any allowed decimal place values