Returns the equivalent of a reference amount at a base date by using variable interest rates.

Category: Financial


Required Arguments


is a SAS date. The value that is returned is the time value of reference-amount at base-date.


is a SAS date. reference-date is the date of reference-amount.


is numeric. reference-amount is the amount at reference-date.


is a SAS interval. compounding-interval is the compounding interval.


is a SAS date. Each date is paired with a rate. date is the time that rate takes effect.


is a numeric percentage. Each rate is paired with a date. rate is the interest rate that starts on date.


The following details apply to the TIMEVALUE function:
  • The values for rates must be between –99 and 120.
  • The list of date-rate pairs does not need to be sorted by date.
  • When multiple rate changes occur on a single date, the TIMEVALUE function applies only the final rate that is listed for that date.
  • Simple interest is applied for partial periods.
  • There must be a valid date-rate pair whose date is at or prior to both the reference-date and the base-date.


  • You can express the accumulated value of an investment of $1,000 at a nominal interest rate of 10% compounded monthly for one year as the following:
    amount_base1 = TIMEVALUE("01jan2001"d, "01jan2000"d, 1000,
                                          "MONTH", "01jan2000"d, 10);
  • If the interest rate jumps to 20% halfway through the year, the resulting calculation would be as follows:
    amount_base2 = TIMEVALUE("01jan2001"d, "01jan2000"d, 1000,
                                          "MONTH", 01jan2000"d, 10, "01jan2000"d, 20);
  • The date-rate pairs do not need to be sorted by date. This flexibility allows amount_base2 and amount_base3 to assume the same value:
    amount_base3 = TIMEVALUE("01jan2001"d, "01jan2000"d, 1000,
                                          "MONTH", "01jul2000"d, 20, "01jan2000"d, 10);