class PHPExcel_Calculation_Financial

PHPExcelCalculationFinancial

Copyright (c) 2006 - 2015 PHPExcel

This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.

This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA

Methods

static float
ACCRINT(mixed $issue, mixed $firstinterest, mixed $settlement, float $rate, float $par = 1000, integer $frequency = 1, integer $basis)

ACCRINT

static float
ACCRINTM(mixed $issue, mixed $settlement, float $rate, float $par = 1000, integer $basis)

ACCRINTM

static float
AMORDEGRC(float $cost, mixed $purchased, mixed $firstPeriod, mixed $salvage, float $period, float $rate, integer $basis)

AMORDEGRC

static float
AMORLINC(float $cost, mixed $purchased, mixed $firstPeriod, mixed $salvage, float $period, float $rate, integer $basis)

AMORLINC

static float
COUPDAYBS(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPDAYBS

static float
COUPDAYS(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPDAYS

static float
COUPDAYSNC(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPDAYSNC

static mixed
COUPNCD(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPNCD

static integer
COUPNUM(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPNUM

static mixed
COUPPCD(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPPCD

static float
CUMIPMT(float $rate, integer $nper, float $pv, integer $start, integer $end, integer $type)

CUMIPMT

static float
CUMPRINC(float $rate, integer $nper, float $pv, integer $start, integer $end, integer $type)

CUMPRINC

static float
DB(float $cost, float $salvage, integer $life, integer $period, integer $month = 12)

DB

static float
DDB(float $cost, float $salvage, integer $life, integer $period, float $factor = 2.0)

DDB

static float
DISC(mixed $settlement, mixed $maturity, integer $price, integer $redemption, integer $basis)

DISC

static float
DOLLARDE(float $fractional_dollar = null, integer $fraction)

DOLLARDE

static float
DOLLARFR(float $decimal_dollar = null, integer $fraction)

DOLLARFR

static float
EFFECT(float $nominal_rate, integer $npery)

EFFECT

static float
FV(float $rate, int $nper, float $pmt, float $pv, integer $type)

FV

static float
FVSCHEDULE(float $principal, float[] $schedule)

FVSCHEDULE

static float
INTRATE(mixed $settlement, mixed $maturity, integer $investment, integer $redemption, integer $basis)

INTRATE

static float
IPMT(float $rate, int $per, int $nper, float $pv, float $fv, int $type)

IPMT

static float
IRR(float[] $values, float $guess = 0.1)

IRR

static 
ISPMT()

ISPMT

static float
MIRR(float[] $values, float $finance_rate, float $reinvestment_rate)

MIRR

static float
NOMINAL(float $effect_rate, int $npery)

NOMINAL

static float
NPER(float $rate, int $pmt, float $pv, float $fv, int $type)

NPER

static float
NPV()

NPV

static float
PMT(float $rate, int $nper, float $pv, float $fv, int $type)

PMT

static float
PPMT(float $rate, int $per, int $nper, float $pv, float $fv, int $type)

PPMT

static 
PRICE($settlement, $maturity, $rate, $yield, $redemption, $frequency, $basis)

No description

static float
PRICEDISC(mixed $settlement, mixed $maturity, int $discount, int $redemption, int $basis)

PRICEDISC

static float
PRICEMAT(mixed $settlement, mixed $maturity, mixed $issue, int $rate, int $yield, int $basis)

PRICEMAT

static float
PV(float $rate, int $nper, float $pmt, float $fv, int $type)

PV

static float
RATE(float $nper, float $pmt, float $pv, float $fv = 0.0, integer $type, float $guess = 0.1)

RATE

static float
RECEIVED(mixed $settlement, mixed $maturity, int $investment, int $discount, int $basis)

RECEIVED

static float
SLN(cost $cost, salvage $salvage, life $life)

SLN

static float
SYD(cost $cost, salvage $salvage, life $life, period $period)

SYD

static float
TBILLEQ(mixed $settlement, mixed $maturity, int $discount)

TBILLEQ

static float
TBILLPRICE(mixed $settlement, mixed $maturity, int $discount)

TBILLPRICE

static float
TBILLYIELD(mixed $settlement, mixed $maturity, int $price)

TBILLYIELD

static 
XIRR($values, $dates, $guess = 0.1)

No description

static float
XNPV(float $rate, array $values, array $dates)

XNPV

static float
YIELDDISC(mixed $settlement, mixed $maturity, int $price, int $redemption, int $basis)

YIELDDISC

static float
YIELDMAT(mixed $settlement, mixed $maturity, mixed $issue, int $rate, int $price, int $basis)

YIELDMAT

Details

at line 211
static float ACCRINT(mixed $issue, mixed $firstinterest, mixed $settlement, float $rate, float $par = 1000, integer $frequency = 1, integer $basis)

ACCRINT

Returns the accrued interest for a security that pays periodic interest.

Excel Function: ACCRINT(issue,firstinterest,settlement,rate,par,frequency[,basis])

Parameters

mixed $issue The security's issue date.
mixed $firstinterest The security's first interest date.
mixed $settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
float $rate The security's annual coupon rate.
float $par The security's par value. If you omit par, ACCRINT uses $1,000.
integer $frequency the number of coupon payments per year. Valid frequency values are: 1 Annual 2 Semi-Annual 4 Quarterly If working in Gnumeric Mode, the following frequency options are also available 6 Bimonthly 12 Monthly
integer $basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 263
static float ACCRINTM(mixed $issue, mixed $settlement, float $rate, float $par = 1000, integer $basis)

ACCRINTM

Returns the accrued interest for a security that pays interest at maturity.

Excel Function: ACCRINTM(issue,settlement,rate[,par[,basis]])

Parameters

mixed $issue issue The security's issue date.
mixed $settlement settlement The security's settlement (or maturity) date.
float $rate rate The security's annual coupon rate.
float $par par The security's par value. If you omit par, ACCRINT uses $1,000.
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 320
static float AMORDEGRC(float $cost, mixed $purchased, mixed $firstPeriod, mixed $salvage, float $period, float $rate, integer $basis)

AMORDEGRC

Returns the depreciation for each accounting period. This function is provided for the French accounting system. If an asset is purchased in the middle of the accounting period, the prorated depreciation is taken into account. The function is similar to AMORLINC, except that a depreciation coefficient is applied in the calculation depending on the life of the assets. This function will return the depreciation until the last period of the life of the assets or until the cumulated value of depreciation is greater than the cost of the assets minus the salvage value.

Excel Function: AMORDEGRC(cost,purchased,firstPeriod,salvage,period,rate[,basis])

Parameters

float $cost cost The cost of the asset.
mixed $purchased purchased Date of the purchase of the asset.
mixed $firstPeriod firstPeriod Date of the end of the first period.
mixed $salvage salvage The salvage value at the end of the life of the asset.
float $period period The period.
float $rate rate Rate of depreciation.
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 397
static float AMORLINC(float $cost, mixed $purchased, mixed $firstPeriod, mixed $salvage, float $period, float $rate, integer $basis)

AMORLINC

Returns the depreciation for each accounting period. This function is provided for the French accounting system. If an asset is purchased in the middle of the accounting period, the prorated depreciation is taken into account.

Excel Function: AMORLINC(cost,purchased,firstPeriod,salvage,period,rate[,basis])

Parameters

float $cost cost The cost of the asset.
mixed $purchased purchased Date of the purchase of the asset.
mixed $firstPeriod firstPeriod Date of the end of the first period.
mixed $salvage salvage The salvage value at the end of the life of the asset.
float $period period The period.
float $rate rate Rate of depreciation.
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 464
static float COUPDAYBS(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPDAYBS

Returns the number of days from the beginning of the coupon period to the settlement date.

Excel Function: COUPDAYBS(settlement,maturity,frequency[,basis])

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $frequency frequency the number of coupon payments per year. Valid frequency values are: 1 Annual 2 Semi-Annual 4 Quarterly If working in Gnumeric Mode, the following frequency options are also available 6 Bimonthly 12 Monthly
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 523
static float COUPDAYS(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPDAYS

Returns the number of days in the coupon period that contains the settlement date.

Excel Function: COUPDAYS(settlement,maturity,frequency[,basis])

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $frequency frequency the number of coupon payments per year. Valid frequency values are: 1 Annual 2 Semi-Annual 4 Quarterly If working in Gnumeric Mode, the following frequency options are also available 6 Bimonthly 12 Monthly
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 596
static float COUPDAYSNC(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPDAYSNC

Returns the number of days from the settlement date to the next coupon date.

Excel Function: COUPDAYSNC(settlement,maturity,frequency[,basis])

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $frequency frequency the number of coupon payments per year. Valid frequency values are: 1 Annual 2 Semi-Annual 4 Quarterly If working in Gnumeric Mode, the following frequency options are also available 6 Bimonthly 12 Monthly
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 656
static mixed COUPNCD(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPNCD

Returns the next coupon date after the settlement date.

Excel Function: COUPNCD(settlement,maturity,frequency[,basis])

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $frequency frequency the number of coupon payments per year. Valid frequency values are: 1 Annual 2 Semi-Annual 4 Quarterly If working in Gnumeric Mode, the following frequency options are also available 6 Bimonthly 12 Monthly
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, depending on the value of the ReturnDateType flag

at line 713
static integer COUPNUM(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPNUM

Returns the number of coupons payable between the settlement date and maturity date, rounded up to the nearest whole coupon.

Excel Function: COUPNUM(settlement,maturity,frequency[,basis])

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $frequency frequency the number of coupon payments per year. Valid frequency values are: 1 Annual 2 Semi-Annual 4 Quarterly If working in Gnumeric Mode, the following frequency options are also available 6 Bimonthly 12 Monthly
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

integer

at line 785
static mixed COUPPCD(mixed $settlement, mixed $maturity, mixed $frequency, integer $basis)

COUPPCD

Returns the previous coupon date before the settlement date.

Excel Function: COUPPCD(settlement,maturity,frequency[,basis])

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $frequency frequency the number of coupon payments per year. Valid frequency values are: 1 Annual 2 Semi-Annual 4 Quarterly If working in Gnumeric Mode, the following frequency options are also available 6 Bimonthly 12 Monthly
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

mixed Excel date/time serial value, PHP date/time serial value or PHP date/time object, depending on the value of the ReturnDateType flag

at line 830
static float CUMIPMT(float $rate, integer $nper, float $pv, integer $start, integer $end, integer $type)

CUMIPMT

Returns the cumulative interest paid on a loan between the start and end periods.

Excel Function: CUMIPMT(rate,nper,pv,start,end[,type])

Parameters

float $rate The Interest rate
integer $nper The total number of payment periods
float $pv Present Value
integer $start The first period in the calculation. Payment periods are numbered beginning with 1.
integer $end The last period in the calculation.
integer $type A number 0 or 1 and indicates when payments are due: 0 or omitted At the end of the period. 1 At the beginning of the period.

Return Value

float

at line 878
static float CUMPRINC(float $rate, integer $nper, float $pv, integer $start, integer $end, integer $type)

CUMPRINC

Returns the cumulative principal paid on a loan between the start and end periods.

Excel Function: CUMPRINC(rate,nper,pv,start,end[,type])

Parameters

float $rate The Interest rate
integer $nper The total number of payment periods
float $pv Present Value
integer $start The first period in the calculation. Payment periods are numbered beginning with 1.
integer $end The last period in the calculation.
integer $type A number 0 or 1 and indicates when payments are due: 0 or omitted At the end of the period. 1 At the beginning of the period.

Return Value

float

at line 931
static float DB(float $cost, float $salvage, integer $life, integer $period, integer $month = 12)

DB

Returns the depreciation of an asset for a specified period using the fixed-declining balance method. This form of depreciation is used if you want to get a higher depreciation value at the beginning of the depreciation (as opposed to linear depreciation). The depreciation value is reduced with every depreciation period by the depreciation already deducted from the initial cost.

Excel Function: DB(cost,salvage,life,period[,month])

Parameters

float $cost cost Initial cost of the asset.
float $salvage salvage Value at the end of the depreciation. (Sometimes called the salvage value of the asset)
integer $life life Number of periods over which the asset is depreciated. (Sometimes called the useful life of the asset)
integer $period period The period for which you want to calculate the depreciation. Period must use the same units as life.
integer $month month Number of months in the first year. If month is omitted, it defaults to 12.

Return Value

float

at line 999
static float DDB(float $cost, float $salvage, integer $life, integer $period, float $factor = 2.0)

DDB

Returns the depreciation of an asset for a specified period using the double-declining balance method or some other method you specify.

Excel Function: DDB(cost,salvage,life,period[,factor])

Parameters

float $cost cost Initial cost of the asset.
float $salvage salvage Value at the end of the depreciation. (Sometimes called the salvage value of the asset)
integer $life life Number of periods over which the asset is depreciated. (Sometimes called the useful life of the asset)
integer $period period The period for which you want to calculate the depreciation. Period must use the same units as life.
float $factor factor The rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method).

Return Value

float

at line 1061
static float DISC(mixed $settlement, mixed $maturity, integer $price, integer $redemption, integer $basis)

DISC

Returns the discount rate for a security.

Excel Function: DISC(settlement,maturity,price,redemption[,basis])

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
integer $price price The security's price per $100 face value.
integer $redemption redemption The security's redemption value per $100 face value.
integer $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 1105
static float DOLLARDE(float $fractional_dollar = null, integer $fraction)

DOLLARDE

Converts a dollar price expressed as an integer part and a fraction part into a dollar price expressed as a decimal number. Fractional dollar numbers are sometimes used for security prices.

Excel Function: DOLLARDE(fractional_dollar,fraction)

Parameters

float $fractional_dollar Fractional Dollar
integer $fraction Fraction

Return Value

float

at line 1142
static float DOLLARFR(float $decimal_dollar = null, integer $fraction)

DOLLARFR

Converts a dollar price expressed as a decimal number into a dollar price expressed as a fraction. Fractional dollar numbers are sometimes used for security prices.

Excel Function: DOLLARFR(decimal_dollar,fraction)

Parameters

float $decimal_dollar Decimal Dollar
integer $fraction Fraction

Return Value

float

at line 1178
static float EFFECT(float $nominal_rate, integer $npery)

EFFECT

Returns the effective interest rate given the nominal rate and the number of compounding payments per year.

Excel Function: EFFECT(nominal_rate,npery)

Parameters

float $nominal_rate Nominal interest rate
integer $npery Number of compounding payments per year

Return Value

float

at line 1214
static float FV(float $rate, int $nper, float $pmt, float $pv, integer $type)

FV

Returns the Future Value of a cash flow with constant payments and interest rate (annuities).

Excel Function: FV(rate,nper,pmt[,pv[,type]])

Parameters

float $rate The interest rate per period
int $nper Total number of payment periods in an annuity
float $pmt The payment made each period: it cannot change over the life of the annuity. Typically, pmt contains principal and interest but no other fees or taxes.
float $pv Present Value, or the lump-sum amount that a series of future payments is worth right now.
integer $type A number 0 or 1 and indicates when payments are due: 0 or omitted At the end of the period. 1 At the beginning of the period.

Return Value

float

at line 1248
static float FVSCHEDULE(float $principal, float[] $schedule)

FVSCHEDULE

Returns the future value of an initial principal after applying a series of compound interest rates. Use FVSCHEDULE to calculate the future value of an investment with a variable or adjustable rate.

Excel Function: FVSCHEDULE(principal,schedule)

Parameters

float $principal The present value.
float[] $schedule An array of interest rates to apply.

Return Value

float

at line 1283
static float INTRATE(mixed $settlement, mixed $maturity, integer $investment, integer $redemption, integer $basis)

INTRATE

Returns the interest rate for a fully invested security.

Excel Function: INTRATE(settlement,maturity,investment,redemption[,basis])

Parameters

mixed $settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity The security's maturity date. The maturity date is the date when the security expires.
integer $investment The amount invested in the security.
integer $redemption The amount to be received at maturity.
integer $basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 1327
static float IPMT(float $rate, int $per, int $nper, float $pv, float $fv, int $type)

IPMT

Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate.

Excel Function: IPMT(rate,per,nper,pv[,fv][,type])

Parameters

float $rate Interest rate per period
int $per Period for which we want to find the interest
int $nper Number of periods
float $pv Present Value
float $fv Future Value
int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period

Return Value

float

at line 1368
static float IRR(float[] $values, float $guess = 0.1)

IRR

Returns the internal rate of return for a series of cash flows represented by the numbers in values. These cash flows do not have to be even, as they would be for an annuity. However, the cash flows must occur at regular intervals, such as monthly or annually. The internal rate of return is the interest rate received for an investment consisting of payments (negative values) and income (positive values) that occur at regular periods.

Excel Function: IRR(values[,guess])

Parameters

float[] $values An array or a reference to cells that contain numbers for which you want to calculate the internal rate of return. Values must contain at least one positive value and one negative value to calculate the internal rate of return.
float $guess A number that you guess is close to the result of IRR

Return Value

float

at line 1435
static ISPMT()

ISPMT

Returns the interest payment for an investment based on an interest rate and a constant payment schedule.

Excel Function: =ISPMT(interestrate, period, numberpayments, PV)

interest_rate is the interest rate for the investment

period is the period to calculate the interest rate. It must be betweeen 1 and number_payments.

number_payments is the number of payments for the annuity

PV is the loan amount or present value of the payments

at line 1477
static float MIRR(float[] $values, float $finance_rate, float $reinvestment_rate)

MIRR

Returns the modified internal rate of return for a series of periodic cash flows. MIRR considers both the cost of the investment and the interest received on reinvestment of cash.

Excel Function: MIRR(values,financerate, reinvestmentrate)

Parameters

float[] $values An array or a reference to cells that contain a series of payments and income occurring at regular intervals. Payments are negative value, income is positive values.
float $finance_rate The interest rate you pay on the money used in the cash flows
float $reinvestment_rate The interest rate you receive on the cash flows as you reinvest them

Return Value

float

at line 1519
static float NOMINAL(float $effect_rate, int $npery)

NOMINAL

Returns the nominal interest rate given the effective rate and the number of compounding payments per year.

Parameters

float $effect_rate Effective interest rate
int $npery Number of compounding payments per year

Return Value

float

at line 1546
static float NPER(float $rate, int $pmt, float $pv, float $fv, int $type)

NPER

Returns the number of periods for a cash flow with constant periodic payments (annuities), and interest rate.

Parameters

float $rate Interest rate per period
int $pmt Periodic payment (annuity)
float $pv Present Value
float $fv Future Value
int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period

Return Value

float

at line 1579
static float NPV()

NPV

Returns the Net Present Value of a cash flow series given a discount rate.

Return Value

float

at line 1612
static float PMT(float $rate, int $nper, float $pv, float $fv, int $type)

PMT

Returns the constant payment (annuity) for a cash flow with a constant interest rate.

Parameters

float $rate Interest rate per period
int $nper Number of periods
float $pv Present Value
float $fv Future Value
int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period

Return Value

float

at line 1646
static float PPMT(float $rate, int $per, int $nper, float $pv, float $fv, int $type)

PPMT

Returns the interest payment for a given period for an investment based on periodic, constant payments and a constant interest rate.

Parameters

float $rate Interest rate per period
int $per Period for which we want to find the interest
int $nper Number of periods
float $pv Present Value
float $fv Future Value
int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period

Return Value

float

at line 1669
static PRICE($settlement, $maturity, $rate, $yield, $redemption, $frequency, $basis)

Parameters

$settlement
$maturity
$rate
$yield
$redemption
$frequency
$basis

at line 1730
static float PRICEDISC(mixed $settlement, mixed $maturity, int $discount, int $redemption, int $basis)

PRICEDISC

Returns the price per $100 face value of a discounted security.

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
int $discount discount The security's discount rate.
int $redemption redemption The security's redemption value per $100 face value.
int $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 1775
static float PRICEMAT(mixed $settlement, mixed $maturity, mixed $issue, int $rate, int $yield, int $basis)

PRICEMAT

Returns the price per $100 face value of a security that pays interest at maturity.

Parameters

mixed $settlement settlement The security's settlement date. The security's settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $issue issue The security's issue date.
int $rate rate The security's interest rate at date of issue.
int $yield yield The security's annual yield.
int $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 1832
static float PV(float $rate, int $nper, float $pmt, float $fv, int $type)

PV

Returns the Present Value of a cash flow with constant payments and interest rate (annuities).

Parameters

float $rate Interest rate per period
int $nper Number of periods
float $pmt Periodic payment (annuity)
float $fv Future Value
int $type Payment type: 0 = at the end of each period, 1 = at the beginning of each period

Return Value

float

at line 1883
static float RATE(float $nper, float $pmt, float $pv, float $fv = 0.0, integer $type, float $guess = 0.1)

RATE

Returns the interest rate per period of an annuity. RATE is calculated by iteration and can have zero or more solutions. If the successive results of RATE do not converge to within 0.0000001 after 20 iterations, RATE returns the #NUM! error value.

Excel Function: RATE(nper,pmt,pv[,fv[,type[,guess]]])

Parameters

float $nper nper The total number of payment periods in an annuity.
float $pmt pmt The payment made each period and cannot change over the life of the annuity. Typically, pmt includes principal and interest but no other fees or taxes.
float $pv pv The present value - the total amount that a series of future payments is worth now.
float $fv fv The future value, or a cash balance you want to attain after the last payment is made. If fv is omitted, it is assumed to be 0 (the future value of a loan, for example, is 0).
integer $type type A number 0 or 1 and indicates when payments are due: 0 or omitted At the end of the period. 1 At the beginning of the period.
float $guess guess Your guess for what the rate will be. If you omit guess, it is assumed to be 10 percent.

Return Value

float

at line 1946
static float RECEIVED(mixed $settlement, mixed $maturity, int $investment, int $discount, int $basis)

RECEIVED

Returns the price per $100 face value of a discounted security.

Parameters

mixed $settlement settlement The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
int $investment investment The amount invested in the security.
int $discount discount The security's discount rate.
int $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 1981
static float SLN(cost $cost, salvage $salvage, life $life)

SLN

Returns the straight-line depreciation of an asset for one period

Parameters

cost $cost Initial cost of the asset
salvage $salvage Value at the end of the depreciation
life $life Number of periods over which the asset is depreciated

Return Value

float

at line 2009
static float SYD(cost $cost, salvage $salvage, life $life, period $period)

SYD

Returns the sum-of-years' digits depreciation of an asset for a specified period.

Parameters

cost $cost Initial cost of the asset
salvage $salvage Value at the end of the depreciation
life $life Number of periods over which the asset is depreciated
period $period Period

Return Value

float

at line 2039
static float TBILLEQ(mixed $settlement, mixed $maturity, int $discount)

TBILLEQ

Returns the bond-equivalent yield for a Treasury bill.

Parameters

mixed $settlement settlement The Treasury bill's settlement date. The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer.
mixed $maturity maturity The Treasury bill's maturity date. The maturity date is the date when the Treasury bill expires.
int $discount discount The Treasury bill's discount rate.

Return Value

float

at line 2078
static float TBILLPRICE(mixed $settlement, mixed $maturity, int $discount)

TBILLPRICE

Returns the yield for a Treasury bill.

Parameters

mixed $settlement settlement The Treasury bill's settlement date. The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer.
mixed $maturity maturity The Treasury bill's maturity date. The maturity date is the date when the Treasury bill expires.
int $discount discount The Treasury bill's discount rate.

Return Value

float

at line 2131
static float TBILLYIELD(mixed $settlement, mixed $maturity, int $price)

TBILLYIELD

Returns the yield for a Treasury bill.

Parameters

mixed $settlement settlement The Treasury bill's settlement date. The Treasury bill's settlement date is the date after the issue date when the Treasury bill is traded to the buyer.
mixed $maturity maturity The Treasury bill's maturity date. The maturity date is the date when the Treasury bill expires.
int $price price The Treasury bill's price per $100 face value.

Return Value

float

at line 2164
static XIRR($values, $dates, $guess = 0.1)

Parameters

$values
$dates
$guess

at line 2237
static float XNPV(float $rate, array $values, array $dates)

XNPV

Returns the net present value for a schedule of cash flows that is not necessarily periodic. To calculate the net present value for a series of cash flows that is periodic, use the NPV function.

Excel Function: =XNPV(rate,values,dates)

Parameters

float $rate The discount rate to apply to the cash flows.
array $values of float $values A series of cash flows that corresponds to a schedule of payments in dates. The first payment is optional and corresponds to a cost or payment that occurs at the beginning of the investment. If the first value is a cost or payment, it must be a negative value. All succeeding payments are discounted based on a 365-day year. The series of values must contain at least one positive value and one negative value.
array $dates of mixed $dates A schedule of payment dates that corresponds to the cash flow payments. The first payment date indicates the beginning of the schedule of payments. All other dates must be later than this date, but they may occur in any order.

Return Value

float

at line 2286
static float YIELDDISC(mixed $settlement, mixed $maturity, int $price, int $redemption, int $basis)

YIELDDISC

Returns the annual yield of a security that pays interest at maturity.

Parameters

mixed $settlement settlement The security's settlement date. The security's settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
int $price price The security's price per $100 face value.
int $redemption redemption The security's redemption value per $100 face value.
int $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float

at line 2336
static float YIELDMAT(mixed $settlement, mixed $maturity, mixed $issue, int $rate, int $price, int $basis)

YIELDMAT

Returns the annual yield of a security that pays interest at maturity.

Parameters

mixed $settlement settlement The security's settlement date. The security's settlement date is the date after the issue date when the security is traded to the buyer.
mixed $maturity maturity The security's maturity date. The maturity date is the date when the security expires.
mixed $issue issue The security's issue date.
int $rate rate The security's interest rate at date of issue.
int $price price The security's price per $100 face value.
int $basis basis The type of day count to use. 0 or omitted US (NASD) 30/360 1 Actual/actual 2 Actual/360 3 Actual/365 4 European 30/360

Return Value

float