L.7.1 Input JSON format

The following table provides an example of the required inputs in JSON format:

Function Name: getEconomicCostWithParameters

JSON Format:

{"CURRENT": 
{
"ACCOUNT_NUMBER": "TLN1TLN1",
"AS_OF_DATE": "20140920",
"CURRENT_NET_RATE": "8",
"ORIGINAL_TERM_TO_MATURITY": "12",
"ORIGINAL_TERM_MULTIPLIER": "M",
"PAYMENT_FREQUENCY": "1",
"PAYMENT_FREQUENCY_MULTIPLIER": "M",
"ADJUSTABLE_TYPE_CODE": "0",
"CURRENT_GROSS_BOOK_BALANCE": "48000",
"ACCRUAL_BASIS_CODE": "3",
"AMORTIZATION_TERM": "12",
"AMORTIZATION_TERM_MULTIPLIER": "M",
"AMORTIZATION_TYPE_CODE": "100",
"CURRENT_GROSS_PAR_BALANCE": "48000",
"CURRENT_PAYMENT_AMOUNT": "6959",
"INTEREST_RATE_CODE": "7777",
"LAST_REPRICING_DATE": "20140701",
"MATURITY_DATE": "20150701",
"NEXT_PAYMENT_DATE": "20141001",
"NEXT_REPRICING_DATE": "20150701",
"ORIGINAL_GROSS_PAR_BALANCE": "80000",
"ORIGINATION_DATE": "20140701",
"ISSUE_DATE": "20140701",
"REMAINING_NO_OF_PAYMENTS": "10",
"LAST_PAYMENT_DATE": "20140901",
"INTEREST_TYPE_CODE": "1",
"COMPOUNDING_BASIS_CODE": "120",
"REPRICING_FREQUENCY": "0",
"REPRICING_FREQUENCY_MULTIPLIER": "M",
"TP_RATE": "5.844472",
"INSTRUMENT_TYPE_CODE": "",
"TP_METHOD_CODE": "4"
},
"PRIOR": {
"ACCOUNT_NUMBER": "TLN1TLN1",
"AS_OF_DATE": "20140920",
"CURRENT_NET_RATE": "8",
"ORIGINAL_TERM_TO_MATURITY": "12",
"ORIGINAL_TERM_MULTIPLIER": "M",
"PAYMENT_FREQUENCY": "1",
"PAYMENT_FREQUENCY_MULTIPLIER": "M",
"ADJUSTABLE_TYPE_CODE": "0",
"CURRENT_GROSS_BOOK_BALANCE": "68000",
"ACCRUAL_BASIS_CODE": "3",
"AMORTIZATION_TERM": "12",
"AMORTIZATION_TERM_MULTIPLIER": "M",
"AMORTIZATION_TYPE_CODE": "100",
"CURRENT_GROSS_PAR_BALANCE": "68000",
PAYMENT_AMOUNT": "6959",
_RATE_CODE": "7777",
RICING_DATE": "20140701",
_DATE": "20150701",
MENT_DATE": "20141001",
RICING_DATE": "20150701",
_GROSS_PAR_BALANCE": "80000",
ION_DATE": "20140701",
TE": "20140701",
G_NO_OF_PAYMENTS": "10",
MENT_DATE": "20140901",
_TYPE_CODE": "1",
ING_BASIS_CODE": "120",
"REPRICING_FREQUENCY": "0",
"REPRICING_FREQUENCY_MULTIPLIER": "M",
"TP_RATE": "5.844472",
"INSTRUMENT_TYPE_CODE": "",
"TP_METHOD_CODE": "4"
},
"MINIMUM_CHARGE": "-999999",
"INTEREST_ONLY_FLAG": "0",
"RATE_SPREAD": "0",
"HOLIDAY_CALENDAR": "0",
"INTERPOLATION_METHOD": "1",
"ASSET_LIABILITY": "1",
"SERVICE_TYPE": "B",
"EXCLUDE_ACCRUED_INTEREST": "N",
"PAYMENTSCHEDULE": {
"SCHEDULE": [
{
"AMOUNT": "10000",
"DATE": "20140715"
},
{
"AMOUNT": "20000",
"DATE": "20140815"
},
{
"AMOUNT": "25000",
"DATE": "20140915"
},
{
"AMOUNT": "30000",
"DATE": "20141015"
},
{
"AMOUNT": "35000",
"DATE": "20141115"
}
]
}
}

Function parameters: The following attributes are passed for both the current period (post break) record and prior period (before break) record via request.json:

  • ACCOUNT_NUMBER
  • AS_OF_DATE
  • CURRENT_NET_RATE
  • ORIGINAL_TERM_TO_MATURITY
  • ORIGINAL_TERM_MULTIPLIER
  • PAYMENT_FREQUENCY
  • PAYMENT_FREQUENCY_MULTIPLIER
  • ADJUSTABLE_TYPE_CODE
  • CURRENT_GROSS_BOOK_BALANCE
  • ACCRUAL_BASIS_CODE
  • AMORTIZATION_TERM
  • AMORTIZATION_TERM_MULTIPLIER
  • AMORTIZATION_TYPE_CODE
  • CURRENT_GROSS_PAR_BALANCE
  • CURRENT_PAYMENT_AMOUNT
  • INTEREST_RATE_CODE (The specified IRC will be used both for Transfer Pricing the record if TP Rate is not given and for looking up current rates to calculate the Breakage Charge) • LAST_REPRICING_DATE
  • MATURITY_DATE
  • NEXT_PAYMENT_DATE
  • NEXT_REPRICING_DATE
  • ORIGINAL_GROSS_PAR_BALANCE
  • ORIGINATION_DATE
  • ISSUE_DATE
  • REMAINING_NO_OF_PAYMENTS
  • LAST_PAYMENT_DATE
  • INTEREST_TYPE_CODE
  • COMPOUNDING_BASIS_CODE
  • REPRICING_FREQUENCY
  • REPRICING_FREQUENCY_MULTIPLIER
  • TP_RATE (If provided, the TP Method choice below, is not applicable. This TP rate will be used instead of re-calculating. If TP Rate is not given, then it will be a lookup from a database or calculated using the following method):
    • INSTRUMENT_TYPE_CODE
    • TP_METHOD_CODE (10 - Cash Flow: Zero Discount Factor or 4 - Straight term)
    • INTERPOLATION_METHOD (1- Linear, 2- Cubic spline, 3- Quartic spline)
    • ASSET_LIABILITY (1- Asset, 2- Liability)
    • SERVICE_TYPE (A- Actual or S-Simulated) If "A" is selected (recommended) details will be logged to an audit table, FSI_ECONOMIC_COST_HIST
    • EXCLUDE_ACCRUED_INTEREST (Y - Yes, N - No)

To calculate the Breakage Charge, a Transfer Rate must be available. The transfer rate can be arrived in the following ways:

  • If the TP_RATE is provided in the request.JSON it will be used.
  • If TP_RATE is not provided, then ACCOUNT_NUMBER, AS_OF_DATE, and INSTRUMENT_TYPE_CD, if provided, will be used to lookup the Transfer Rate from the existing instrument record.
  • If neither of the above cases is provided, then the Transfer Rate will be calculated using the indicated TP Method and Interest Rate Curve.

The getEconomicCostWithParameters web service works with data from the following tables. The specific table where the instrument record lookup will execute is identified in the request.json based on INSTRUMENT_TYPE_CODE.

  • FSI_D_TERM_DEPOSITS (230)
  • FSI_D_MORTGAGES (130)
  • FSI_D_LOAN_CONTRACTS (180)
  • FSI_D_CREDIT_LINES (160)

This list of tables can be extended by including additional tables in the ofsaaws.properties file.