Currency Conversion
The Oracle Insurance Policy Administration (OIPA) application can be configured to support multiple currencies and perform currency conversion using pair currencies and cross rates. Whenever a currency is converted, there is a cost incurred in converting the money, which is captured by the system when the conversion takes place.
The system can also be configured to calculate exchanges in either direct of indirect terms. This functionality provides the ability to support global equity trading processes and various aspects of internationalization so products can be developed that require foreign exchanges.
Understanding how the OIPA system processes currency conversion is important when approaching a strategy for configuration. All currencies use a three letter ISO-4217 currency code that is hard coded. Default currencies that set a base currency for products can be set at the activity, plan, company and system level, which override each other respectively. Default currencies are also set-up at the fund level and may vary from fund to fund depending on what currency it uses.
When the OIPA system performs assignment configuration in a transaction that is moving money in and out of funds, it checks to see if the default currency codes are different for the plan or company and the fund. If they are, then a currency conversion will be performed according to logic configured. Configure logic that instructs the system to perform the currency calculation in direct or indirect terms. Resulting values will be written in the AsValuation records along with any conversion costs. In buy transactions, the currency exchange is from plan or client currency to fund currency. In sell transactions, the currency exchange is from fund to plan or client currency.
Currency Conversion in Math
OIPA also provides the ability to configure currency conversion directly in rules that contain a math section. Currency conversion in math only supports the ability to convert from one currency to another as a simple formula, and there is no tracking of the currency conversion details. When currency conversion happens in the math, the system will look up the exchange rates for the currencies using rate as of a specified date, or the latest exchange rates that exist. The data is calculated and rounded properly, but no details of the conversion are captured.
Currency conversion in the math is an important part of the math processing and the conversion that takes place is based on foreign exchange rates. The foreign exchange rate can change daily and as a result the system needs to be able to specify the date used to determine the foreign exchange rate. The exchange rate will then be used by the math variable to perform the currency conversion.
The currency ExchangeDate element can be added to math variables with TYPE=”CURRENCY” to specify the date used to locate the exchange rate used in conversion exchange calculation. The specified date should allow for past dates and the current date as long as the rate that corresponds to the configured date is present on the AsExchange rate table for the currencies involved.
Important | The XML Configuration Guide provides details on conversions in rules that contain a math section. The CURRENCY element is described in the Transaction Rule | Transaction Elements | Math Elements | CURRENCY section. |
High Level Steps Involved in Configuring Products that Require Currency Conversion
If currency conversion needs to be invoked in the system then the following steps must be taken to ensure correct Market Maker information, currency rounding methods, and proper terms (direct or indirect) for conversion calculations.
Important | OIPA assumes all conversions use a single rate per business day and are loaded into OIPA. Unit linking uses the strike method of guaranteeing the next price after the activity date that requires a unit deal. OIPA stores various market calendars and recognizes days that prices can be guaranteed according to that specific market calendar. |
-
Create currency codes using the Currency editor in the Admin Explorer tab.
-
Configure market maker information via Market Maker in the Admin Explorer tab.
-
Specify the Market Maker for the plan that is associated with the product. This can be done through the New Plan Wizard if a new plan is being created, or it can be done by editing an existing plan.
-
Configure default currencies at the activity, plan or company level and the fund levels.
-
Verify how the AsExchangeRate table will be updated. This may be done via a web service like AsFile, direct insert into the database or another method. The following rules apply when loading exchange rates:
-
Configure transactions that will perform currency conversions. These types of transactions usually move money in and out of funds and are associated with valuation. If your transaction has an assignment section, you must have a MathStatement function in the Math section to tell Assignment how to retrieve prices and exchange rates.
a. The Bid Price is always the amount that the Market Maker is willing to pay for the currency that needs to be exchanged.
b. The Offer Price is always the amount that the Market Maker will sell the currency for.
c. The Offer Price must always be greater than the Bid Price for direct exchanges.
d. The Offer Price must always be less than the Bid Price for indirect exchanges.
Important | It is the assignment configuration that invokes OIPA to perform a currency conversion unless invoked directly with specific currency math configuration. The currency math configuration is explained in the XML Configuration Guide in the Transaction Rules>Transaction Elements>Math Elements>CURRENCY section. |
Important | Currency needs to be specified on all Money fields. You can list multiple currencies and allow selection during the data entry process. |