Skip to content

Modern Finance PaymentTiming

Paul Squires edited this page Oct 19, 2026 · 4 revisions

Home › Finance › Finance › PaymentTiming

PaymentTiming

Lists whether payments fall at the end or at the start of each period.

Syntax

PAY_END_OF_PERIOD  PAY_BEGIN_OF_PERIOD

Examples

#import "std/money"
using money

'' An ordinary annuity pays at the END of each period; an annuity due
'' pays at the START, so every payment works one period longer.
dim as Decimal i = DecimalParse( "0.005" ).Value( )

var ord_ = AnnuityPresentValueFactor( i, 12, PAY_END_OF_PERIOD )
var due  = AnnuityPresentValueFactor( i, 12, PAY_BEGIN_OF_PERIOD )

print ord_.Value( ).ToStringFixed( 6 )
print due.Value( ).ToStringFixed( 6 )

'' The difference is exactly one period of growth.
print ( due.Value( ) = ( ord_.Value( ) * ( DecimalOne( ) + i ) ) )   '' true

Library: Finance
Category: Finance
Documented under: Nothing Becomes A Keyword
Source: pkg/std/money/fincore.tiko in the tiko repository.

Clone this wiki locally