Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rounding Standards - Financial Calculations

I am curious about the existence of any "rounding" standards" when it comes to the calculation of financial data. My initial thoughts are to perform rounding only when the data is being presented to the user (presentation layer).

If "rounded" data is then used for further calculations, should be use the "rounded" figure or the "raw" figure? Does anyone have any advice?

Please note that I am aware of different rounding methods, i.e. Bankers Rounding etc.

like image 972
Guamez Avatar asked Oct 01 '10 15:10

Guamez


People also ask

Do you round up when calculating money?

When rounding to the nearest dollar, round the monetary amount up when the number to the right, immediately following the decimal point, is five or more. Keep the monetary amount the same if the number after the decimal point is four or less. In the example: $175.439 rounds down to $175 because 4 is less than 5.

What is standard accounting rounding?

In accounting, rounding is used to simplify financial reports or to ensure prices fit with intervals of currency. Financial values are usually rounded to a decimal number with fewer decimal places, or to a specific interval (such as the nearest 10, 100, or 1 million).

Do you always round up in accounting?

The rounding preferences method always rounds up, never down to a lower number.

What are the 4 rules of rounding?

Put simply, if the last digit is less than 5, round the previous digit down. However, if it's 5 or more than you should round the previous digit up. So, if the number you are about to round is followed by 5, 6, 7, 8, 9 round the number up. And if it is followed by 0, 1, 2, 3, 4 round the number down.


2 Answers

The first and most important rule: use a decimal data type, never ever binary floating-point types.

When exactly rounding should be performed can be mandated by regulations, such as the conversion between the Euro and national currencies it replaced.

If there are no such rules, I'd do all calculations with high precision, and round only for presentation, i.e. not use rounded values for further calculations. This should yield the best overall precision.

like image 154
Michael Borgwardt Avatar answered Sep 21 '22 07:09

Michael Borgwardt


I just asked a greybeard mainframe programmer at the financial software company I work for, and he said there is no well-known standard and it's up to programmer practice.

While statisticians have been aware of the rounding issue since at least 1906, it's difficult to find a financial standard endorsing it.

According to this site, the "European Commission report The Introduction of the Euro and the Rounding of Currency Amounts suggests that there had previously been no standard approach to rounding in banking."

In general, use a symmetric rounding mode no matter what base you are working in (base-2 or base-10).

This will avoid systematic bias during calculations.

Such a mode is Round-Half-To-Even, otherwise known as "bankers rounding".

Use language tools that allow you to specify the numeric context explicity, including the rounding and truncation modes. For example, Python's decimal module. The implicit assumptions made by the C library might not be appropriate for your computations.

http://en.wikipedia.org/wiki/Rounding#Rounding_to_integer

like image 34
Joe Koberg Avatar answered Sep 23 '22 07:09

Joe Koberg