Interest Module
methods for calculating interest and unambiguously expressing interest rates, as well as enforcing regulatory caps on interest chargeable
Types and nested modules
Type/Module | Description |
advanced interest options |
|
caps on the total interest accruable |
|
basic interest options |
|
a promotional interest rate valid during the specified date range |
|
|
|
advanced interest options |
|
basic interest options |
|
caps on the total interest accruable |
|
the daily interest rate |
|
the method used to calculate the interest |
|
a promotional interest rate valid during the specified date range |
|
the interest rate expressed as either an annual or a daily rate |
Functions and values
Function or value |
Description
|
Full Usage:
``CCA2004regulation4(1)formula`` A B r m n a b
Parameters:
TransferMap
B : TransferMap
r : decimal
m : int
n : int
a : IntervalMap
b : IntervalMap
Returns: decimal<MeasureProduct<Cent, MeasureOne>>
|
calculates the settlement figure based on Consumer Credit (Early Settlement) Regulations 2004 regulation 4(1): 4.—(1) The amount of the rebate is the difference between the total amount of the repayments of credit that would fall due for payment after the settlement date if early settlement did not take place and the amount given by the following formula: \[\sum_{i=1}^{m} A_i(1 + r)^{a_i} - \sum_{j=1}^{n} B_j(1 + r)^{b_j}\] where: \(A_i\) = the amount of the ith advance of credit, \(B_j\) = the amount of the jth repayment of credit, \(r\) = the periodic rate equivalent of the APR/100, \(m\) = the number of advances of credit made before the settlement date, \(n\) = the number of repayments of credit made before the settlement date, \(a_i\) = the time between the ith advance of credit and the settlement date, expressed in periods, \(b_j\) = the time between the jth repayment of credit and the settlement date, expressed in periods, and \(\sum\) represents the sum of all the terms indicated.
|
Full Usage:
calculate principalBalance dailyInterestCap interestRounding dailyRates
Parameters:
int64<MeasureProduct<Cent, MeasureOne>>
dailyInterestCap : Amount
interestRounding : Rounding
dailyRates : DailyRate array
Returns: decimal<MeasureProduct<Cent, MeasureOne>>
|
calculates the interest accrued on a balance at a particular interest rate over a number of days, optionally capped by a daily amount
|
Full Usage:
calculateRebate principal payments apr settlementPeriod settlementPartPeriod unitPeriod paymentRounding
Parameters:
int64<MeasureProduct<Cent, MeasureOne>>
payments : (int * int64<MeasureProduct<Cent, MeasureOne>>) array
apr : Percent
settlementPeriod : int
settlementPartPeriod : Fraction
unitPeriod : UnitPeriod
paymentRounding : Rounding
Returns: int64<MeasureProduct<Cent, MeasureOne>>
|
calculates the amount of rebate due following an early settlement note: the APR is the initial APR as determined at the start of the agreement
|
Full Usage:
dailyRates startDate isSettledWithinGracePeriod standardRate promotionalRates fromDay toDay
Parameters:
Date
isSettledWithinGracePeriod : bool
standardRate : Rate
promotionalRates : PromotionalRate array
fromDay : int<MeasureProduct<OffsetDay, MeasureOne>>
toDay : int<MeasureProduct<OffsetDay, MeasureOne>>
Returns: DailyRate array
|
calculates the interest chargeable on a range of days
|
Full Usage:
ignoreFractionalCents multiplier value
Parameters:
uint
value : decimal<MeasureProduct<Cent, MeasureOne>>
Returns: decimal<MeasureProduct<Cent, MeasureOne>>
|
if there is less than one cent remaining, discards any fraction
|