Logo

SQL Server ConstantPrincipalRate Function

Updated 2024-02-16 15:03:30.337000

Description

Use the table-valued function ConstantPrincipalRate to return the cash flow schedule for a loan with no fixed maturity date where the principal is reduced on using a fixed rate. ConstantPrincipalRate computes the periodic interest and principal amounts until the loan balance has been brought to zero. ConstantPrincipalRate supports separate interest and principal repayment schedules.

The interest and principal payment periods are entered in ConstantPrincipalRate as the number of months between payments. For example, a loan with monthly payments of interest would have an interest frequency of 1. If principal is to be repaid every months, then it would have a principal payment frequency of 6.

ConstantPrincipalRate supports both an initial grace period and an additional grace period during the life of the loan, for principal and/or interest. All payments and their associated dates are calculated with respect to the reference date supplied to the function (which should not be confused with the start date). If an initial interest grace period is entered in ConstantPrincipalRate and it is greater than the reference date, then it becomes the first interest payment date and subsequent interest payments are calculated from that date forward. The same principle applies for principal payments.

If any payments would otherwise occur in the specified grace period, then that payment is moved to the end of the grace period and all remaining payments are calculated from the end of the grace period.

If no initial grace period is specified then the first payment date is calculated using the respective payment frequency. If the start date has been entered and the number of months between the start date and the reference date is less than the frequency, then the first payment date is calculated by adding the respective frequency (as a number of months) to the start date.

If no start date has been entered but a previous payment date has been entered and the number of months between the previous payment date and the reference date is less than the frequency, then the first payment date is calculated by adding the respective frequency (as a number of months) to the previous payment date.

If there is no start date and previous payment dates or the number of months between those dates and the reference date is greater than the frequency, then the first payment date is calculated by adding the respective frequency (as a number of months) to the reference date.

All payments in the resultant table are moved to the end of the month and interest is calculated using these end-of-month dates.

The interest rate is calculated as:

I=P\times\left[\left(\left(1+\frac{R\times{F}}{12}\right)^{12\slash{F}}\right)^T\right]-1

Where:

column 1column 2column 3
I=InterestRate
R=@InterestRate
F=@Frequency
T=Time, in years, from the previous interest payment date to PaymentDate

In the case where there are one or more principal payments between interest payment dates, the interest payment amount is calculated using the outstanding principal balances during the interest payment period.

If the irregular period is longer than the regular period then the interest amount is broken out into the regular interest amount and a 'grace' interest amount.

Syntax

SELECT * FROM [westclintech].[wct].[ConstantPrincipalRate](
  <@OutstandingAmount, float,>
 ,<@InterestBasis, nvarchar(4000),>
 ,<@InterestRate, float,>
 ,<@FreqPayPrincipal, int,>
 ,<@FreqPayInterest, int,>
 ,<@AmortizationRate, float,>
 ,<@MinimumPayment, float,>
 ,<@ReferenceDate, datetime,>
 ,<@PrevPrincipalPayDate, datetime,>
 ,<@PrevInterestPayDate, datetime,>
 ,<@StartDate, datetime,>
 ,<@FirstPrincipalPayDate, datetime,>
 ,<@FirstInterestPayDate, datetime,>
 ,<@PrincipalGracePeriodStartDate, datetime,>
 ,<@PrincipalGracePeriodEndDate, datetime,>
 ,<@InterestGracePeriodStartDate, datetime,>
 ,<@InterestGracePeriodEndDate, datetime,>)

Arguments

@OutstandingAmount

the principal amount of the loan. @OutstandingAmount is an expression of type float or of a type that can be implicitly converted to float.

@InterestBasis

the day count convention used to calculate the interest amount. @InterestBasis can be 30/360, Actual/360, Actual/365, or Actual/Actual. @InterestBasis is an expression of the character string data type category.

@InterestRate

the annual rate of interest for the loan. @InterestRate is an expression of type float or of a type that can be implicitly converted to float.

@FreqPayPrincipal

the number of months between principal payments. @FreqPayPrincipal is an expression of type int or of a type that can be implicitly converted to int.

@FreqPayInterest

the number of months in a regular interest payment. @FreqPayInterest is an expression of type int or of a type that can be implicitly converted to int.

@AmortizationRate

the percentage, as a decimal (1% = .01), of the outstanding principal amount due on a principal payment date. @AmortizationRate is an expression of type float or of a type that can be implicitly converted to float.

@MinimumPayment

the specified smallest payment amount prior to the last payment. @MinimumPayment is an expression of type float or of a type that can be implicitly converted to float.

@ReferenceDate

the starting date for the number of months with respect to all other dates. @ReferenceDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@PrevPrincipalPayDate

the last principal payment date prior to the reference date. @PrevPrincipalPayDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@PrevInterestPayDate

the last interest payment date prior to the reference date. @PrevPrincipalPayDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@StartDate

the start date of the loan. @StartDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@FirstPrincipalPayDate

the first principal payment date of the loan if other than a regular periodic payment. @FirstPrincipalPayDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@FirstInterestPayDate

the first interest payment date of the loan if other than a regular periodic payment. @FirstInterestPayDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@PrincipalGracePeriodStartDate

the date on which the (interim) principal grace period commences. @PrincipalGracePeriodStartDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@PrincipalGracePeriodEndDate

the date on which the (interim) principal grace period concludes. @PrincipalGracePeriodEndDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@InterestGracePeriodStartDate

the date on which the (interim) interest grace period commences. @InterestGracePeriodStartDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

@InterestGracePeriodEndDate

the date on which the (interim) interest grace period concludes. @GracePeriodEndDate is an expression that returns a datetime or smalldatetime value, or a character string in date format.

Return Type

table

colNamecolDatatypecolDesc
PeriodintA reference number uniquely identifying a row in the resultant table.
PrincipalPaymentfloatThe amount of the principal payment.
InterestPaymentfloat The amount of the regular interest payment.
CashFlowfloatPrincipalPayment + InterestPayment + GraceInterest.
OutstandingExposurefloatWhen Period = 0 then @OutstandingAmount. For Period > 0 then OutstandingExposure(Period-1) + InterestPayment.
CapitalAmountInDebtfloatWhen Period = 0, @OutstandingAmount. For Period > 0 then CapitalAmountInDebt(Period-1) – PrincipalPayment
TotalExposurefloatWhen Period = 0, @OutstandingAmount. For Period > 0 then CapitalAmountInDebt(Period-1) + InterestPayment
NumberOfMonthintThe number of months between the @ReferenceDate and the PaymentDate.
PaymentDatedatetimeThe end-of-month date of the payment.
GraceInterestfloatThe amount of the grace interest
InterestRatefloatThe interest amount from PaymentDate(Period-1) to PaymentDate assuming a principal amount of 1

Remarks

The PaymentDate for all rows is generated as the last day of the month.

For Period = 0, PrincipalPayment, InterestPayment, CashFlow, NumberOfMonth, GraceInterest, and InterestRate are set to 0.

If @Frequency is NULL then @Frequency = 1.

If @InterestRate is NULL then @InterestRate = 0.

If @ReferenceDate is NULL then @ReferenceDate = GETDATE().

GraceInterest is only calculated on @FirstInterestPayDate and @InterestGracePeriodEndDate.

GraceInterest is only calculated if length of the grace interest period is greater than @FreqPayInterest.

GraceInterest is the difference between the interest for the period from the previous interest payment to PaymentDate and interest that would have been calculated for a period with length equal to @FreqPayInterest.

PrincipalPayment = MIN(MAX(@AmortizationRate * CapitalAmountInDebt(Period-1), @MinimumPayment), CapitalAmountInDebt(Period-1).

The last row returned will always be for the maturity date and may be shorter than a regular period depending on the combination of dates and @FreqPayInterest.

Examples

This is a 100,000 loan with quarterly payments of principal and interest and an interest rate of 3.0%. The principal payments are calculated as 13.0% of the outstanding principal balance, with a minimum payment of 2,500.00.

SELECT *
FROM wct.ConstantPrincipalRate(   100000,       --@OutstandingAmount
                                  'Actual/365', --@InterestBasis
                                  .03,          --@InterestRate
                                  3,            --@FreqPayPrincipal
                                  3,            --@FreqPayInterest
                                  .13,          --@AmortizationRate
                                  2500,         --@MinimumPayment
                                  '2014-10-01', --@ReferenceDate
                                  NULL,         --@PrevPrincipalPayDate
                                  NULL,         --@PrevInterestPayDate
                                  NULL,         --@StartDate
                                  NULL,         --@FirstPrincipalPayDate
                                  NULL,         --@FirstInterestPayDate
                                  NULL,         --@PrincipalGracePeriodStartDate
                                  NULL,         --@PrincipalGracePeriodEndDate
                                  NULL,         --@InterestGracePeriodStartDate
                                  NULL          --@InterestGracePeriodEndDate
                              );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000010000010000010000002014-10-31 00:00:00.00000
113000756.18763242577613756.1876324258100756.18763242687000100756.18763242632015-01-31 00:00:00.00000.00756187632425775
211310636.35226285868411946.3522628587101392.5398952847569087636.352262858762015-04-30 00:00:00.00000.00731439382596188
39839.7572.35841898306910412.0584189831101964.89831426865850.376262.358418983192015-07-31 00:00:00.00000.00756187632425775
48560.539497.951824515279058.49082451527102462.85013878357289.76166348.2518245153122015-10-31 00:00:00.00000.00756187632425775
57447.66893433.2180873282857880.88701732828102896.06822611149842.0920757722.9790873283152016-01-31 00:00:00.00000.00756187632425775
66479.4719691368.6760356508996848.1480047509103264.74426176243362.620100950210.7681056509182016-04-30 00:00:00.00000.00739688123711013
75637.140613117327.9027702987795965.04338341578103592.64703206137725.47948778343690.5228711988212016-07-31 00:00:00.00000.00756187632425775
84904.31233341179285.2754101599385189.58774357173103877.92244222132821.167154371238010.7548979429242016-10-31 00:00:00.00000.00756187632425775
94266.75173006826248.1896068391464514.9413369074104126.1120490628554.415424302933069.3567612104272017-01-31 00:00:00.00000.00756187632425775
103712.07400515938208.8582398834723920.93224504286104334.97028894324842.341419143628763.2736641864302017-04-30 00:00:00.00000.00731439382596188
113229.50438448866187.854713416553417.35909790521104522.8250023621612.837034654925030.1961325601332017-07-31 00:00:00.00000.00756187632425775
122809.66881450514163.4336006723982973.10241517754104686.25860303218803.168220149821776.2706353273362017-10-31 00:00:00.00000.00756187632425775
132500142.1872325849862642.18723258499104828.44583561716303.168220149818945.3554527348392018-01-31 00:00:00.00000.00756187632425775
142500119.2477929730812619.24779297308104947.6936285913803.168220149816422.4160131228422018-04-30 00:00:00.00000.00731439382596188
152500104.3778509636982604.3778509637105052.07147955411303.168220149813907.5460711135452018-07-31 00:00:00.00000.00756187632425775
16250085.47316015305322585.47316015305105137.5446397078803.1682201497611388.6413803028482018-10-31 00:00:00.00000.00756187632425775
17250066.56846934240882566.56846934241105204.113109056303.168220149768869.73668949217512019-01-31 00:00:00.00000.00756187632425775
18250046.10385471346262546.10385471346105250.2169637633803.168220149766349.27207486323542019-04-30 00:00:00.00000.00731439382596188
19250028.759087721122528.75908772112105278.9760514841303.168220149763831.92730787088572019-07-31 00:00:00.00000.00756187632425775
201303.168220149769.854396910475621313.02261706024105288.83044839501313.02261706024602019-10-31 00:00:00.00000.00756187632425775

The same basic SQL with monthly payments of principal and semi-annual payments of interest.

SELECT *
FROM wct.ConstantPrincipalRate(   100000,       --@OutstandingAmount
                                  'Actual/365', --@InterestBasis
                                  .03,          --@InterestRate
                                  1,            --@FreqPayPrincipal
                                  6,            --@FreqPayInterest
                                  .13,          --@AmortizationRate
                                  2500,         --@MinimumPayment
                                  '2014-10-01', --@ReferenceDate
                                  NULL,         --@PrevPrincipalPayDate
                                  NULL,         --@PrevInterestPayDate
                                  NULL,         --@StartDate
                                  NULL,         --@FirstPrincipalPayDate
                                  NULL,         --@FirstInterestPayDate
                                  NULL,         --@PrincipalGracePeriodStartDate
                                  NULL,         --@PrincipalGracePeriodEndDate
                                  NULL,         --@InterestGracePeriodStartDate
                                  NULL          --@InterestGracePeriodEndDate
                              );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000010000010000010000002014-10-31 00:00:00.00000
1130000130001000008700010000012014-11-30 00:00:00.00000.00245044058349375
211310011310100000756908700022014-12-31 00:00:00.00000.00498887091935174
39839.709839.710000065850.37569032015-01-31 00:00:00.00000.00753372913264783
48560.53908560.53910000057289.76165850.342015-02-28 00:00:00.00000.00983784918059172
57447.6689307447.6689310000049842.0920757289.76152015-03-31 00:00:00.00000.0123949860991661
66479.47196911082.518020173887561.98998927388101082.51802017443362.620100950924.610090173962015-04-30 00:00:00.00000.0148757998596294
75637.14061311705637.140613117101082.51802017437725.47948778343362.620100972015-05-31 00:00:00.00000.00253222526829378
84904.3123334117904904.31233341179101082.51802017432821.167154371237725.47948778382015-06-30 00:00:00.00000.00498887091935174
94266.7517300682604266.75173006826101082.51802017428554.415424302932821.167154371292015-07-31 00:00:00.00000.00753372913264783
103712.0740051593803712.07400515938101082.51802017424842.341419143628554.4154243029102015-08-31 00:00:00.00000.0100850315002157
113229.5043844886603229.50438448866101082.51802017421612.837034654924842.3414191436112015-09-30 00:00:00.00000.0125601848541834
122809.66881450514476.7204891189813286.38930362412101559.23850929318803.168220149822089.5575237739122015-10-31 00:00:00.00000.0151242153399396
13250002500101559.23850929316303.168220149818803.1682201498132015-11-30 00:00:00.00000.00245044058349375
14250002500101559.23850929313803.168220149816303.1682201498142015-12-31 00:00:00.00000.00498887091935174
15250002500101559.23850929311303.168220149813803.1682201498152016-01-31 00:00:00.00000.00753372913264783
16250002500101559.2385092938803.1682201497611303.1682201498162016-02-29 00:00:00.00000.00992023656539476
17250002500101559.2385092936303.168220149768803.16822014976172016-03-31 00:00:00.00000.0124775821073868
182500188.2528379609662688.25283796097101747.4913472543803.168220149766491.42105811073182016-04-30 00:00:00.00000.0149585982644604
19250002500101747.4913472541303.168220149763803.16822014976192016-05-31 00:00:00.00000.00253222526829378
201303.1682201497612.84741387617261316.01563402594101760.3387611301316.01563402594202016-06-30 00:00:00.00000.00498887091935174

In this example, we modify the SQL so that first interest payment isn't due until January of 2015 and the first principal payment isn't due until March of 2015.

SELECT *
FROM wct.ConstantPrincipalRate(   100000,       --@OutstandingAmount
                                  'Actual/365', --@InterestBasis
                                  .03,          --@InterestRate
                                  1,            --@FreqPayPrincipal
                                  6,            --@FreqPayInterest
                                  .13,          --@AmortizationRate
                                  2500,         --@MinimumPayment
                                  '2014-10-01', --@ReferenceDate
                                  NULL,         --@PrevPrincipalPayDate
                                  NULL,         --@PrevInterestPayDate
                                  NULL,         --@StartDate
                                  '2015-03-01', --@FirstPrincipalPayDate
                                  '2015-01-01', --@FirstInterestPayDate
                                  NULL,         --@PrincipalGracePeriodStartDate
                                  NULL,         --@PrincipalGracePeriodEndDate
                                  NULL,         --@InterestGracePeriodStartDate
                                  NULL          --@InterestGracePeriodEndDate
                              );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000010000010000010000002014-10-31 00:00:00.00000
10753.372913264783753.372913264783100753.372913265100000100753.37291326532015-01-31 00:00:00.00000.00753372913264783
213000013000100753.3729132658700010000052015-03-31 00:00:00.00000.00482490742091923
311310011310100753.372913265756908700062015-04-30 00:00:00.00000.00728717115336885
49839.709839.7100753.37291326565850.37569072015-05-31 00:00:00.00000.00983784918059172
58560.53908560.539100753.37291326557289.76165850.382015-06-30 00:00:00.00000.0123123968289718
67447.668931201.573104388728649.24203438872101954.94601765449842.0920758491.334104388792015-07-31 00:00:00.00000.0148757998596294
76479.471969106479.4719691101954.94601765443362.620100949842.09207102015-08-31 00:00:00.00000.00253222526829378
85637.14061311705637.140613117101954.94601765437725.47948778343362.6201009112015-09-30 00:00:00.00000.00498887091935174
94904.3123334117904904.31233341179101954.94601765432821.167154371237725.479487783122015-10-31 00:00:00.00000.00753372913264783
104266.7517300682604266.75173006826101954.94601765428554.415424302932821.1671543712132015-11-30 00:00:00.00000.0100026306717533
113712.0740051593803712.07400515938101954.94601765424842.341419143628554.4154243029142015-12-31 00:00:00.00000.0125601848541834
123229.50438448866547.6047466163383777.109131105102502.5507642721612.837034654925389.9461657599152016-01-31 00:00:00.00000.0151242153399396
132809.6688145051402809.66881450514102502.5507642718803.168220149821612.8370346549162016-02-29 00:00:00.00000.00236866257053392
14250002500102502.5507642716303.168220149818803.1682201498172016-03-31 00:00:00.00000.00490688582604082
15250002500102502.5507642713803.168220149816303.1682201498182016-04-30 00:00:00.00000.00736935044170139
16250002500102502.5507642711303.168220149813803.1682201498192016-05-31 00:00:00.00000.00992023656539476
17250002500102502.550764278803.1682201497611303.1682201498202016-06-30 00:00:00.00000.0123949860991661
182500225.3641468873172725.36414688732102727.9149111576303.168220149769028.53236703708212016-07-31 00:00:00.00000.0149585982644604
19250002500102727.9149111573803.168220149766303.16822014976222016-08-31 00:00:00.00000.00253222526829378
20250002500102727.9149111571303.168220149763803.16822014976232016-09-30 00:00:00.00000.00498887091935174
211303.1682201497628.68362157900711331.85184172877102756.59853273601331.85184172877242016-10-31 00:00:00.00000.00753372913264783

We modify the SQL so that there are no payments in 2016.

SELECT *
FROM wct.ConstantPrincipalRate(   100000,       --@OutstandingAmount
                                  'Actual/365', --@InterestBasis
                                  .03,          --@InterestRate
                                  1,            --@FreqPayPrincipal
                                  6,            --@FreqPayInterest
                                  .13,          --@AmortizationRate
                                  2500,         --@MinimumPayment
                                  '2014-10-01', --@ReferenceDate
                                  NULL,         --@PrevPrincipalPayDate
                                  NULL,         --@PrevInterestPayDate
                                  NULL,         --@StartDate
                                  '2015-03-01', --@FirstPrincipalPayDate
                                  '2015-01-01', --@FirstInterestPayDate
                                  '2016-01-01', --@PrincipalGracePeriodStartDate
                                  '2017-01-01', --@PrincipalGracePeriodEndDate
                                  '2016-01-01', --@InterestGracePeriodStartDate
                                  '2017-01-01'  --@InterestGracePeriodEndDate
                              );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000010000010000010000002014-10-31 00:00:00.00000
10753.372913264783753.372913264783100753.372913265100000100753.37291326532015-01-31 00:00:00.00000.00753372913264783
213000013000100753.3729132658700010000052015-03-31 00:00:00.00000.00482490742091923
311310011310100753.372913265756908700062015-04-30 00:00:00.00000.00728717115336885
49839.709839.7100753.37291326565850.37569072015-05-31 00:00:00.00000.00983784918059172
58560.53908560.539100753.37291326557289.76165850.382015-06-30 00:00:00.00000.0123123968289718
67447.668931201.573104388728649.24203438872101954.94601765449842.0920758491.334104388792015-07-31 00:00:00.00000.0148757998596294
76479.471969106479.4719691101954.94601765443362.620100949842.09207102015-08-31 00:00:00.00000.00253222526829378
85637.14061311705637.140613117101954.94601765437725.47948778343362.6201009112015-09-30 00:00:00.00000.00498887091935174
94904.3123334117904904.31233341179101954.94601765432821.167154371237725.479487783122015-10-31 00:00:00.00000.00753372913264783
104266.7517300682604266.75173006826101954.94601765428554.415424302932821.1671543712132015-11-30 00:00:00.00000.0100026306717533
113712.0740051593803712.07400515938101954.94601765424842.341419143628554.4154243029142015-12-31 00:00:00.00000.0125601848541834
123229.50438448866817.7608227996534546.65429584331102772.70684045321612.837034654925660.1022419432272017-01-31 00:00:00.000499.3890885549980.0458916666146927
132809.6688145051402809.66881450514102772.70684045318803.168220149821612.8370346549282017-02-28 00:00:00.00000.00228689122886983
14250002500102772.70684045316303.168220149818803.1682201498292017-03-31 00:00:00.00000.00482490742091923
15250002500102772.70684045313803.168220149816303.1682201498302017-04-30 00:00:00.00000.00728717115336885
16250002500102772.70684045311303.168220149813803.1682201498312017-05-31 00:00:00.00000.00983784918059172
17250002500102772.7068404538803.1682201497611303.1682201498322017-06-30 00:00:00.00000.0123123968289718
182500223.5746384569712723.57463845697102996.281478916303.168220149769026.74285860674332017-07-31 00:00:00.00000.0148757998596294
19250002500102996.281478913803.168220149766303.16822014976342017-08-31 00:00:00.00000.00253222526829378
20250002500102996.281478911303.168220149763803.16822014976352017-09-30 00:00:00.00000.00498887091935174
211303.1682201497628.68362157900711331.85184172877103024.96510048901331.85184172877362017-10-31 00:00:00.00000.00753372913264783

In this example we change the SQL so that the principal payment frequency is every 5 months and to calculate the first payment dates from the previous interest and previous principal payment dates.

SELECT *
FROM wct.ConstantPrincipalRate(   100000,       --@OutstandingAmount
                                  'Actual/365', --@InterestBasis
                                  .03,          --@InterestRate
                                  5,            --@FreqPayPrincipal
                                  6,            --@FreqPayInterest
                                  .13,          --@AmortizationRate
                                  2500,         --@MinimumPayment
                                  '2014-10-01', --@ReferenceDate
                                  '2014-06-01', --@PrevPrincipalPayDate
                                  '2014-09-01', --@PrevInterestPayDate
                                  NULL,         --@StartDate
                                  NULL,         --@FirstPrincipalPayDate
                                  NULL,         --@FirstInterestPayDate
                                  NULL,         --@PrincipalGracePeriodStartDate
                                  NULL,         --@PrincipalGracePeriodEndDate
                                  NULL,         --@InterestGracePeriodStartDate
                                  NULL          --@InterestGracePeriodEndDate
                              );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000010000010000010000002014-10-31 00:00:00.00000
1130000130001000008700010000012014-11-30 00:00:00.00000.00245044058349375
201110.535534566491110.53553456649101110.5355345668700088110.535534566552015-03-31 00:00:00.00000.0123949860991661
311310011310101110.535534566756908700062015-04-30 00:00:00.00000.00245044058349375
49839.71166.5464072202511006.2464072202102277.08194178765850.376856.5464072202112015-09-30 00:00:00.00000.0150414034243802
58560.53908560.539102277.08194178757289.76165850.3162016-02-29 00:00:00.00000.0124775821073868
60968.803714750444968.803714750444103245.88565653757289.76158258.5647147504172016-03-31 00:00:00.00000.0150414034243802
77447.6689307447.66893103245.88565653749842.0920757289.761212016-07-31 00:00:00.00000.0100026306717533
80824.562948345498824.562948345498104070.44860488349842.0920750666.6550183455232016-09-30 00:00:00.00000.0150414034243802
96479.471969106479.4719691104070.44860488343362.620100949842.09207262016-12-31 00:00:00.00000.00753372913264783
100697.818332317906697.818332317906104768.26693720143362.620100944060.4384332179292017-03-31 00:00:00.00000.0149585982644604
115637.14061311705637.140613117104768.26693720137725.47948778343362.6201009312017-05-31 00:00:00.00000.00498887091935174
120595.848426878033595.848426878033105364.11536407937725.47948778338321.327914661352017-09-30 00:00:00.00000.0150414034243802
134904.3123334117904904.31233341179105364.11536407932821.167154371237725.479487783362017-10-31 00:00:00.00000.00253222526829378
144266.75173006826503.5314087932774770.28313886154105867.64677287228554.415424302933324.6985631645412018-03-31 00:00:00.00000.0149585982644604
153712.0740051593803712.07400515938105867.64677287224842.341419143628554.4154243029462018-08-31 00:00:00.00000.0125601848541834
160420.402265153106420.402265153106106288.04903802524842.341419143625262.7436842967472018-09-30 00:00:00.00000.0150414034243802
173229.5043844886603229.50438448866106288.04903802521612.837034654924842.3414191436512019-01-31 00:00:00.00000.0100850315002157
180356.024545566926356.024545566926106644.07358359221612.837034654921968.8615802218532019-03-31 00:00:00.00000.0149585982644604
192809.6688145051402809.66881450514106644.07358359218803.168220149821612.8370346549562019-06-30 00:00:00.00000.00745153643461216
200303.920117182705303.920117182705106947.99370077518803.168220149819107.0883373325592019-09-30 00:00:00.00000.0150414034243802
21250002500106947.99370077516303.168220149818803.1682201498612019-11-30 00:00:00.00000.00498887091935174
220257.819462176378257.819462176378107205.81316295116303.168220149816560.9876823261652020-03-31 00:00:00.00000.0150414034243802
23250002500107205.81316295113803.168220149816303.1682201498662020-04-30 00:00:00.00000.00245044058349375
242500213.8220681593462713.82206815935107419.6352311111303.168220149814016.9902883091712020-09-30 00:00:00.00000.0150414034243802
25250002500107419.635231118803.1682201497611303.1682201498762021-02-28 00:00:00.00000.0123949860991661
260162.748989350101162.748989350101107582.384220468803.168220149768965.91720949986772021-03-31 00:00:00.00000.0149585982644604
27250002500107582.384220466303.168220149768803.16822014976812021-07-31 00:00:00.00000.0100026306717533
280119.939827313578119.939827313578107702.3240477746303.168220149766423.10804746334832021-09-30 00:00:00.00000.0150414034243802
29250002500107702.3240477743803.168220149766303.16822014976862021-12-31 00:00:00.00000.00753372913264783
30075.863185094281775.8631850942817107778.1872328683803.168220149763879.03140524405892022-03-31 00:00:00.00000.0149585982644604
31250002500107778.1872328681303.168220149763803.16822014976912022-05-31 00:00:00.00000.00498887091935174
32032.19841081067232.198410810672107810.3856436791303.168220149761335.36663096044952022-09-30 00:00:00.00000.0150414034243802
331303.168220149763.299915495900661306.46813564566107813.68555917501306.46813564566962022-10-31 00:00:00.00000.00253222526829378

See Also

BALLOON - Schedule with periodic interest payments and principal repaid at maturity

BULLET - Schedule with single interest and principal payment at maturity

CONSTANTCASHFLOW - Schedule with equal periodic cash flows

CONSTANTPAYMENTAMOUNT - Schedule with no maturity with fixed periodic payment amount

CONSTANTPRINCIPAL - Schedule with fixed maturity date where the periodic principal payment is calculated on a straight-line basis

CONSTANTPRINCIPALAMOUNT - Schedule with no fixed maturity with a fixed periodic principal payment

PAYMENTPERIODS - Number of months until first payment date, start of grace period, end of grace period, and total number payments for a loan