SS.FinancialMathematics 1.3.0
Effective rates, complete mortgage schedules, exact rational money rounding, all supported real IRR roots, dated cash flows, curves, bonds, annuities and calendars
Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0
No package dependencies declared.
Public API
export function addCalendarDays(FinanceDate date, int days)->FinanceDateParameters: date: FinanceDate, days: int
FinancialMathematics.addMoney
export function addMoney(Money left, Money right)->MoneyParameters: left: Money, right: Money
export function adjustBusinessDay(FinanceDate date, BusinessCalendar calendar, string convention)->FinanceDateParameters: date: FinanceDate, calendar: BusinessCalendar, convention: string
export record AmortizationSchedule(public double[] payments, public double[] interest, public double[] scheduledPrincipal, public double[] prepayments, public double[] balances, public double totalInterest, public int paidPeriods, public bool paidOff)Parameters: payments: double[], interest: double[], scheduledPrincipal: double[], prepayments: double[], balances: double[], totalInterest: double, paidPeriods: int, paidOff: bool
FinancialMathematics.amortize
export function amortize(double principal, double periodicRate, int count, double[] extraPrincipal)->AmortizationScheduleParameters: principal: double, periodicRate: double, count: int, extraPrincipal: double[]
export function annuityFutureValue(double payment, double periodicRate, int count, bool due)->doubleParameters: payment: double, periodicRate: double, count: int, due: bool
export function annuityPresentValue(double payment, double periodicRate, int count, bool due)->doubleParameters: payment: double, periodicRate: double, count: int, due: bool
FinancialMathematics.bond
export function bond(double face, double couponRate, double yieldRate, int periodsToMaturity)->BondMetricsParameters: face: double, couponRate: double, yieldRate: double, periodsToMaturity: int
export function bondCashFlows(double face, double couponRate, int periodsToMaturity)->double[]Parameters: face: double, couponRate: double, periodsToMaturity: int
export record BondMetrics(public double price, public double macaulayDuration, public double modifiedDuration)Parameters: price: double, macaulayDuration: double, modifiedDuration: double
FinancialMathematics.bondYield
export function bondYield(double face, double couponRate, double price, int periodsToMaturity, double lower, double upper, double tolerance, int maximumIterations)->IrrResultParameters: face: double, couponRate: double, price: double, periodsToMaturity: int, lower: double, upper: double, tolerance: double, maximumIterations: int
export function businessCalendar(string name, FinanceDate[] holidays)->BusinessCalendarParameters: name: string, holidays: FinanceDate[]
export record BusinessCalendar(public string name, public FinanceDate[] holidays)Parameters: name: string, holidays: FinanceDate[]
export function compoundFutureValue(double principal, double annualRate, int compoundsPerYear, double years)->doubleParameters: principal: double, annualRate: double, compoundsPerYear: int, years: double
export function convertMoney(Money source, string targetCurrency, long rateNumerator, long rateDenominator, int targetMinorUnitDigits, string rounding)->MoneyParameters: source: Money, targetCurrency: string, rateNumerator: long, rateDenominator: long, targetMinorUnitDigits: int, rounding: string
export function curvePresentValue(FinanceDate valuation, DatedCashFlow[] cashFlows, FinanceDate[] curveDates, double[] zeroRates, string convention)->CurvePresentValueParameters: valuation: FinanceDate, cashFlows: DatedCashFlow[], curveDates: FinanceDate[], zeroRates: double[], convention: string
export record CurvePresentValue(public double presentValue, public double[] discountedCashFlows, public string interpolation, public string dayCount)Parameters: presentValue: double, discountedCashFlows: double[], interpolation: string, dayCount: string
export record DatedCashFlow(public FinanceDate date, public double amount)Parameters: date: FinanceDate, amount: double
export function datedInternalRateOfReturn(DatedCashFlow[] cashFlows, double lower, double upper, string convention, double tolerance, int maximumIterations, int scanSteps)->DatedIrrResultParameters: cashFlows: DatedCashFlow[], lower: double, upper: double, convention: string, tolerance: double, maximumIterations: int, scanSteps: int
export record DatedIrrResult(public double rate, public double residual, public int iterations, public int rootsFound, public bool converged, public string dayCount)Parameters: rate: double, residual: double, iterations: int, rootsFound: int, converged: bool, dayCount: string
export function datedNetPresentValue(DatedCashFlow[] cashFlows, double rate, string convention)->doubleParameters: cashFlows: DatedCashFlow[], rate: double, convention: string
export function effectiveAnnualRate(double nominalRate, int compoundsPerYear, string calendarConvention)->doubleParameters: nominalRate: double, compoundsPerYear: int, calendarConvention: string
FinancialMathematics.financeDate
export function financeDate(int year, int month, int day)->FinanceDateParameters: year: int, month: int, day: int
export record FinanceDate(public int year, public int month, public int day)Parameters: year: int, month: int, day: int
FinancialMathematics.futureValue
export function futureValue(double principal, double rate, int count)->doubleParameters: principal: double, rate: double, count: int
export function internalRateOfReturn(double[] cashFlows, double lower, double upper, double tolerance, int maximumIterations)->IrrResultParameters: cashFlows: double[], lower: double, upper: double, tolerance: double, maximumIterations: int
export record IrrResult(public double rate, public double residual, public int iterations, public bool converged)Parameters: rate: double, residual: double, iterations: int, converged: bool
FinancialMathematics.irrRootSet
export function irrRootSet(double[] cashFlows, double lower, double upper, double tolerance, int maximumIterations, int scanSteps)->IrrRootSetParameters: cashFlows: double[], lower: double, upper: double, tolerance: double, maximumIterations: int, scanSteps: int
export record IrrRootSet(public double[] rates, public double[] residuals, public string classification, public bool converged)Parameters: rates: double[], residuals: double[], classification: string, converged: bool
export function isBusinessDay(FinanceDate date, BusinessCalendar calendar)->boolParameters: date: FinanceDate, calendar: BusinessCalendar
export function levelPayment(double principal, double rate, int count)->doubleParameters: principal: double, rate: double, count: int
FinancialMathematics.money
export function money(string currency, long minorUnits, int minorUnitDigits)->MoneyParameters: currency: string, minorUnits: long, minorUnitDigits: int
export record Money(public string currency, public long minorUnits, public int minorUnitDigits)Parameters: currency: string, minorUnits: long, minorUnitDigits: int
export function moneyFromMajor(string currency, decimal amount, int minorUnitDigits)->MoneyParameters: currency: string, amount: decimal, minorUnitDigits: int
export function moneyToMajor(Money value)->decimalParameters: value: Money
export function mortgageSchedule(double principal, double nominalAnnualRate, int paymentsPerYear, int paymentCount, double[] prepayments)->AmortizationScheduleParameters: principal: double, nominalAnnualRate: double, paymentsPerYear: int, paymentCount: int, prepayments: double[]
export function netPresentValue(double[] cashFlows, double rate)->doubleParameters: cashFlows: double[], rate: double
export function presentValue(double future, double rate, int count)->doubleParameters: future: double, rate: double, count: int
export function remainingBalance(double principal, double rate, int totalPeriods, int paymentsMade)->doubleParameters: principal: double, rate: double, totalPeriods: int, paymentsMade: int
FinancialMathematics.roundMoney
export function roundMoney(string currency, long amountNumerator, long amountDenominator, int minorUnitDigits, string policy)->MoneyParameters: currency: string, amountNumerator: long, amountDenominator: long, minorUnitDigits: int, policy: string
export function simpleFutureValue(double principal, double annualRate, double years)->doubleParameters: principal: double, annualRate: double, years: double
export function simpleInterest(double principal, double annualRate, double years)->doubleParameters: principal: double, annualRate: double, years: double
export function yearFraction(FinanceDate start, FinanceDate finish, string convention)->doubleParameters: start: FinanceDate, finish: FinanceDate, convention: string
Documentation version
Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.