bas7advr.hlp (Topic list)
IRR# Function Details
  Syntax  Details  Example                 Contents  Index  Back
──────────────────────────────────────────────────────────────────────────────
IRR# returns the internal rate of return for a series of periodic cash
flows (payments and receipts).
 
IRR# (valuearray#(), valuecount%, guess#, status%)
 
    ■ The argument valuearray#() must contain at least one negative value
      (a payment) and one positive value (a receipt).
    ■ The argument guess# is your guess for what IRR# will be.
    ■ IRR# is calculated by iteration. Starting with the value of guess#,
      IRR# cycles through the calculation until the result is accurate
      within .00001%. If after 20 tries it can't find a result that
      works, IRR# returns a status of 1 (failure).
    ■ In most cases you can assume guess# to be 0.1 (10%). However, if
      IRR# returns a status of 1 (failure), or if the result is not close
      to what you expected, try different values of guess#.
    ■ The argument status% can be any variable that returns information
      about the success or failure of the calculation. The value of status%
      will be 0 if the calculation was successful, and 1 if it was not.
 
Usage Notes
    ■ The internal rate of return is the interest rate received for an
      investment consisting of payments (negative values) and receipts
      (positive values) that occur at regular intervals.
    ■ IRR# uses the order of values within the array to interpret the order
      of payments and receipts. Be sure to enter your payment and receipt
      values in the correct sequence.
    ■ The cash flow for each period does not have to be even as it would
      be for an annuity.
 
Important
    ■ To use IRR# in the QBX environment, use the FINANCER.QLB Quick
      library. To use IRR# outside the QBX environment, link your program
      with the appropriate FINANCxx.LIB file. Depending on the compiler
      options you chose when you installed BASIC, one or more of the
      following files will be available:
 
           Filename         Compiler options
           ════════════     ═════════════════════════════════════════════
           FINANCER.LIB     80x87 or emulator math; DOS or OS/2 real mode
           FINANCAR.LIB     Alternate math; DOS or OS/2 real mode
           FINANCEP.LIB     80x87 or emulator math, OS/2 protected mode
           FINANCAP.LIB     Alternate math; OS/2 protected mode
 
    ■ The FINANC.BI header file contains the necessary function
      declarations for IRR#.
    ■ For more information on using libraries, see "Creating and Using
      Quick Libraries" and "Using LINK and LIB" in the BASIC Programmer's
      Guide.