|
JMSLTM Numerical Library 4.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectcom.imsl.finance.Finance
Collection of finance functions.
| Field Summary | |
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. |
| Method Summary | |
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 fixed-declining balance method. |
static double |
ddb(double cost,
double salvage,
int life,
int period,
double factor)
Returns the depreciation of an asset using the double-declining 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 sum-of-years 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 variable-declining 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. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
public static final int AT_BEGINNING_OF_PERIOD
public static final int AT_END_OF_PERIOD
| Method Detail |
public static double cumipmt(double rate,
int nper,
double pv,
int start,
int end,
int when)
![]()
ipmt for the
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 period
public static double cumprinc(double rate,
int nper,
double pv,
int start,
int end,
int when)
![]()
ppmt for the
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 period
public 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 year
double, the depreciation of an asset for a specified period
using the fixed-declining balance method
public 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 declines
double, the depreciation of an asset for a specified period
public 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 denominator
double, the dollar price expressed as
a decimal number
public static double dollarfr(double decimalDollar,
int fraction)
![]()
decimalDollar - a double, a decimal numberfraction - a int, the denominator
double, a dollar price expressed
as a fraction
public static double effect(double nominalRate,
int nper)
![]()
nominalRate - a double, the nominal interest ratenper - an int, the number of compounding periods per year
double, the effective annual interest rate
public 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 investment
public static double fvschedule(double principal,
double[] schedule)
![]()
schedule.length.
principal - a double, the present valueschedule - a double array of interest rates to apply
double, the future value of an initial principal
public 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 intervals
double, the internal rate of return
public 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 function
double, the internal rate of return
public static double mirr(double[] value,
double financeRate,
double reinvestRate)
![]()
npv
for positive values in value using reinvestRate,
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 flows
double, the modified internal
rate of return
public static double nominal(double effectiveRate,
int nper)
![]()
effectiveRate - a double, the effective interest ratenper - an int, the number of compounding periods per year
double, the nominal annual interest rate
public 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 investment
public 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 equally-spaced cash flows
double, the net present value of the investment
public 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 investment
public static double ppmt(double rate,
int period,
int nper,
double pv,
double fv,
int when)
![]()
pmt for the ipmt
for the
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 period
public 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 investment
public 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 annuity
public 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_PERIODguess - a double value which represents an initial
guess at the interest rate per period of an annuity
double, the interest rate per period of an annuity
public 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 depreciated
double, the straight line depreciation of an asset
for one period
public 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 period
double, the sum-of-years digits depreciation of
an asset
public static double vdb(double cost,
double salvage,
int life,
int start,
int end,
double factor,
boolean no_sl)
If
,
![]()
If
,
![]()
ddb for the ![]()
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 straight-line
depreciation even when the depreciation is greater
than the declining balance calculation.
double, the depreciation of the asset
public 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
dates
double, the internal rate of return
public 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 function
double, the internal rate of return
public 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
dates
double, the present value
|
JMSLTM Numerical Library 4.0 | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||