Header menu logo FSharp.Finance.Personal

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

Cap (Module)

caps on the total interest accruable

Config (Module)

interest options

PromotionalRate (Module)

a promotional interest rate valid during the specified date range

Rate (Module)

Cap (Type)

caps on the total interest accruable

Config (Type)

interest options

DailyRate

the daily interest rate

Method

the method used to calculate the interest

PromotionalRate (Type)

a promotional interest rate valid during the specified date range

Rate (Type)

the interest rate expressed as either an annual or a daily rate

Functions and values

Function or value Description

calculate principalBalance dailyInterestCap interestRounding dailyRates

Full Usage: calculate principalBalance dailyInterestCap interestRounding dailyRates

Parameters:
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

principalBalance : int64<MeasureProduct<Cent, MeasureOne>>
dailyInterestCap : Amount
interestRounding : Rounding
dailyRates : DailyRate array
Returns: decimal<MeasureProduct<Cent, MeasureOne>>

calculateRebate principal payments apr settlementPeriod settlementPartPeriod unitPeriod paymentRounding

Full Usage: calculateRebate principal payments apr settlementPeriod settlementPartPeriod unitPeriod paymentRounding

Parameters:
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

principal : 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>>

dailyRates startDate isSettledWithinGracePeriod standardRate promotionalRates fromDay toDay

Full Usage: dailyRates startDate isSettledWithinGracePeriod standardRate promotionalRates fromDay toDay

Parameters:
Returns: DailyRate array

calculates the interest chargeable on a range of days

startDate : Date
isSettledWithinGracePeriod : bool
standardRate : Rate
promotionalRates : PromotionalRate array
fromDay : int<MeasureProduct<OffsetDay, MeasureOne>>
toDay : int<MeasureProduct<OffsetDay, MeasureOne>>
Returns: DailyRate array

ignoreFractionalCents multiplier i

Full Usage: ignoreFractionalCents multiplier i

Parameters:
Returns: decimal<MeasureProduct<Cent, MeasureOne>>

if there is less than one cent remaining, discards any fraction

multiplier : int
i : decimal<MeasureProduct<Cent, MeasureOne>>
Returns: decimal<MeasureProduct<Cent, MeasureOne>>

Type something to start searching.