tzeg6@T+ f,c>o⌻wRW/ ‹KgMzPny\F7nXoāKJg EB? Cez>^^$/fЁ1. ?c6ir;*{4N;@a-ɉ53j`?<:A0׶,)ՈGsB =- lN i|E2ZyCFaj^{X1Kg*cxP:gXy&Y}5 UCL dV\ |>Q0!|+703B |> ^6_P لwlӂU{Jx .]kBAĄ =>g.b6y+`j/z0zoZ%cC˒桍ŽuZթUɣ_j1m<p u޻ݟ8u}V/A|#4/]];OǛ)̙oDY#|qEE`ޜqOnGǑ́ր@[^]\8UJUA^b ٠=)l9Tg1 Ϲ }1#湕!7nF!`g\ +5Hd`;R0ƭYD,\; ?|:}.dj%9x\/A|#4/]];OǛ)̙uGOGٙ'H1EE9~j%R/A|#4/]];OǛ)̙E~kJ!͖ǘg=ݍ@H1 Y/ʟ(9h\І+2F{GNf $ؗe4pX'$9`FsL%ws)~;Qc01>Sgc?yx?h#/|Z]b"{aPdMv?_6׶p[|h7̥ =KN%բzɈGa8ƒKk'@wl)mļ%OFl@IV$ŵ"YE=if tnCҸ9ᗽU~FPO8Ș3>EX<?$U?4;%) &$$ꇇs m<ϛw-0a>NZFFIpޗOVJ;oB% $-=2dNiHG}/xQ瑄&XL׎g:tٛ_l4@ < 団=kvKˬGǏ+5oU$9O|@B $+`+VQS 8vupuE\S|7ӊqveӲxAp x!O mK RX o|i[6E5u=F9)ͺ.'+#ySR+hTۆꭞ/6@fMMt 8N_QFͦIm-$T>'=0%VA5BUL<"ߡñ/TT7c{b[#~ԟ;kl%n;4v/puM{6S@NX(dOCGsU5 Zz;괒}a Uܝ\8 "ڋ1xa6@9FxGU=r~ ضpԬ<;Rrt?ejtvUVļhTm>h..6ia^i8,. d]%^m }eAʥAr(@UYD0ڴje@e8o9#ZGR 389b.%TJ%ScV$>.Uͧ'үxak=XpSxtk׍* ` uxo~H6~贺 ߢ Y*jE?ޝ?*$;UdMߖRQMG\s'e m͏SuEJnb{,@\QsQQݶpeho>Zk-GȡV1P! vp#ZP왲;X7W៼[x?J_?rͷLX 'uUavyճ- yT2(! 7w2r~G QɐXL4,ҽ٨F?B/k!e I_roJR/M#j(6@9FxGU=r~ ]F)kTexnJЎ\现8 Ud\;Jm#+5e.c3B[cyK\U{ow9Nا1 u1hD]d_Czh?:wZ\BA19[?xNr[ޠr5hq_c?Z~YðЪh^ 3QM0Jxv%|qoX9H)t 8N_QFͦIm-$T>'=0%VA5BUL<"ߡñ/TT7c{b[#~ԟ]EXʜ]${F,nDw/¾bVs, JAMA For an m-by-n matrix A with m >= n, the singular value decomposition is an m-by-n orthogonal matrix U, an n-by-n diagonal matrix S, and an n-by-n orthogonal matrix V so that A = U*S*V'
  •  JAMA Pythagorean Theorem: a = 3 b = 4 r = sqrt(square(a) + square(b)) r = 5 r = sqrt(a^2 + b^2) without under/overflow
  •  PHPExcel
  • PHPExcel_Calculation_Financial

    category PHPExcel
    package PHPExcel_Calculation
    copyright Copyright (c) 2006 - 2014 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

    mixedExcel 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

    mixedExcel 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