Logo

SQL Server ConstantCashFlow Function

Updated 2024-02-16 14:59:21.310000

Description

Use the table-valued function ConstantCashFlow to return the cash flow schedule for a loan with with a fixed maturity date and annuity-style payments. ConstantCashFlow computes the periodic interest and principal amounts through to the maturity date.

The payment period is entered in ConstantCashFlows as the number of months between payments. For example, a loan with monthly payments would have a frequency of 1. A loan with quarterly payments would have frequency of 3. A loan with annual payments would have a frequency of 12.

ConstantCashFlow supports both an initial grace period and an additional grace period during the life of the loan. 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 grace period is entered in ConstantCashFlow 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.

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 interest 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 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 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 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 payment 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=InterestPayment
P=@OutstandingAmount
R=@InterestRate
F=@Frequency
T=( NumberOfMonth – NumberOfMonth ( Period -1)) / 12

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].[ConstantCashFlow](
  <@OutstandingAmount, float,>
 ,<@LastPrinPayAmount, float,>
 ,<@InterestRate, float,>
 ,<@PaymentFrequency, int,>
 ,<@MaturityDate, datetime,>
 ,<@ReferenceDate, datetime,>
 ,<@PrevPayDate, datetime,>
 ,<@StartDate, datetime,>
 ,<@FirstPayDate, datetime,>
 ,<@GracePeriodStartDate, datetime,>
 ,<@GracePeriodEndDate, 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.

@LastPrinPayAmount

the amount of principal to be paid off on the the maturity date. @OutstandingAmount is an expression of type float or of a type that can be implicitly converted to float.

@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.

@PaymentFrequency

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

@MaturityDate

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

@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.

@PrevPayDate

the last payment date prior to the reference date. @PrevPayDate 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.

@FirstPayDate

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

@GracePeriodStartDate

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

@GracePeriodEndDate

the date on which the (interim) 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.
InterestPaymentfloatThe 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 @FirstPayDate and @GracePeriodEndDate.

GraceInterest is only calculated if NumberOfMonth – NumberOfMonth(Period-1) > @PaymentFrequency.

GraceInterest is the difference between the interest for the period from the previous row to the current row minus interest that would have been calculated for a period with length equal to @PaymentFrequency.

CashFlow may change on @FirstPayDate or @GracePeriodEndDate due to GraceInterest.

The final payment is adjusted for CapitalAmountInDebt(Period-1) and the length of the period if it is less than @PaymentFrequency.

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 @PaymentFrequency.

Examples

This is a simple a 300,000 loan with quarterly payments and an interest rate of 6.0%.

SELECT *
FROM wct.ConstantCashFlow(   300000,       --@OutstandingAmount
                             0,            --@LastPrinPayAmount
                             .06,          --@InterestRate
                             3,            --@PaymentFrequency
                             '2019-12-15', --@MaturityDate
                             '2014-12-15', --@ReferenceDate
                             NULL,         --@PrevPayDate
                             NULL,         --@StartDate
                             NULL,         --@FirstPayDate
                             NULL,         --@GracePeriodStartDate
                             NULL          --@GracePeriodEndDate
                         );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000030000030000030000002014-12-31 00:00:00.00000
112973.72076234450017473.72076234304500287026.2792376630450032015-03-31 00:00:00.00000.015
213168.32657377514305.394188564917473.72076234308805.394188565273857.952663885291331.67342622562015-06-30 00:00:00.00000.015
313365.85147238174107.8692899582717473.72076234312913.263478523260492.101191503277965.82195384392015-09-30 00:00:00.00000.015
413566.33924446743907.3815178725517473.72076234316820.644996396246925.761947036264399.482709376122015-12-31 00:00:00.00000.015
513769.83433313443703.8864292055417473.72076234320524.531425601233155.927613901250629.648376241152016-03-31 00:00:00.00000.015
613976.38184813153497.3389142085217473.72076234324021.87033981219179.54576577236653.26652811182016-06-30 00:00:00.00000.015
714186.02757585343287.6931864865517473.72076234327309.563526296204993.518189916222467.238952256212016-09-30 00:00:00.00000.015
814398.81798949123074.9027728487517473.72076234330384.466299145190594.700200425208068.420962765242016-12-31 00:00:00.00000.015
914614.80025933362858.9205030063817473.72076234333243.386802151175979.899941092193453.620703432272017-03-31 00:00:00.00000.015
1014834.02226322362639.6984991163717473.72076234335883.085301268161145.877677868178619.598440208302017-06-30 00:00:00.00000.015
1115056.53259717192417.1881651680217473.72076234338300.273466436146089.345080696163563.065843036332017-09-30 00:00:00.00000.015
1215282.38058612952191.3401762104417473.72076234340491.613642646130806.964494567148280.685256907362017-12-31 00:00:00.00000.015
1315511.61629492151962.104467418517473.72076234342453.718110065115295.348199645132769.068961985392018-03-31 00:00:00.00000.015
1415744.29053934531729.4302229946817473.72076234344183.14833305999551.0576602998117024.77842264422018-06-30 00:00:00.00000.015
1515980.45489743551493.265864904517473.72076234345676.41419796483570.6027628643101044.323525204452018-09-30 00:00:00.00000.015
1616220.1617208971253.5590414429717473.72076234346929.97323940767350.441041967384824.1618043073482018-12-31 00:00:00.00000.015
1716463.46414671041010.2566156295117473.72076234347940.22985503650886.976895256968360.6976575968512019-03-31 00:00:00.00000.015
1816710.4161089111763.30465342885317473.72076234348703.53450846534176.560786345851650.2815486857542019-06-30 00:00:00.00000.015
1916961.0723505448512.64841179518717473.72076234349216.18292026117215.48843580134689.209198141572019-09-30 00:00:00.00000.015
2017215.488435801258.23232653701417473.720762338349474.415246798017473.720762338602019-12-31 00:00:00.00000.0149999999999999

In this example, we modify the SQL to reflect a final principal payment of 172,000.

SELECT *
FROM wct.ConstantCashFlow(   300000,       --@OutstandingAmount
                             172000,       --@LastPrinPayAmount
                             .06,          --@InterestRate
                             3,            --@PaymentFrequency
                             '2019-12-15', --@MaturityDate
                             '2014-12-15', --@ReferenceDate
                             NULL,         --@PrevPayDate
                             NULL,         --@StartDate
                             NULL,         --@FirstPayDate
                             NULL,         --@GracePeriodStartDate
                             NULL          --@GracePeriodEndDate
                         );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000030000030000030000002014-12-31 00:00:00.00000
15872.44417451952450010372.4441745195304500294127.5558254830450032015-03-31 00:00:00.00000.015
25960.530837137314411.9133373822110372.4441745195308911.913337382288167.024988343298539.46916286362015-06-30 00:00:00.00000.015
36049.938799694374322.5053748251510372.4441745195313234.418712207282117.086188649292489.53036316892015-09-30 00:00:00.00000.015
46140.687881689794231.7562928297310372.4441745195317466.175005037275976.398306959286348.842481479122015-12-31 00:00:00.00000.015
56232.798199915134139.6459746043810372.4441745195321605.820979642269743.600107044280116.044281563152016-03-31 00:00:00.00000.015
66326.290172913864046.1540016056610372.4441745195325651.974981247263417.30993413273789.75410865182016-06-30 00:00:00.00000.015
76421.184525507573951.2596490119510372.4441745195329603.234630259256996.125408622267368.569583142212016-09-30 00:00:00.00000.015
86517.502293390183854.9418811293410372.4441745195333458.176511388250478.623115232260851.067289752242016-12-31 00:00:00.00000.015
96615.264827791033757.1793467284810372.4441745195337215.355858117243863.358287441254235.802461961272017-03-31 00:00:00.00000.015
106714.49380020793657.9503743116210372.4441745195340873.306232429237148.864487233247521.308661753302017-06-30 00:00:00.00000.015
116815.211207211023557.232967308510372.4441745195344430.539199737230333.653280022240706.097454542332017-09-30 00:00:00.00000.015
126917.439375319183455.0047992003310372.4441745195347885.543998937223416.213904703233788.658079223362017-12-31 00:00:00.00000.015
137021.200965948973351.2432085705510372.4441745195351236.787207508216395.012938754226767.457113274392018-03-31 00:00:00.00000.015
147126.51898043823245.9251940813110372.4441745195354482.712401589209268.493958316219640.938132835422018-06-30 00:00:00.00000.015
157233.416765144773139.0274093747410372.4441745195357621.739810964202035.077193171212407.521367691452018-09-30 00:00:00.00000.015
167341.918016621943030.5261578975710372.4441745195360652.265968861194693.159176549205065.603351069482018-12-31 00:00:00.00000.015
177452.046786871272920.3973876482410372.4441745195363572.66335651187241.112389678197613.556564197512019-03-31 00:00:00.00000.015
187563.827488674342808.6166858451710372.4441745195366381.280042355179677.284901004190049.729075523542019-06-30 00:00:00.00000.015
197677.284901004462695.1592735150510372.4441745195369076.43931587171999.999999999182372.444174519572019-09-30 00:00:00.00000.015
20171999.9999999992579.99999999997174579.999999999371656.439315870174579.999999999602019-12-31 00:00:00.00000.0149999999999999

In this example we modify the SQL by adding a first payment date of 15-June-2015.

SELECT *
FROM wct.ConstantCashFlow(   300000,       --@OutstandingAmount
                             172000,       --@LastPrinPayAmount
                             .06,          --@InterestRate
                             3,            --@PaymentFrequency
                             '2019-12-15', --@MaturityDate
                             '2014-12-15', --@ReferenceDate
                             NULL,         --@PrevPayDate
                             NULL,         --@StartDate
                             '2015-06-15', --@FirstPayDate
                             NULL,         --@GracePeriodStartDate
                             NULL          --@GracePeriodEndDate
                         );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000030000030000030000002014-12-31 00:00:00.00000
16247.14006594731450015314.6400659472304500293752.85993405330450062015-06-30 00:00:00.0004567.499999999920.0302249999999997
26340.847166936524406.2928990107910747.1400659473308906.292899011287412.012767116298159.15283306492015-09-30 00:00:00.00000.015
36435.959874440574311.1801915067410747.1400659473313217.473090518280976.052892676291723.192958623122015-12-31 00:00:00.00000.015
46532.499272557184214.6407933901310747.1400659473317432.113883908274443.553620118285190.693686066152016-03-31 00:00:00.00000.015
56630.486761645534116.6533043017810747.1400659473321548.767188209267813.066858473278560.20692442182016-06-30 00:00:00.00000.015
66729.944063070224017.1960028770910747.1400659473325565.963191087261083.122795403271830.26286135212016-09-30 00:00:00.00000.015
76830.893224016273916.2468419310410747.1400659473329482.210033018254252.229571386264999.369637334242016-12-31 00:00:00.00000.015
86933.356622376513813.783443570810747.1400659473333295.993476588247318.87294901258066.013014957272017-03-31 00:00:00.00000.015
97037.356971712163709.7830942351510747.1400659473337005.776570824240281.515977298251028.656043245302017-06-30 00:00:00.00000.015
107142.917326287843604.2227396594710747.1400659473340609.999310483233138.59865101243885.738716957332017-09-30 00:00:00.00000.015
117250.061086182163497.0789797651510747.1400659473344107.078290248225888.537564828236635.677630775362017-12-31 00:00:00.00000.015
127358.812002474893388.3280634724210747.1400659473347495.406353721218529.725562353229276.8656283392018-03-31 00:00:00.00000.015
137469.194182512013277.9458834352910747.1400659473350773.352237156211060.531379841221807.671445788422018-06-30 00:00:00.00000.015
147581.232095249693165.9079706976110747.1400659473353939.260207853203479.299284591214226.439350539452018-09-30 00:00:00.00000.015
157694.950576678443052.1894892688710747.1400659473356991.449697122195784.348707913206531.48877386482018-12-31 00:00:00.00000.015
167810.374835328612936.7652306186910747.1400659473359928.214927741187973.973872584198721.113938531512019-03-31 00:00:00.00000.015
177927.530457858542819.6096080887610747.1400659473362747.82453583180046.443414726190793.583480673542019-06-30 00:00:00.00000.015
188046.443414726422700.6966512208810747.1400659473365448.521187051171999.999999999182747.140065946572019-09-30 00:00:00.00000.015
19171999.9999999992579.99999999997174579.999999999368028.5211870510174579.999999999602019-12-31 00:00:00.00000.0149999999999999

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

SELECT *
FROM wct.ConstantCashFlow(   300000,       --@OutstandingAmount
                             172000,       --@LastPrinPayAmount
                             .06,          --@InterestRate
                             3,            --@PaymentFrequency
                             '2019-12-15', --@MaturityDate
                             '2014-12-15', --@ReferenceDate
                             NULL,         --@PrevPayDate
                             NULL,         --@StartDate
                             '2015-06-15', --@FirstPayDate
                             '2018-01-01', --@GracePeriodStartDate
                             '2019-01-01'  --@GracePeriodEndDate
                         );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000030000030000030000002014-12-31 00:00:00.00000
17672.87752393459450016740.3775239345304500292327.12247606530450062015-06-30 00:00:00.0004567.499999999920.0302249999999997
27787.97068679364384.9068371409812172.8775239346308884.906837141284539.151789272296712.02931320692015-09-30 00:00:00.00000.015
37904.790247095514268.0872768390812172.8775239346313152.99411398276634.361542176288807.239066111122015-12-31 00:00:00.00000.015
48023.362100801944149.5154231326412172.8775239346317302.509537113268610.999441374280783.876965309152016-03-31 00:00:00.00000.015
58143.712532313974029.1649916206112172.8775239346321331.674528733260467.28690906272640.164432995182016-06-30 00:00:00.00000.015
68265.868220298673907.009303635912172.8775239346325238.683832369252201.418688762264374.296212696212016-09-30 00:00:00.00000.015
78389.856243603153783.0212803314312172.8775239346329021.705112701243811.562445159255984.439969093242016-12-31 00:00:00.00000.015
88515.70408725723657.1734366773812172.8775239346332678.878549378235295.858357901247468.735881836272017-03-31 00:00:00.00000.015
98643.439648566063529.4378753685212172.8775239346336208.316424747226652.418709335238825.29623327302017-06-30 00:00:00.00000.015
108773.091243294553399.7862806400312172.8775239346339608.102705387217879.327466041230052.204989975332017-09-30 00:00:00.00000.015
118904.687611943973268.1899119906112172.8775239346342876.292617377208974.639854097221147.517378031362017-12-31 00:00:00.00000.015
129038.257926123123134.6195978114522965.1749461134346010.912215189199936.381927974212109.259451908492019-01-31 00:00:00.00010792.29742217880.066644053219634
139173.831795014972999.045728919612172.8775239346349009.957944108190762.550132959202935.427656893522019-04-30 00:00:00.00000.015
149311.439271940192861.4382519943812172.8775239346351871.396196103181451.110861018193623.988384953552019-07-31 00:00:00.00000.015
159451.11086101932721.7666629152812172.8775239346354593.162859018171999.999999999184172.877523934582019-10-31 00:00:00.00000.015
16171999.9999999991715.72841831479173715.728418314356308.8912773330173715.728418314602019-12-31 00:00:00.00000.00997516522276043

In the example we modify the SQL by changing the @FirstPayDate to NULL and @PrevPayDate to '2014-11-15', so the the first payment date will be calculated using a previous payment date.

SELECT *
FROM wct.ConstantCashFlow(   300000,       --@OutstandingAmount
                             172000,       --@LastPrinPayAmount
                             .06,          --@InterestRate
                             3,            --@PaymentFrequency
                             '2019-12-15', --@MaturityDate
                             '2014-12-15', --@ReferenceDate
                             '2014-11-15', --@PrevPayDate
                             NULL,         --@StartDate
                             NULL,         --@FirstPayDate
                             '2018-01-01', --@GracePeriodStartDate
                             '2019-01-01'  --@GracePeriodEndDate
                         );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000030000030000030000002014-12-31 00:00:00.00000
17137.9299622016450011637.9299622016304500292862.07003779830450022015-02-28 00:00:00.00000.015
27244.998911634624392.9310505669811637.9299622016308892.931050567285617.071126164297255.00108836552015-05-31 00:00:00.00000.015
37353.673895309144284.2560668924611637.9299622016313177.187117459278263.397230855289901.32719305682015-08-31 00:00:00.00000.015
47463.979003738784173.9509584628211637.9299622016317351.138075922270799.418227116282437.348189317112015-11-30 00:00:00.00000.015
57575.938688794854061.9912734067411637.9299622016321413.129349329263223.479538321274861.409500523142016-02-29 00:00:00.00000.015
67689.577769126783948.3521930748111637.9299622016325361.481542404255533.901769194267171.831731396172016-05-31 00:00:00.00000.015
77804.921435663683833.0085265379111637.9299622016329194.490068942247728.980333531259366.910295732202016-08-31 00:00:00.00000.015
87921.995257198633715.9347050029611637.9299622016332910.424773945239806.985076332251444.915038533232016-11-30 00:00:00.00000.015
98040.825186056613597.1047761449811637.9299622016336507.52955009231766.159890275243404.089852477262017-02-28 00:00:00.00000.015
108161.437563847463476.4923983541311637.9299622016339984.021948444223604.722326428235242.652288629292017-05-31 00:00:00.00000.015
118283.859127305173354.0708348964211637.9299622016343338.09278334215320.863199123226958.793161324322017-08-31 00:00:00.00000.015
128408.117014214753229.8129479868411637.9299622016346567.905731327206912.746184908218550.676147109352017-11-30 00:00:00.00000.015
138534.238769427973103.6911927736223421.7820578452349671.596924101198378.50741548210016.437377681492019-01-31 00:00:00.00011783.85209564360.0719508274038996
148662.252350969392975.677611232211637.9299622016352647.274535333189716.255064511201354.185026712522019-04-30 00:00:00.00000.015
158792.186136233932845.7438259676611637.9299622016355493.0183613180924.068928277192561.998890478552019-07-31 00:00:00.00000.015
168924.068928277442713.8610339241511637.9299622016358206.879395225171999.999999999183637.929962201582019-10-31 00:00:00.00000.015
17171999.9999999991715.72841831479173715.728418314359922.6078135390173715.728418314602019-12-31 00:00:00.00000.00997516522276043

In this SQL, we eliminate the grace period and the previous payment date and add a start date.

SELECT *
FROM wct.ConstantCashFlow(   300000,       --@OutstandingAmount
                             172000,       --@LastPrinPayAmount
                             .06,          --@InterestRate
                             3,            --@PaymentFrequency
                             '2019-12-15', --@MaturityDate
                             '2014-12-15', --@ReferenceDate
                             NULL,         --@PrevPayDate
                             '2014-10-15', --@StartDate
                             NULL,         --@FirstPayDate
                             NULL,         --@GracePeriodStartDate
                             NULL          --@GracePeriodEndDate
                         );

This produces the following result.

PeriodPrincipalPaymentInterestPaymentCashFlowOutstandingExposureCapitalAmountInDebtTotalExposureNumberOfMonthPaymentDateGraceInterestInterestRate
000030000030000030000002014-12-31 00:00:00.00000
15535.45419193173450010035.4541919317304500294464.54580806830450012015-01-31 00:00:00.00000.015
25618.48600481074416.9681871210210035.4541919317308916.968187121288846.059803258298881.51399518942015-04-30 00:00:00.00000.015
35702.763294882864332.6908970488610035.4541919317313249.65908417283143.296508375293178.75070030672015-07-31 00:00:00.00000.015
45788.304744306114247.1494476256210035.4541919317317496.808531796277354.991764069287390.445956102015-10-31 00:00:00.00000.015
55875.12931547074160.3248764610310035.4541919317321657.133408257271479.862448598281515.31664053132016-01-31 00:00:00.00000.015
65963.256255202764072.1979367289710035.4541919317325729.331344985265516.606193395275552.060385327162016-04-30 00:00:00.00000.015
76052.70509903083982.7490929009310035.4541919317329712.080437886259463.901094364269499.355286296192016-07-31 00:00:00.00000.015
86143.495675516263891.9585164154710035.4541919317333604.038954302253320.405418848263355.85961078222016-10-31 00:00:00.00000.015
96235.6481106493799.8060812827210035.4541919317337403.845035585247084.757308199257120.211500131252017-01-31 00:00:00.00000.015
106329.182832308743706.2713596229910035.4541919317341110.116395208240755.57447589250791.028667822282017-04-30 00:00:00.00000.015
116424.120574793373611.3336171383610035.4541919317344721.450012346234331.453901097244366.908093029312017-07-31 00:00:00.00000.015
126520.482383415273514.9718085164610035.4541919317348236.421820862227810.971517682237846.425709614342017-10-31 00:00:00.00000.015
136618.289619166493417.1645727652310035.4541919317351653.586393628221192.681898515231228.136090447372018-01-31 00:00:00.00000.015
146717.563963453993317.8902284777310035.4541919317354971.476622105214475.117935061224510.572126993402018-04-30 00:00:00.00000.015
156818.32742290583217.1267690259210035.4541919317358188.603391131207656.790512156217692.244704087432018-07-31 00:00:00.00000.015
166920.602334249393114.8518576823310035.4541919317361303.455248814200736.188177906210771.642369838462018-10-31 00:00:00.00000.015
177024.411369263133011.0428226685910035.4541919317364314.498071482193711.776808643203747.231000575492019-01-31 00:00:00.00000.015
187129.777539802072905.6766521296410035.4541919317367220.174723612186581.999268841196617.453460773522019-04-30 00:00:00.00000.015
197236.72420289912798.7299890326110035.4541919317370018.904712644179345.275065942189380.729257874552019-07-31 00:00:00.00000.015
207345.275065942592690.1791259891310035.4541919317372709.083838634171999.999999999182035.454191931582019-10-31 00:00:00.00000.015
21171999.9999999991715.72841831479173715.728418314374424.8122569480173715.728418314602019-12-31 00:00:00.00000.00997516522276043

See Also

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

BULLET - Schedule with single interest and principal payment at maturity

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

CONSTANTPRINCIPALRATE - Schedule with no fixed maturity where a fixed percentage 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