Decimal Floating Point ALU Design

CSL | Computational Sciences Laboratory

Decimal Floating Point ALU Design

Decimal floating point ALU will perform operations directly on decimal numbers. Financial transaction processing is one of the major uses of computers. Typically, these transactions involve many decimal multiplications, such as multiplying the cost per minute or the tax rate per charge. These decimal calculations must be rounded to a decimal radix point. Decimal calculations cannot be directly implemented with binary floating point because fractions such as 0.1 cannot be represented exactly. Hence rounding error becomes a bottleneck in the design of such financial systems. Thus this further helps the banking systems to greatly reduce the precision and round off errors to a great extent, paving a way for them to prevent incurring huge losses due to the aforementioned problems.

Computational Finance | Precision Issues in Finance:

Financial transactions deal with decimal numbers. The computers performing these transactions use binary floating point arithmetic which is limited in its ability to represent every decimal number exactly. Even a common decimal such as 0.1 does not have an exact binary floating point representation. This leads to losses in information, which in financial transactions, equate to monetary losses. The purpose of this research is to investigate the severity of these losses and explores the suitability of IEEE 754 single and double precision for financial calculations. We explore a worst case by design approach, using a matrix representation of errors to show that arbitrary error patterns can result from carefully chosen sequences of transactions. We can get errors which are monotonically increasing/decreasing, or exhibit other patterns with significant statistical bias.

Computational Finance | Financial Calculations:

We have implemented a system which takes internet data and computes arbitrage opportunities, based on real time internet feeds of exchange rates and stocks. The system is currently being extended to include option/derivative pricing. Parallelization on a GPU/multi-core platform is also underway.