PHPExcel_Calculation_Financial

category | PHPExcel
package | PHPExcel_Calculation
copyright | Copyright (c) 2006 - 2013 PHPExcel (http://www.codeplex.com/PHPExcel)

### Methods

## ACCRINT

    ACCRINT(mixed $issue, mixed $firstinterest, mixed $settlement, float $rate, float $par, integer $frequency, integer $basis) : float

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $issue

`mixed`

The security's issue date.

#### $firstinterest

`mixed`

The security's first interest date.

#### $settlement

`mixed`

The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.

#### $rate

`float`

The security's annual coupon rate.

#### $par

`float`

The security's par value. If you omit par, ACCRINT uses $1,000.

#### $frequency

`integer`

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

#### $basis

`integer`

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

### Returns

`float`

## ACCRINTM

    ACCRINTM(mixed $issue, mixed $settlement, float $rate, float $par, integer $basis) : float

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $issue

`mixed`

issue The security's issue date.

#### $settlement

`mixed`

settlement The security's settlement (or maturity) date.

#### $rate

`float`

rate The security's annual coupon rate.

#### $par

`float`

par The security's par value. If you omit par, ACCRINT uses $1,000.

#### $basis

`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

### Returns

`float`

## AMORDEGRC

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

Static

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])

access | public
category | Financial Functions

### Parameters

#### $cost

`float`

cost The cost of the asset.

#### $purchased

`mixed`

purchased Date of the purchase of the asset.

#### $firstPeriod

`mixed`

firstPeriod Date of the end of the first period.

#### $salvage

`mixed`

salvage The salvage value at the end of the life of the asset.

#### $period

`float`

period The period.

#### $rate

`float`

rate Rate of depreciation.

#### $basis

`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

### Returns

`float`

## AMORLINC

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

Static

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])

access | public
category | Financial Functions

### Parameters

#### $cost

`float`

cost The cost of the asset.

#### $purchased

`mixed`

purchased Date of the purchase of the asset.

#### $firstPeriod

`mixed`

firstPeriod Date of the end of the first period.

#### $salvage

`mixed`

salvage The salvage value at the end of the life of the asset.

#### $period

`float`

period The period.

#### $rate

`float`

rate Rate of depreciation.

#### $basis

`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

### Returns

`float`

## COUPDAYBS

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

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $frequency

`mixed`

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

#### $basis

`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

### Returns

`float`

## COUPDAYS

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

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $frequency

`mixed`

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

#### $basis

`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

### Returns

`float`

## COUPDAYSNC

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

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $frequency

`mixed`

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

#### $basis

`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

### Returns

`float`

## COUPNCD

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

Static

Returns the next coupon date after the settlement date.

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

access | public
category | Financial Functions

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $frequency

`mixed`

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

#### $basis

`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

### Returns

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

## COUPNUM

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

Static

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])

access | public
category | Financial Functions

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $frequency

`mixed`

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

#### $basis

`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

### Returns

`integer`

## COUPPCD

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

Static

Returns the previous coupon date before the settlement date.

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

access | public
category | Financial Functions

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $frequency

`mixed`

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

#### $basis

`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

### Returns

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

## CUMIPMT

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

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $rate

`float`

The Interest rate

#### $nper

`integer`

The total number of payment periods

#### $pv

`float`

Present Value

#### $start

`integer`

The first period in the calculation. Payment periods are numbered beginning with 1.

#### $end

`integer`

The last period in the calculation.

#### $type

`integer`

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.

### Returns

`float`

## CUMPRINC

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

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $rate

`float`

The Interest rate

#### $nper

`integer`

The total number of payment periods

#### $pv

`float`

Present Value

#### $start

`integer`

The first period in the calculation. Payment periods are numbered beginning with 1.

#### $end

`integer`

The last period in the calculation.

#### $type

`integer`

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.

### Returns

`float`

## DB

    DB(float $cost, float $salvage, integer $life, integer $period, integer $month) : float

Static

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])

access | public
category | Financial Functions

### Parameters

#### $cost

`float`

cost Initial cost of the asset.

#### $salvage

`float`

salvage Value at the end of the depreciation. (Sometimes called the salvage value of the asset)

#### $life

`integer`

life Number of periods over which the asset is depreciated. (Sometimes called the useful life of the asset)

#### $period

`integer`

period The period for which you want to calculate the depreciation. Period must use the same units as life.

#### $month

`integer`

month Number of months in the first year. If month is omitted, it defaults to 12.

### Returns

`float`

## DDB

    DDB(float $cost, float $salvage, integer $life, integer $period, float $factor) : float

Static

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])

access | public
category | Financial Functions

### Parameters

#### $cost

`float`

cost Initial cost of the asset.

#### $salvage

`float`

salvage Value at the end of the depreciation. (Sometimes called the salvage value of the asset)

#### $life

`integer`

life Number of periods over which the asset is depreciated. (Sometimes called the useful life of the asset)

#### $period

`integer`

period The period for which you want to calculate the depreciation. Period must use the same units as life.

#### $factor

`float`

factor The rate at which the balance declines. If factor is omitted, it is assumed to be 2 (the double-declining balance method).

### Returns

`float`

## DISC

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

Static

Returns the discount rate for a security.

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

access | public
category | Financial Functions

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $price

`integer`

price The security's price per $100 face value.

#### $redemption

`integer`

redemption The security's redemption value per $100 face value.

#### $basis

`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

### Returns

`float`

## DOLLARDE

    DOLLARDE(float $fractional_dollar, integer $fraction) : float

Static

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)

access | public
category | Financial Functions

### Parameters

#### $fractional_dollar

`float`

Fractional Dollar

#### $fraction

`integer`

Fraction

### Returns

`float`

## DOLLARFR

    DOLLARFR(float $decimal_dollar, integer $fraction) : float

Static

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)

access | public
category | Financial Functions

### Parameters

#### $decimal_dollar

`float`

Decimal Dollar

#### $fraction

`integer`

Fraction

### Returns

`float`

## EFFECT

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

Static

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

Excel Function: EFFECT(nominal_rate,npery)

access | public
category | Financial Functions

### Parameters

#### $nominal_rate

`float`

Nominal interest rate

#### $npery

`integer`

Number of compounding payments per year

### Returns

`float`

## FV

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

Static

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

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

access | public
category | Financial Functions

### Parameters

#### $rate

`float`

The interest rate per period

#### $nper

`int`

Total number of payment periods in an annuity

#### $pmt

`float`

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.

#### $pv

`float`

Present Value, or the lump-sum amount that a series of future payments is worth right now.

#### $type

`integer`

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.

### Returns

`float`

## FVSCHEDULE

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

Static

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

#### $principal

`float`

The present value.

#### $schedule

`float[]`

An array of interest rates to apply.

### Returns

`float`

## INTRATE

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

Static

Returns the interest rate for a fully invested security.

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

### Parameters

#### $settlement

`mixed`

The security's settlement date. The security settlement date is the date after the issue date when the security is traded to the buyer.

#### $maturity

`mixed`

The security's maturity date. The maturity date is the date when the security expires.

#### $investment

`integer`

The amount invested in the security.

#### $redemption

`integer`

The amount to be received at maturity.

#### $basis

`integer`

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

### Returns

`float`

## IPMT

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

Static

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

#### $rate

`float`

Interest rate per period

#### $per

`int`

Period for which we want to find the interest

#### $nper

`int`

Number of periods

#### $pv

`float`

Present Value

#### $fv

`float`

Future Value

#### $type

`int`

Payment type: 0 = at the end of each period, 1 = at the beginning of each period

### Returns

`float`

## IRR

    IRR(float[] $values, float $guess) : float

Static

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

#### $values

`float[]`

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.

#### $guess

`float`

A number that you guess is close to the result of IRR

### Returns

`float`

## ISPMT

    ISPMT()

Static

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

Excel Function: =ISPMT(interest_rate, period, number_payments, 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

## MIRR

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

Static

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,finance_rate, reinvestment_rate)

### Parameters

#### $values

`float[]`

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.

#### $finance_rate

`float`

The interest rate you pay on the money used in the cash flows

#### $reinvestment_rate

`float`

The interest rate you receive on the cash flows as you reinvest them

### Returns

`float`

## NOMINAL

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

Static

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

### Parameters

#### $effect_rate

`float`

Effective interest rate

#### $npery

`int`

Number of compounding payments per year

### Returns

`float`

## NPER

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

Static

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

### Parameters

#### $rate

`float`

Interest rate per period

#### $pmt

`int`

Periodic payment (annuity)

#### $pv

`float`

Present Value

#### $fv

`float`

Future Value

#### $type

`int`

Payment type: 0 = at the end of each period, 1 = at the beginning of each period

### Returns

`float`

## NPV

    NPV() : float

Static

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

### Returns

`float`

## PMT

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

Static

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

### Parameters

#### $rate

`float`

Interest rate per period

#### $nper

`int`

Number of periods

#### $pv

`float`

Present Value

#### $fv

`float`

Future Value

#### $type

`int`

Payment type: 0 = at the end of each period, 1 = at the beginning of each period

### Returns

`float`

## PPMT

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

Static

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

### Parameters

#### $rate

`float`

Interest rate per period

#### $per

`int`

Period for which we want to find the interest

#### $nper

`int`

Number of periods

#### $pv

`float`

Present Value

#### $fv

`float`

Future Value

#### $type

`int`

Payment type: 0 = at the end of each period, 1 = at the beginning of each period

### Returns

`float`

## PRICE()

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

Static

### Parameters

#### $settlement

#### $maturity

#### $rate

#### $yield

#### $redemption

#### $frequency

#### $basis

## PRICEDISC

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

Static

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

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $discount

`int`

discount The security's discount rate.

#### $redemption

`int`

redemption The security's redemption value per $100 face value.

#### $basis

`int`

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

### Returns

`float`

## PRICEMAT

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

Static

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

### Parameters

#### $settlement

`mixed`

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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $issue

`mixed`

issue The security's issue date.

#### $rate

`int`

rate The security's interest rate at date of issue.

#### $yield

`int`

yield The security's annual yield.

#### $basis

`int`

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

### Returns

`float`

## PV

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

Static

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

### Parameters

#### $rate

`float`

Interest rate per period

#### $nper

`int`

Number of periods

#### $pmt

`float`

Periodic payment (annuity)

#### $fv

`float`

Future Value

#### $type

`int`

Payment type: 0 = at the end of each period, 1 = at the beginning of each period

### Returns

`float`

## RATE

    RATE(float $nper, float $pmt, float $pv, float $fv, integer $type, float $guess) : float

Static

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]]])

access | public
category | Financial Functions

### Parameters

#### $nper

`float`

nper The total number of payment periods in an annuity.

#### $pmt

`float`

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.

#### $pv

`float`

pv The present value - the total amount that a series of future payments is worth now.

#### $fv

`float`

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).

#### $type

`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.

#### $guess

`float`

guess Your guess for what the rate will be. If you omit guess, it is assumed to be 10 percent.

### Returns

`float`

## RECEIVED

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

Static

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

### Parameters

#### $settlement

`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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $investment

`int`

investment The amount invested in the security.

#### $discount

`int`

discount The security's discount rate.

#### $basis

`int`

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

### Returns

`float`

## SLN

    SLN(\cost $cost, \salvage $salvage, \life $life) : float

Static

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

### Returns

`float`

## SYD

    SYD(\cost $cost, \salvage $salvage, \life $life, \period $period) : float

Static

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

### Returns

`float`

## TBILLEQ

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

Static

Returns the bond-equivalent yield for a Treasury bill.

### Parameters

#### $settlement

`mixed`

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.

#### $maturity

`mixed`

maturity The Treasury bill's maturity date. The maturity date is the date when the Treasury bill expires.

#### $discount

`int`

discount The Treasury bill's discount rate.

### Returns

`float`

## TBILLPRICE

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

Static

Returns the yield for a Treasury bill.

### Parameters

#### $settlement

`mixed`

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.

#### $maturity

`mixed`

maturity The Treasury bill's maturity date. The maturity date is the date when the Treasury bill expires.

#### $discount

`int`

discount The Treasury bill's discount rate.

### Returns

`float`

## TBILLYIELD

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

Static

Returns the yield for a Treasury bill.

### Parameters

#### $settlement

`mixed`

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.

#### $maturity

`mixed`

maturity The Treasury bill's maturity date. The maturity date is the date when the Treasury bill expires.

#### $price

`int`

price The Treasury bill's price per $100 face value.

### Returns

`float`

## XIRR()

    XIRR($values, $dates, $guess)

Static

### Parameters

#### $values

#### $dates

#### $guess

## XNPV

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

Static

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

#### $rate

`float`

The discount rate to apply to the cash flows.

#### $values

`array`

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.

#### $dates

`array`

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.

### Returns

`float`

## YIELDDISC

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

Static

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

### Parameters

#### $settlement

`mixed`

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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $price

`int`

price The security's price per $100 face value.

#### $redemption

`int`

redemption The security's redemption value per $100 face value.

#### $basis

`int`

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

### Returns

`float`

## YIELDMAT

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

Static

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

### Parameters

#### $settlement

`mixed`

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.

#### $maturity

`mixed`

maturity The security's maturity date. The maturity date is the date when the security expires.

#### $issue

`mixed`

issue The security's issue date.

#### $rate

`int`

rate The security's interest rate at date of issue.

#### $price

`int`

price The security's price per $100 face value.

#### $basis

`int`

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

### Returns

`float`

## _coupFirstPeriodDate()

    _coupFirstPeriodDate($settlement, $maturity, $frequency, $next)

Static

### Parameters

#### $settlement

#### $maturity

#### $frequency

#### $next

## _daysPerYear

    _daysPerYear(integer $year, integer $basis) : integer

Static

Returns the number of days in a specified year, as defined by the "basis" value

### Parameters

#### $year

`integer`

The year against which we're testing

#### $basis

`integer`

The type of day count: 0 or omitted US (NASD) 360 1 Actual (365 or 366 in a leap year) 2 360 3 365 4 European 360

### Returns

`integer`

## _firstDayOfMonth

    _firstDayOfMonth(\DateTime $testDate) : boolean

Static

Returns a boolean TRUE/FALSE indicating if this date is the first date of the month

### Parameters

#### $testDate

`\DateTime`

The date for testing

### Returns

`boolean`

## _interestAndPrincipal()

    _interestAndPrincipal($rate, $per, $nper, $pv, $fv, $type)

Static

### Parameters

#### $rate

#### $per

#### $nper

#### $pv

#### $fv

#### $type

## _lastDayOfMonth

    _lastDayOfMonth(\DateTime $testDate) : boolean

Static

Returns a boolean TRUE/FALSE indicating if this date is the last date of the month

### Parameters

#### $testDate

`\DateTime`

The date for testing

### Returns

`boolean`

## _validFrequency()

    _validFrequency($frequency)

Static

### Parameters

#### $frequency