public class Finance extends Object
Modifier and Type  Field and Description 

static int 
AT_BEGINNING_OF_PERIOD
Flag used to indicate that payment is made at the beginning of each period.

static int 
AT_END_OF_PERIOD
Flag used to indicate that payment is made at the end of each period.

Modifier and Type  Method and Description 

static double 
cumipmt(double rate,
int nper,
double pv,
int start,
int end,
int when)
Returns the cumulative interest paid between two periods.

static double 
cumprinc(double rate,
int nper,
double pv,
int start,
int end,
int when)
Returns the cumulative principal paid between two periods.

static double 
db(double cost,
double salvage,
int life,
int period,
int month)
Returns the depreciation of an asset using the
fixeddeclining balance method.

static double 
ddb(double cost,
double salvage,
int life,
int period,
double factor)
Returns the depreciation of an asset using the doubledeclining
balance method.

static double 
dollarde(double fractionalDollar,
int fraction)
Converts a fractional price to a decimal price.

static double 
dollarfr(double decimalDollar,
int fraction)
Converts a decimal price to a fractional price.

static double 
effect(double nominalRate,
int nper)
Returns the effective annual interest rate.

static double 
fv(double rate,
int nper,
double pmt,
double pv,
int when)
Returns the future value of an investment.

static double 
fvschedule(double principal,
double[] schedule)
Returns the future value of an initial principal taking
into consideration a schedule of compound interest rates.

static double 
ipmt(double rate,
int period,
int nper,
double pv,
double fv,
int when)
Returns the interest payment for an investment for a given period.

static double 
irr(double[] pmt)
Returns the internal rate of return for a schedule of cash flows.

static double 
irr(double[] pmt,
double guess)
Returns the internal rate of return for a schedule of cash flows.

static double 
mirr(double[] value,
double financeRate,
double reinvestRate)
Returns the modified internal rate of return for a schedule of periodic
cash flows.

static double 
nominal(double effectiveRate,
int nper)
Returns the nominal annual interest rate.

static double 
nper(double rate,
double pmt,
double pv,
double fv,
int when)
Returns the number of periods for an investment for which periodic,
and constant payments are made and the interest rate is constant.

static double 
npv(double rate,
double[] value)
Returns the net present value of a stream of equal periodic cash flows,
which are subject to a given discount rate.

static double 
pmt(double rate,
int nper,
double pv,
double fv,
int when)
Returns the periodic payment for an investment.

static double 
ppmt(double rate,
int period,
int nper,
double pv,
double fv,
int when)
Returns the payment on the principal for a specified period.

static double 
pv(double rate,
int nper,
double pmt,
double fv,
int when)
Returns the net present value of a stream of equal periodic cash flows,
which are subject to a given discount rate.

static double 
rate(int nper,
double pmt,
double pv,
double fv,
int when)
Returns the interest rate per period of an annuity.

static double 
rate(int nper,
double pmt,
double pv,
double fv,
int when,
double guess)
Returns the interest rate per period of an annuity with an initial guess.

static double 
sln(double cost,
double salvage,
int life)
Returns the depreciation of an asset using the straight line method.

static double 
syd(double cost,
double salvage,
int life,
int per)
Returns the depreciation of an asset using the sumofyears digits method.

static double 
vdb(double cost,
double salvage,
int life,
int start,
int end,
double factor,
boolean no_sl)
Returns the depreciation of an asset for any given period
using the variabledeclining balance method.

static double 
xirr(double[] pmt,
Date[] dates)
Returns the internal rate of return for a schedule of cash flows.

static double 
xirr(double[] pmt,
Date[] dates,
double guess)
Returns the internal rate of return for a schedule of cash flows
with a user supplied initial guess.

static double 
xnpv(double rate,
double[] value,
Date[] dates)
Returns the present value for a schedule of cash
flows.

public static final int AT_BEGINNING_OF_PERIOD
public static final int AT_END_OF_PERIOD
public static double cumipmt(double rate, int nper, double pv, int start, int end, int when)
ipmt
for the th period.rate
 a double
, the interest ratenper
 an int
, the total number of payment periodspv
 a double
, the present valuestart
 an int
, the first period in the caclulation.
Periods are numbered starting with one.end
 an int
, the last period in the calculationwhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
double
, the cumulative interest paid between
the first period and the last periodpublic static double cumprinc(double rate, int nper, double pv, int start, int end, int when)
ppmt
for the th period.rate
 a double
, the interest ratenper
 an int
, the total number of payment periodspv
 a double
, the present valuestart
 an int
, the first period in the calculation.
Periods are numbered starting with one.end
 an int
, the last period in the calculationwhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
.double
, the cumulative principal paid between the
first period and the last periodpublic static double db(double cost, double salvage, int life, int period, int month)
db
varies depending
on the specified value for the argument period, see table below.
If period = 1,
NOTE: is rounded to three decimal places.
cost
 a double
, the initial cost of the assetsalvage
 a double
, the salvage value of the assetlife
 an int
, the number of periods over which the asset
is being depreciatedperiod
 an int
, the period for which the depreciation is to be computedmonth
 an int
, the number of months in the first yeardouble
, the depreciation of an asset for a specified period
using the fixeddeclining balance methodpublic static double ddb(double cost, double salvage, int life, int period, double factor)
cost
 a double
, the initial cost of the assetsalvage
 a double
, the salvage value of the assetlife
 an int
, the number of periods over which the asset
is being depreciatedperiod
 an int
, the periodfactor
 a double
, the rate at which the balance declinesdouble
, the depreciation of an asset for a specified periodpublic static double dollarde(double fractionalDollar, int fraction)
where is the integer part of , and is the integer part of .
fractionalDollar
 a double
, a fractional numberfraction
 an int
, the denominatordouble
, the dollar price expressed as
a decimal numberpublic static double dollarfr(double decimalDollar, int fraction)
decimalDollar
 a double
, a decimal numberfraction
 an int
, the denominatordouble
, a dollar price expressed
as a fractionpublic static double effect(double nominalRate, int nper)
nominalRate
 a double
, the nominal interest ratenper
 an int
, the number of compounding periods per yeardouble
, the effective annual interest ratepublic static double fv(double rate, int nper, double pmt, double pv, int when)
If ,
If ,
rate
 a double
, the interest ratenper
 an int
, the total number of payment periodspmt
 a double
, the payment made in each periodpv
 a double
, the present valuewhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
double
, the future value of an investmentpublic static double fvschedule(double principal, double[] schedule)
schedule.length
.principal
 a double
, the present valueschedule
 a double
array of interest rates to applydouble
, the future value of an initial principalpublic static double ipmt(double rate, int period, int nper, double pv, double fv, int when)
rate
 a double
, the interest rateperiod
 an int
, the payment periodnper
 an int
, the total number of periodspv
 a double
, the present valuefv
 a double
, the future valuewhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
double
, the interest payment for a given period for
an investmentpublic static double irr(double[] pmt)
pmt.length
.pmt
 a double
array which contains cash flow values
which occur at regular intervalsdouble
, the internal rate of returnpublic static double irr(double[] pmt, double guess)
pmt
 a double
array which contains cash flow values
which occur at regular intervalsguess
 a double
value which represents an initial guess
at the return value from this functiondouble
, the internal rate of returnpublic static double mirr(double[] value, double financeRate, double reinvestRate)
npv
for positive values in value
using reinvestRate
,
is calculated from npv
for
negative values in value
using financeRate
, and nper
= value.length
.value
 a double
array of cash flowsfinanceRate
 a double
, the interest you pay
on the money you borrowreinvestRate
 a double
, the interest rate you
receive on the cash flowsdouble
, the modified internal
rate of returnpublic static double nominal(double effectiveRate, int nper)
effectiveRate
 a double
, the effective interest ratenper
 an int
, the number of compounding periods per yeardouble
, the nominal annual interest ratepublic static double nper(double rate, double pmt, double pv, double fv, int when)
If ,
If ,
rate
 a double
, the interest ratepmt
 a double
, the paymentpv
 a double
, the present valuefv
 a double
, the future valuewhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
int
, the number of periods for an investmentpublic static double npv(double rate, double[] value)
value.length
.rate
 a double
, the interest rate per period.
It must not be 1.value
 a double
array of equallyspaced cash flowsdouble
, the net present value of the investmentpublic static double pmt(double rate, int nper, double pv, double fv, int when)
If ,
If ,
rate
 a double
, the interest ratenper
 an int
, the total number of periodspv
 a double
, the present valuefv
 a double
, the future valuewhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
double
, the interest payment for a given period for
an investmentpublic static double ppmt(double rate, int period, int nper, double pv, double fv, int when)
pmt
for the th period,
is calculated from ipmt
for the th period.rate
 a double
, the interest rateperiod
 an int
, the payment periodnper
 an int
, the total number of periodspv
 a double
, the present valuefv
 a double
, the future valuewhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
double
, the payment on the principal for a given periodpublic static double pv(double rate, int nper, double pmt, double fv, int when)
If ,
If ,
rate
 a double
, the interest rate per periodnper
 an int
, the number of periodspmt
 a double
, the payment made each periodfv
 a double
, the annuity's value after the last paymentwhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
double
, the present value of the investmentpublic static double rate(int nper, double pmt, double pv, double fv, int when)
If ,
If ,
nper
 an int
, the number of periodspmt
 a double
, the payment made each periodpv
 a double
, the present valuefv
 a double
, the annuity's value after the last paymentwhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
double
, the interest rate per period of an annuitypublic static double rate(int nper, double pmt, double pv, double fv, int when, double guess)
If ,
If ,
nper
 an int
, the number of periodspmt
 a double
, the payment made each periodpv
 a double
, the present valuefv
 a double
, the annuity's value after the last paymentwhen
 an int
, the time in each period when the payment is made,
either AT_END_OF_PERIOD
or AT_BEGINNING_OF_PERIOD
guess
 a double
value which represents an initial
guess at the interest rate per period of an annuitydouble
, the interest rate per period of an annuitypublic static double sln(double cost, double salvage, int life)
cost
 a double
, the initial cost of the assetsalvage
 a double
, the salvage value of the assetlife
 an int
, the number of periods over which the asset
is being depreciateddouble
, the straight line depreciation of an asset
for one periodpublic static double syd(double cost, double salvage, int life, int per)
cost
 a double
, the initial cost of the assetsalvage
 a double
, the salvage value of the assetlife
 an int
, the number of periods over which the asset
is being depreciatedper
 an int
, the perioddouble
, the sumofyears digits depreciation of
an assetpublic static double vdb(double cost, double salvage, int life, int start, int end, double factor, boolean no_sl)
If ,
If ,
where is computed fromddb
for the th
period. = the first period where straight line
depreciation is greater than the depreciation using the doubledeclining
balance method.
cost
 a double
, the initial cost of the assetsalvage
 a double
, the salvage value of the assetlife
 an int
, the number of periods over which the asset
is being depreciatedstart
 an int
, the initial period for the calculationend
 an int
, the final period for the calculationfactor
 a double
, the rate at which the balance declinesno_sl
 a boolean
flag. If true, do not switch to straightline
depreciation even when the depreciation is greater
than the declining balance calculation.double
, the depreciation of the assetpublic static double xirr(double[] pmt, Date[] dates)
pmt.length
.pmt
 a double
array which contains cash flow values
which correspond to a schedule of payments in datesdates
 a Date
array which contains a schedule of payment
datesdouble
, the internal rate of returnpublic static double xirr(double[] pmt, Date[] dates, double guess)
pmt.length
.pmt
 a double
array which contains cash flow values
which correspond to a schedule of payments in datesdates
 a Date
array which contains a schedule of payment
datesguess
 a double
value which represents an initial guess
at the return value from this functiondouble
, the internal rate of returnpublic static double xnpv(double rate, double[] value, Date[] dates)
value.length
rate
 a double
, the interest ratevalue
 a double
array containing the cash flowsdates
 a Date
array which contains a schedule of payment
datesdouble
, the present valueCopyright © 19702015 Rogue Wave Software
Built October 13 2015.