# Finance

## ACCRINT

ACCRINT accrued interest

### Synopsis

`ACCRINT(issue,first_interest,settlement,rate,par,frequency,basis,calc_method)`

### Arguments

issue: date of issue

first_interest: date of first interest payment

settlement: settlement date

rate: nominal annual interest rate

par: par value, defaults to \$1000

frequency: number of interest payments per year

basis: calendar basis, defaults to 0

calc_method: calculation method, defaults to TRUE

### Description

If first_interest < settlement and calc_method is TRUE, then ACCRINT returns the sum of the interest accrued in all coupon periods from issue date until settlement date.

If first_interest < settlement and calc_method is FALSE, then ACCRINT returns the sum of the interest accrued in all coupon periods from first_interest date until settlement date.

Otherwise ACCRINT returns the sum of the interest accrued in all coupon periods from issue date until settlement date.

### Note

frequency must be one of 1, 2 or 4, but the exact value does not affect the result. issue must precede both first_interest and settlement. frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## ACCRINTM

ACCRINTM accrued interest

### Synopsis

`ACCRINTM(issue,maturity,rate,par,basis)`

### Arguments

issue: date of issue

maturity: maturity date

rate: nominal annual interest rate

par: par value

basis: calendar basis

### Description

ACCRINTM calculates the accrued interest from issue to maturity.

### Note

par defaults to \$1000. If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## AMORDEGRC

AMORDEGRC depreciation of an asset using French accounting conventions

### Synopsis

`AMORDEGRC(cost,purchase_date,first_period,salvage,period,rate,basis)`

### Arguments

cost: initial cost of asset

purchase_date: date of purchase

first_period: end of first period

salvage: value after depreciation

period: subject period

rate: depreciation rate

basis: calendar basis

### Description

AMORDEGRC calculates the depreciation of an asset using French accounting conventions. Assets purchased in the middle of a period take prorated depreciation into account. This is similar to AMORLINC, except that a depreciation coefficient is applied in the calculation depending on the life of the assets.

The depreciation coefficient used is:

1.0 for an expected lifetime less than 3 years,

1.5 for an expected lifetime of at least 3 years but less than 5 years,

2.0 for an expected lifetime of at least 5 years but at most 6 years,

2.5 for an expected lifetime of more than 6 years.

### Note

Special depreciation rules are applied for the last two periods resulting in a possible total depreciation exceeding the difference of cost - salvage. Named for AMORtissement DEGRessif Comptabilite. If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## AMORLINC

AMORLINC depreciation of an asset using French accounting conventions

### Synopsis

`AMORLINC(cost,purchase_date,first_period,salvage,period,rate,basis)`

### Arguments

cost: initial cost of asset

purchase_date: date of purchase

first_period: end of first period

salvage: value after depreciation

period: subject period

rate: depreciation rate

basis: calendar basis

### Description

AMORLINC calculates the depreciation of an asset using French accounting conventions. Assets purchased in the middle of a period take prorated depreciation into account.

### Note

Named for AMORtissement LINeaire Comptabilite. If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## COUPDAYBS

COUPDAYBS number of days from coupon period to settlement

### Synopsis

`COUPDAYBS(settlement,maturity,frequency,basis,eom)`

### Arguments

settlement: settlement date

maturity: maturity date

frequency: number of interest payments per year

basis: calendar basis

eom: end-of-month flag

### Description

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

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## COUPDAYS

COUPDAYS number of days in the coupon period of the settlement date

### Synopsis

`COUPDAYS(settlement,maturity,frequency,basis,eom)`

### Arguments

settlement: settlement date

maturity: maturity date

frequency: number of interest payments per year

basis: calendar basis

eom: end-of-month flag

### Description

COUPDAYS calculates the number of days in the coupon period of the settlement date.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## COUPDAYSNC

COUPDAYSNC number of days from the settlement date to the next coupon period

### Synopsis

`COUPDAYSNC(settlement,maturity,frequency,basis,eom)`

### Arguments

settlement: settlement date

maturity: maturity date

frequency: number of interest payments per year

basis: calendar basis

eom: end-of-month flag

### Description

COUPDAYSNC calculates number of days from the settlement date to the next coupon period.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## COUPNCD

COUPNCD the next coupon date after settlement

### Synopsis

`COUPNCD(settlement,maturity,frequency,basis,eom)`

### Arguments

settlement: settlement date

maturity: maturity date

frequency: number of interest payments per year

basis: calendar basis

eom: end-of-month flag

### Description

COUPNCD calculates the coupon date following settlement.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## COUPNUM

COUPNUM number of coupons

### Synopsis

`COUPNUM(settlement,maturity,frequency,basis,eom)`

### Arguments

settlement: settlement date

maturity: maturity date

frequency: number of interest payments per year

basis: calendar basis

eom: end-of-month flag

### Description

COUPNUM calculates the number of coupons to be paid between the settlement and maturity dates, rounded up.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## COUPPCD

COUPPCD the last coupon date before settlement

### Synopsis

`COUPPCD(settlement,maturity,frequency,basis,eom)`

### Arguments

settlement: settlement date

maturity: maturity date

frequency: number of interest payments per year

basis: calendar basis

eom: end-of-month flag

### Description

COUPPCD calculates the coupon date preceding settlement.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## CUM_BIV_NORM_DIST

CUM_BIV_NORM_DIST cumulative bivariate normal distribution

### Synopsis

`CUM_BIV_NORM_DIST(a,b,rho)`

### Arguments

a: limit for first random variable

b: limit for second random variable

rho: correlation of the two random variables

### Description

CUM_BIV_NORM_DIST calculates the probability that two standard normal distributed random variables with correlation rho are respectively each less than a and b.

## CUMIPMT

CUMIPMT cumulative interest payment

### Synopsis

`CUMIPMT(rate,nper,pv,start_period,end_period,type)`

### Arguments

rate: interest rate per period

nper: number of periods

pv: present value

start_period: first period to accumulate for

end_period: last period to accumulate for

type: payment type

### Description

CUMIPMT calculates the cumulative interest paid on a loan from start_period to end_period.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

IPMT.

## CUMPRINC

CUMPRINC cumulative principal

### Synopsis

`CUMPRINC(rate,nper,pv,start_period,end_period,type)`

### Arguments

rate: interest rate per period

nper: number of periods

pv: present value

start_period: first period to accumulate for

end_period: last period to accumulate for

type: payment type

### Description

CUMPRINC calculates the cumulative principal paid on a loan from start_period to end_period.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

PPMT.

## DB

DB depreciation of an asset

### Synopsis

`DB(cost,salvage,life,period,month)`

### Arguments

cost: initial cost of asset

salvage: value after depreciation

life: number of periods

period: subject period

month: number of months in first year of depreciation

### Description

DB calculates the depreciation of an asset for a given period using the fixed-declining balance method.

DDB, SLN, SYD.

## DDB

DDB depreciation of an asset

### Synopsis

`DDB(cost,salvage,life,period,factor)`

### Arguments

cost: initial cost of asset

salvage: value after depreciation

life: number of periods

period: subject period

factor: factor at which the balance declines

### Description

DDB calculates the depreciation of an asset for a given period using the double-declining balance method.

DB, SLN, SYD.

## DISC

DISC discount rate

### Synopsis

`DISC(settlement,maturity,par,redemption,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

par: price per \$100 face value

basis: calendar basis

### Description

DISC calculates the discount rate for a security.

### Note

redemption is the redemption value per \$100 face value. If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## DOLLARDE

DOLLARDE convert to decimal dollar amount

### Synopsis

`DOLLARDE(fractional_dollar,fraction)`

### Arguments

fractional_dollar: amount to convert

fraction: denominator

### Description

DOLLARDE converts a fractional dollar amount into a decimal amount. This is the inverse of the DOLLARFR function.

## DOLLARFR

DOLLARFR convert to dollar fraction

### Synopsis

`DOLLARFR(decimal_dollar,fraction)`

### Arguments

decimal_dollar: amount to convert

fraction: denominator

### Description

DOLLARFR converts a decimal dollar amount into a fractional amount which is represented as the digits after the decimal point. For example, 2/8 would be represented as .2 while 3/16 would be represented as .03. This is the inverse of the DOLLARDE function.

## DURATION

DURATION the (Macaulay) duration of a security

### Synopsis

`DURATION(settlement,maturity,coupon,yield,frequency,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

coupon: annual coupon rate

yield: annual yield of security

frequency: number of interest payments per year

basis: calendar basis

### Description

DURATION calculates the (Macaulay) duration of a security.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## EFFECT

EFFECT effective interest rate

### Synopsis

`EFFECT(rate,nper)`

### Arguments

rate: nominal annual interest rate

nper: number of periods used for compounding

### Description

EFFECT calculates the effective interest rate using the formula (1+rate/nper)^nper-1.

## EURO

EURO equivalent of 1 EUR

### Synopsis

`EURO(currency)`

### Arguments

currency: three-letter currency code

### Description

EURO calculates the national currency amount corresponding to 1 EUR for any of the national currencies that were replaced by the Euro on its introduction.

### Note

currency must be one of ATS (Austria), BEF (Belgium), CYP (Cyprus), DEM (Germany), EEK (Estonia), ESP (Spain), EUR (Euro), FIM (Finland), FRF (France), GRD (Greece), IEP (Ireland), ITL (Italy), LUF (Luxembourg), MTL (Malta), NLG (The Netherlands), PTE (Portugal), SIT (Slovenia), or SKK (Slovakia). This function is not likely to be useful anymore.

## EUROCONVERT

EUROCONVERT pre-Euro amount from one currency to another

### Synopsis

`EUROCONVERT(n,source,target,full_precision,triangulation_precision)`

### Arguments

n: amount

source: three-letter source currency code

target: three-letter target currency code

full_precision: whether to provide the full precision; defaults to false

triangulation_precision: number of digits (at least 3) to be rounded to after conversion of the source currency to euro; defaults to no rounding

### Description

EUROCONVERT converts n units of currency source to currency target. The rates used are the official ones used on the introduction of the Euro.

### Note

If full_precision is true, the result is not rounded; if it false the result is rounded to 0 or 2 decimals depending on the target currency; defaults to false. source and target must be one of the currencies listed for the EURO function. This function is not likely to be useful anymore.

EURO.

## FV

FV future value

### Synopsis

`FV(rate,nper,pmt,pv,type)`

### Arguments

rate: effective interest rate per period

nper: number of periods

pmt: payment at each period

pv: present value

type: payment type

### Description

FV calculates the future value of pv moved nper periods into the future, assuming a periodic payment of pmt and an interest rate of rate per period.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

PV.

## FVSCHEDULE

FVSCHEDULE future value

### Synopsis

`FVSCHEDULE(principal,schedule)`

### Arguments

principal: initial value

schedule: range of interest rates

### Description

FVSCHEDULE calculates the future value of principal after applying a range of interest rates with compounding.

FV.

## G_DURATION

G_DURATION the duration of a investment

### Synopsis

`G_DURATION(rate,pv,fv)`

### Arguments

rate: effective annual interest rate

pv: present value

fv: future value

### Description

G_DURATION calculates the number of periods needed for an investment to attain a desired value.

### OpenDocument Format (ODF) Compatibility

G_DURATION is the OpenFormula function PDURATION.

## INTRATE

INTRATE interest rate

### Synopsis

`INTRATE(settlement,maturity,investment,redemption,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

investment: amount paid on settlement

basis: calendar basis

### Description

INTRATE calculates the interest of a fully vested security.

### Note

If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## IPMT

IPMT interest payment for period

### Synopsis

`IPMT(rate,per,nper,pv,fv,type)`

### Arguments

rate: effective annual interest rate

per: period number

nper: number of periods

pv: present value

fv: future value

type: payment type

### Description

IPMT calculates the interest part of an annuity's payment for period number per.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

PPMT.

## IRR

IRR internal rate of return

### Synopsis

`IRR(values,guess)`

### Arguments

values: cash flow

guess: an estimate of what the result should be

### Description

IRR calculates the internal rate of return of a cash flow with periodic payments. values lists the payments (negative values) and receipts (positive values) for each period.

### Note

The optional guess is needed because there can be more than one valid result. It defaults to 10%.

XIRR.

## ISPMT

ISPMT interest payment for period

### Synopsis

`ISPMT(rate,per,nper,pv)`

### Arguments

rate: effective annual interest rate

per: period number

nper: number of periods

pv: present value

### Description

ISPMT calculates the interest payment for period number per.

PV.

## MDURATION

MDURATION the modified (Macaulay) duration of a security

### Synopsis

`MDURATION(settlement,maturity,coupon,yield,frequency,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

coupon: annual coupon rate

yield: annual yield of security

frequency: number of interest payments per year

basis: calendar basis

### Description

MDURATION calculates the modified (Macaulay) duration of a security.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## MIRR

MIRR modified internal rate of return

### Synopsis

`MIRR(values,finance_rate,reinvest_rate)`

### Arguments

values: cash flow

finance_rate: interest rate for financing cost

reinvest_rate: interest rate for reinvestments

### Description

MIRR calculates the modified internal rate of return of a periodic cash flow.

IRR, XIRR.

## NOMINAL

NOMINAL nominal interest rate

### Synopsis

`NOMINAL(rate,nper)`

### Arguments

rate: effective annual interest rate

nper: number of periods used for compounding

### Description

NOMINAL calculates the nominal interest rate from the effective rate.

## NPER

NPER number of periods

### Synopsis

`NPER(rate,pmt,pv,fv,type)`

### Arguments

rate: effective annual interest rate

pmt: payment at each period

pv: present value

fv: future value

type: payment type

### Description

NPER calculates the number of periods of an investment based on periodic constant payments and a constant interest rate.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

PV, FV.

## NPV

NPV net present value

### Synopsis

`NPV(rate,value1,value2,…)`

### Arguments

rate: effective interest rate per period

value1: cash flow for period 1

value2: cash flow for period 2

### Description

NPV calculates the net present value of a cash flow.

PV.

## ODDFPRICE

ODDFPRICE price of a security that has an odd first period

### Synopsis

`ODDFPRICE(settlement,maturity,issue,first_interest,rate,yield,redemption,frequency,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

issue: date of issue

first_interest: first interest date

rate: nominal annual interest rate

yield: annual yield of security

frequency: number of interest payments per year

basis: calendar basis

### Description

ODDFPRICE calculates the price per \$100 face value of a security that pays periodic interest, but has an odd first period.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## ODDFYIELD

ODDFYIELD yield of a security that has an odd first period

### Synopsis

`ODDFYIELD(settlement,maturity,issue,first_interest,rate,price,redemption,frequency,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

issue: date of issue

first_interest: first interest date

rate: nominal annual interest rate

price: price of security

frequency: number of interest payments per year

basis: calendar basis

### Description

ODDFYIELD calculates the yield of a security that pays periodic interest, but has an odd first period.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## ODDLPRICE

ODDLPRICE price of a security that has an odd last period

### Synopsis

`ODDLPRICE(settlement,maturity,last_interest,rate,yield,redemption,frequency,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

last_interest: last interest date

rate: nominal annual interest rate

yield: annual yield of security

frequency: number of interest payments per year

basis: calendar basis

### Description

ODDLPRICE calculates the price per \$100 face value of a security that pays periodic interest, but has an odd last period.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## ODDLYIELD

ODDLYIELD yield of a security that has an odd last period

### Synopsis

`ODDLYIELD(settlement,maturity,last_interest,rate,price,redemption,frequency,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

last_interest: last interest date

rate: nominal annual interest rate

price: price of security

frequency: number of interest payments per year

basis: calendar basis

### Description

ODDLYIELD calculates the yield of a security that pays periodic interest, but has an odd last period.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## OPT_2_ASSET_CORRELATION

OPT_2_ASSET_CORRELATION theoretical price of options on 2 assets with correlation rho

### Synopsis

`OPT_2_ASSET_CORRELATION(call_put_flag,spot1,spot2,strike1,strike2,time,cost_of_carry1,cost_of_carry2,rate,volatility1,volatility2,rho)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot1: spot price of the underlying asset of the first option

spot2: spot price of the underlying asset of the second option

strike1: strike prices of the first option

strike2: strike prices of the second option

time: time to maturity in years

cost_of_carry1: net cost of holding the underlying asset of the first option (for common stocks, the risk free rate less the dividend yield)

cost_of_carry2: net cost of holding the underlying asset of the second option (for common stocks, the risk free rate less the dividend yield)

rate: annualized risk-free interest rate

volatility1: annualized volatility in price of the underlying asset of the first option

volatility2: annualized volatility in price of the underlying asset of the second option

rho: correlation between the two underlying assets

### Description

OPT_2_ASSET_CORRELATION models the theoretical price of options on 2 assets with correlation rho. The payoff for a call is max(spot2 - strike2,0) if spot1 > strike1 or 0 otherwise. The payoff for a put is max (strike2 - spot2, 0) if spot1 < strike1 or 0 otherwise.

## OPT_AMER_EXCHANGE

OPT_AMER_EXCHANGE theoretical price of an American option to exchange assets

### Synopsis

`OPT_AMER_EXCHANGE(spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho)`

### Arguments

spot1: spot price of asset 1

spot2: spot price of asset 2

qty1: quantity of asset 1

qty2: quantity of asset 2

time: time to maturity in years

rate: annualized risk-free interest rate

cost_of_carry1: net cost of holding asset 1 (for common stocks, the risk free rate less the dividend yield)

cost_of_carry2: net cost of holding asset 2 (for common stocks, the risk free rate less the dividend yield)

volatility1: annualized volatility in price of asset 1

volatility2: annualized volatility in price of asset 2

rho: correlation between the prices of the two assets

### Description

OPT_AMER_EXCHANGE models the theoretical price of an American option to exchange one asset with quantity qty2 and spot price spot2 for another with quantity qty1 and spot price spot1.

## OPT_BAW_AMER

OPT_BAW_AMER theoretical price of an option according to the Barone Adesie & Whaley approximation

### Synopsis

`OPT_BAW_AMER(call_put_flag,spot,strike,time,rate,cost_of_carry,volatility)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in days

rate: annualized risk-free interest rate

cost_of_carry: net cost of holding the underlying asset

volatility: annualized volatility of the asset

## OPT_BINOMIAL

OPT_BINOMIAL theoretical price of either an American or European style option using a binomial tree

### Synopsis

`OPT_BINOMIAL(amer_euro_flag,call_put_flag,num_time_steps,spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

amer_euro_flag: 'a' for an American style option or 'e' for a European style option

call_put_flag: 'c' for a call and 'p' for a put

num_time_steps: number of time steps used in the valuation

spot: spot price

strike: strike price

time: time to maturity in years

rate: annualized risk-free interest rate

volatility: annualized volatility of the asset

cost_of_carry: net cost of holding the underlying asset

### Note

A larger num_time_steps yields greater accuracy but OPT_BINOMIAL is slower to calculate.

## OPT_BJER_STENS

OPT_BJER_STENS theoretical price of American options according to the Bjerksund & Stensland approximation technique

### Synopsis

`OPT_BJER_STENS(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in days

rate: annualized risk-free interest rate

volatility: annualized volatility of the asset

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

## OPT_BS

OPT_BS price of a European option

### Synopsis

`OPT_BS(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in years

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_BS uses the Black-Scholes model to calculate the price of a European option struck at strike on an asset with spot price spot.

### Note

The returned value will be expressed in the same units as strike and spot.

## OPT_BS_CARRYCOST

OPT_BS_CARRYCOST elasticity of a European option

### Synopsis

`OPT_BS_CARRYCOST(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in years

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_BS_CARRYCOST uses the Black-Scholes model to calculate the 'elasticity' of a European option struck at strike on an asset with spot price spot. The elasticity of an option is the rate of change of its price with respect to its cost_of_carry.

### Note

Elasticity is expressed as the rate of change of the option value, per 100% volatility.

## OPT_BS_DELTA

OPT_BS_DELTA delta of a European option

### Synopsis

`OPT_BS_DELTA(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in years

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_BS_DELTA uses the Black-Scholes model to calculate the 'delta' of a European option struck at strike on an asset with spot price spot.

### Note

The returned value will be expressed in the same units as strike and spot.

## OPT_BS_GAMMA

OPT_BS_GAMMA gamma of a European option

### Synopsis

`OPT_BS_GAMMA(spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

spot: spot price

strike: strike price

time: time to maturity in years

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_BS_GAMMA uses the Black-Scholes model to calculate the 'gamma' of a European option struck at strike on an asset with spot price spot. The gamma of an option is the second derivative of its price with respect to the price of the underlying asset.

### Note

Gamma is expressed as the rate of change of delta per unit change in spot. Gamma is the same for calls and puts.

## OPT_BS_RHO

OPT_BS_RHO rho of a European option

### Synopsis

`OPT_BS_RHO(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in years

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_BS_RHO uses the Black-Scholes model to calculate the 'rho' of a European option struck at strike on an asset with spot price spot. The rho of an option is the rate of change of its price with respect to the risk free interest rate.

### Note

Rho is expressed as the rate of change of the option value, per 100% change in rate.

## OPT_BS_THETA

OPT_BS_THETA theta of a European option

### Synopsis

`OPT_BS_THETA(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in years

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_BS_THETA uses the Black-Scholes model to calculate the 'theta' of a European option struck at strike on an asset with spot price spot. The theta of an option is the rate of change of its price with respect to time to expiry.

### Note

Theta is expressed as the negative of the rate of change of the option value, per 365.25 days.

## OPT_BS_VEGA

OPT_BS_VEGA vega of a European option

### Synopsis

`OPT_BS_VEGA(spot,strike,time,rate,volatility,cost_of_carry)`

### Arguments

spot: spot price

strike: strike price

time: time to maturity in years

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_BS_VEGA uses the Black-Scholes model to calculate the 'vega' of a European option struck at strike on an asset with spot price spot. The vega of an option is the rate of change of its price with respect to volatility.

### Note

Vega is the same for calls and puts. Vega is expressed as the rate of change of option value, per 100% volatility.

## OPT_COMPLEX_CHOOSER

OPT_COMPLEX_CHOOSER theoretical price of a complex chooser option

### Synopsis

`OPT_COMPLEX_CHOOSER(spot,strike_call,strike_put,time,time_call,time_put,rate,cost_of_carry,volatility)`

### Arguments

spot: spot price

strike_call: strike price, if exercised as a call option

strike_put: strike price, if exercised as a put option

time: time in years until the holder chooses a put or a call option

time_call: time in years to maturity of the call option if chosen

time_put: time in years to maturity of the put option if chosen

rate: annualized risk-free interest rate

cost_of_carry: net cost of holding the underlying asset

volatility: annualized volatility of the asset in percent for the period through to the exercise date

## OPT_EURO_EXCHANGE

OPT_EURO_EXCHANGE theoretical price of a European option to exchange assets

### Synopsis

`OPT_EURO_EXCHANGE(spot1,spot2,qty1,qty2,time,rate,cost_of_carry1,cost_of_carry2,volatility1,volatility2,rho)`

### Arguments

spot1: spot price of asset 1

spot2: spot price of asset 2

qty1: quantity of asset 1

qty2: quantity of asset 2

time: time to maturity in years

rate: annualized risk-free interest rate

cost_of_carry1: net cost of holding asset 1 (for common stocks, the risk free rate less the dividend yield)

cost_of_carry2: net cost of holding asset 2 (for common stocks, the risk free rate less the dividend yield)

volatility1: annualized volatility in price of asset 1

volatility2: annualized volatility in price of asset 2

rho: correlation between the prices of the two assets

### Description

OPT_EURO_EXCHANGE models the theoretical price of a European option to exchange one asset with quantity qty2 and spot price spot2 for another with quantity qty1 and spot price spot1.

## OPT_EXEC

OPT_EXEC theoretical price of executive stock options

### Synopsis

`OPT_EXEC(call_put_flag,spot,strike,time,rate,volatility,cost_of_carry,lambda)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in days

rate: annualized risk-free interest rate

volatility: annualized volatility of the asset

cost_of_carry: net cost of holding the underlying asset

lambda: jump rate for executives

### Note

The model assumes executives forfeit their options if they leave the company.

## OPT_EXTENDIBLE_WRITER

OPT_EXTENDIBLE_WRITER theoretical price of extendible writer options

### Synopsis

`OPT_EXTENDIBLE_WRITER(call_put_flag,spot,strike1,strike2,time1,time2,rate,cost_of_carry,volatility)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike1: strike price at which the option is struck

strike2: strike price at which the option is re-struck if out of the money at time1

time1: initial maturity of the option in years

time2: extended maturity in years if chosen

rate: annualized risk-free interest rate

cost_of_carry: net cost of holding the underlying asset

volatility: annualized volatility of the asset

### Description

OPT_EXTENDIBLE_WRITER models the theoretical price of extendible writer options. These are options that have their maturity extended to time2 if the option is out of the money at time1.

## OPT_FIXED_STRK_LKBK

OPT_FIXED_STRK_LKBK theoretical price of a fixed-strike lookback option

### Synopsis

`OPT_FIXED_STRK_LKBK(call_put_flag,spot,spot_min,spot_max,strike,time,rate,cost_of_carry,volatility)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

spot_min: minimum spot price of the underlying asset so far observed

spot_max: maximum spot price of the underlying asset so far observed

strike: strike price

time: time to maturity in years

rate: annualized risk-free interest rate

cost_of_carry: net cost of holding the underlying asset

volatility: annualized volatility of the asset

### Description

OPT_FIXED_STRK_LKBK determines the theoretical price of a fixed-strike lookback option where the holder of the option may exercise on expiry at the most favourable price observed during the options life of the underlying asset.

## OPT_FLOAT_STRK_LKBK

OPT_FLOAT_STRK_LKBK theoretical price of floating-strike lookback option

### Synopsis

`OPT_FLOAT_STRK_LKBK(call_put_flag,spot,spot_min,spot_max,time,rate,cost_of_carry,volatility)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

spot_min: minimum spot price of the underlying asset so far observed

spot_max: maximum spot price of the underlying asset so far observed

time: time to maturity in years

rate: annualized risk-free interest rate

cost_of_carry: net cost of holding the underlying asset

volatility: annualized volatility of the asset

### Description

OPT_FLOAT_STRK_LKBK determines the theoretical price of a floating-strike lookback option where the holder of the option may exercise on expiry at the most favourable price observed during the options life of the underlying asset.

## OPT_FORWARD_START

OPT_FORWARD_START theoretical price of forward start options

### Synopsis

`OPT_FORWARD_START(call_put_flag,spot,alpha,time_start,time,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

alpha: fraction setting the strike price at the future date time_start

time_start: time until the option starts in days

time: time to maturity in days

rate: annualized risk-free interest rate

volatility: annualized volatility of the asset

cost_of_carry: net cost of holding the underlying asset

## OPT_FRENCH

OPT_FRENCH theoretical price of a European option adjusted for trading day volatility

### Synopsis

`OPT_FRENCH(call_put_flag,spot,strike,time,ttime,rate,volatility,cost_of_carry)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: ratio of the number of calendar days to exercise and the number of calendar days in the year

ttime: ratio of the number of trading days to exercise and the number of trading days in the year

rate: risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

cost_of_carry: net cost of holding the underlying asset (for common stocks, the risk free rate less the dividend yield), defaults to 0

### Description

OPT_FRENCH values the theoretical price of a European option adjusted for trading day volatility, struck at strike on an asset with spot price spot.

## OPT_GARMAN_KOHLHAGEN

OPT_GARMAN_KOHLHAGEN theoretical price of a European currency option

### Synopsis

`OPT_GARMAN_KOHLHAGEN(call_put_flag,spot,strike,time,domestic_rate,foreign_rate,volatility)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: number of days to exercise

domestic_rate: domestic risk-free interest rate to the exercise date in percent

foreign_rate: foreign risk-free interest rate to the exercise date in percent

volatility: annualized volatility of the asset in percent for the period through to the exercise date

### Description

OPT_GARMAN_KOHLHAGEN values the theoretical price of a European currency option struck at strike on an asset with spot price spot.

## OPT_JUMP_DIFF

OPT_JUMP_DIFF theoretical price of an option according to the Jump Diffusion process

### Synopsis

`OPT_JUMP_DIFF(call_put_flag,spot,strike,time,rate,volatility,lambda,gamma)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time: time to maturity in years

rate: the annualized rate of interest

volatility: annualized volatility of the asset in percent for the period through to the exercise date

lambda: expected number of 'jumps' per year

gamma: proportion of volatility explained by the 'jumps'

### Description

OPT_JUMP_DIFF models the theoretical price of an option according to the Jump Diffusion process (Merton).

## OPT_MILTERSEN_SCHWARTZ

OPT_MILTERSEN_SCHWARTZ theoretical price of options on commodities futures according to Miltersen & Schwartz

### Synopsis

`OPT_MILTERSEN_SCHWARTZ(call_put_flag,p_t,f_t,strike,t1,t2,v_s,v_e,v_f,rho_se,rho_sf,rho_ef,kappa_e,kappa_f)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

p_t: zero coupon bond with expiry at option maturity

f_t: futures price

strike: strike price

t1: time to maturity of the option

t2: time to maturity of the underlying commodity futures contract

v_s: volatility of the spot commodity price

v_e: volatility of the future convenience yield

v_f: volatility of the forward rate of interest

rho_se: correlation between the spot commodity price and the convenience yield

rho_sf: correlation between the spot commodity price and the forward interest rate

rho_ef: correlation between the forward interest rate and the convenience yield

kappa_e: speed of mean reversion of the convenience yield

kappa_f: speed of mean reversion of the forward interest rate

## OPT_ON_OPTIONS

OPT_ON_OPTIONS theoretical price of options on options

### Synopsis

`OPT_ON_OPTIONS(type_flag,spot,strike1,strike2,time1,time2,rate,cost_of_carry,volatility)`

### Arguments

type_flag: 'cc' for calls on calls, 'cp' for calls on puts, and so on for 'pc', and 'pp'

spot: spot price

strike1: strike price at which the option being valued is struck

strike2: strike price at which the underlying option is struck

time1: time in years to maturity of the option

time2: time in years to the maturity of the underlying option

rate: annualized risk-free interest rate

cost_of_carry: net cost of holding the underlying asset of the underlying option

volatility: annualized volatility in price of the underlying asset of the underlying option

### Note

For common stocks, cost_of_carry is the risk free rate less the dividend yield. time2time1

## OPT_RGW

OPT_RGW theoretical price of an American option according to the Roll-Geske-Whaley approximation

### Synopsis

`OPT_RGW(spot,strike,time_payout,time_exp,rate,d,volatility)`

### Arguments

spot: spot price

strike: strike price

time_payout: time to dividend payout

time_exp: time to expiration

rate: annualized interest rate

d: amount of the dividend to be paid expressed in currency

volatility: annualized volatility of the asset in percent for the period through to the exercise date

## OPT_SIMPLE_CHOOSER

OPT_SIMPLE_CHOOSER theoretical price of a simple chooser option

### Synopsis

`OPT_SIMPLE_CHOOSER(call_put_flag,spot,strike,time1,time2,cost_of_carry,volatility)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

time1: time in years until the holder chooses a put or a call option

time2: time in years until the chosen option expires

cost_of_carry: net cost of holding the underlying asset

volatility: annualized volatility of the asset

OPT_SPREAD_APPROX theoretical price of a European option on the spread between two futures contracts

### Synopsis

`OPT_SPREAD_APPROX(call_put_flag,fut_price1,fut_price2,strike,time,rate,volatility1,volatility2,rho)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

fut_price1: price of the first futures contract

fut_price2: price of the second futures contract

strike: strike price

time: time to maturity in years

rate: annualized risk-free interest rate

volatility1: annualized volatility in price of the first underlying futures contract

volatility2: annualized volatility in price of the second underlying futures contract

rho: correlation between the two futures contracts

## OPT_TIME_SWITCH

OPT_TIME_SWITCH theoretical price of time switch options

### Synopsis

`OPT_TIME_SWITCH(call_put_flag,spot,strike,a,time,m,dt,rate,cost_of_carry,volatility)`

### Arguments

call_put_flag: 'c' for a call and 'p' for a put

spot: spot price

strike: strike price

a: amount received for each time period

time: time to maturity in years

m: number of time units the option has already met the condition

dt: agreed upon discrete time period expressed as a fraction of a year

rate: annualized risk-free interest rate

cost_of_carry: net cost of holding the underlying asset

volatility: annualized volatility of the asset

### Description

OPT_TIME_SWITCH models the theoretical price of time switch options. (Pechtl 1995). The holder receives a * dt for each period that the asset price was greater than strike (for a call) or below it (for a put).

## PMT

PMT payment for annuity

### Synopsis

`PMT(rate,nper,pv,fv,type)`

### Arguments

rate: effective annual interest rate

nper: number of periods

pv: present value

fv: future value

type: payment type

### Description

PMT calculates the payment amount for an annuity.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

PV, FV, RATE, ISPMT.

## PPMT

PPMT interest payment for period

### Synopsis

`PPMT(rate,per,nper,pv,fv,type)`

### Arguments

rate: effective annual interest rate

per: period number

nper: number of periods

pv: present value

fv: future value

type: payment type

### Description

PPMT calculates the principal part of an annuity's payment for period number per.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

IPMT.

## PRICE

PRICE price of a security

### Synopsis

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

### Arguments

settlement: settlement date

maturity: maturity date

rate: nominal annual interest rate

yield: annual yield of security

frequency: number of interest payments per year

basis: calendar basis

### Description

PRICE calculates the price per \$100 face value of a security that pays periodic interest.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## PRICEDISC

PRICEDISC discounted price

### Synopsis

`PRICEDISC(settlement,maturity,discount,redemption,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

discount: annual rate at which to discount

basis: calendar basis

### Description

PRICEDISC calculates the price per \$100 face value of a bond that does not pay interest at maturity.

### Note

If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## PRICEMAT

PRICEMAT price at maturity

### Synopsis

`PRICEMAT(settlement,maturity,issue,discount,yield,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

issue: date of issue

discount: annual rate at which to discount

yield: annual yield of security

basis: calendar basis

### Description

PRICEMAT calculates the price per \$100 face value of a bond that pays interest at maturity.

### Note

If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## PV

PV present value

### Synopsis

`PV(rate,nper,pmt,fv,type)`

### Arguments

rate: effective interest rate per period

nper: number of periods

pmt: payment at each period

fv: future value

type: payment type

### Description

PV calculates the present value of fv which is nper periods into the future, assuming a periodic payment of pmt and an interest rate of rate per period.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

FV.

## RATE

RATE rate of investment

### Synopsis

`RATE(nper,pmt,pv,fv,type,guess)`

### Arguments

nper: number of periods

pmt: payment at each period

pv: present value

fv: future value

type: payment type

guess: an estimate of what the result should be

### Description

RATE calculates the rate of return.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period. The optional guess is needed because there can be more than one valid result. It defaults to 10%.

PV, FV.

### Synopsis

`RECEIVED(settlement,maturity,investment,rate,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

investment: amount paid on settlement

rate: nominal annual interest rate

basis: calendar basis

### Note

If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## RRI

RRI equivalent interest rate for an investment increasing in value

### Synopsis

`RRI(p,pv,fv)`

### Arguments

p: number of periods

pv: present value

fv: future value

### Description

RRI determines an equivalent interest rate for an investment that increases in value. The interest is compounded after each complete period.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period. Note that p need not be an integer but for fractional value the calculated rate is only approximate.

### OpenDocument Format (ODF) Compatibility

This function is OpenFormula compatible.

PV, FV, RATE.

## SLN

SLN depreciation of an asset

### Synopsis

`SLN(cost,salvage,life)`

### Arguments

cost: initial cost of asset

salvage: value after depreciation

life: number of periods

### Description

SLN calculates the depreciation of an asset using the straight-line method.

DB, DDB, SYD.

## SYD

SYD sum-of-years depreciation

### Synopsis

`SYD(cost,salvage,life,period)`

### Arguments

cost: initial cost of asset

salvage: value after depreciation

life: number of periods

period: subject period

### Description

SYD calculates the depreciation of an asset using the sum-of-years method.

DB, DDB, SLN.

## TBILLEQ

TBILLEQ bond-equivalent yield for a treasury bill

### Synopsis

`TBILLEQ(settlement,maturity,discount)`

### Arguments

settlement: settlement date

maturity: maturity date

discount: annual rate at which to discount

### Description

TBILLEQ calculates the bond-equivalent yield for a treasury bill.

## TBILLPRICE

TBILLPRICE price of a treasury bill

### Synopsis

`TBILLPRICE(settlement,maturity,discount)`

### Arguments

settlement: settlement date

maturity: maturity date

discount: annual rate at which to discount

### Description

TBILLPRICE calculates the price per \$100 face value for a treasury bill.

## TBILLYIELD

TBILLYIELD yield of a treasury bill

### Synopsis

`TBILLYIELD(settlement,maturity,price)`

### Arguments

settlement: settlement date

maturity: maturity date

price: price

### Description

TBILLYIELD calculates the yield of a treasury bill.

## VDB

VDB depreciation of an asset

### Synopsis

`VDB(cost,salvage,life,start_period,end_period,factor,no_switch)`

### Arguments

cost: initial cost of asset

salvage: value after depreciation

life: number of periods

start_period: first period to accumulate for

end_period: last period to accumulate for

factor: factor at which the balance declines

no_switch: do not switch to straight-line depreciation

### Description

VDB calculates the depreciation of an asset for a given period range using the variable-rate declining balance method.

### Note

If no_switch is FALSE, the calculation switches to straight-line depreciation when depreciation is greater than the declining balance calculation.

DB, DDB.

## XIRR

XIRR internal rate of return

### Synopsis

`XIRR(values,dates,guess)`

### Arguments

values: cash flow

dates: dates of cash flow

guess: an estimate of what the result should be

### Description

XIRR calculates the annualized internal rate of return of a cash flow at arbitrary points in time. values lists the payments (negative values) and receipts (positive values) with one value for each entry in dates.

### Note

The optional guess is needed because there can be more than one valid result. It defaults to 10%.

IRR.

## XNPV

XNPV net present value

### Synopsis

`XNPV(rate,values,dates)`

### Arguments

rate: effective annual interest rate

values: cash flow

dates: dates of cash flow

### Description

XNPV calculates the net present value of a cash flow at irregular times.

### Note

If type is 0, the default, payment is at the end of each period. If type is 1, payment is at the beginning of each period.

NPV.

## YIELD

YIELD yield of a security

### Synopsis

`YIELD(settlement,maturity,rate,price,redemption,frequency,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

rate: nominal annual interest rate

price: price of security

frequency: number of interest payments per year

basis: calendar basis

### Description

YIELD calculates the yield of a security that pays periodic interest.

### Note

frequency may be 1 (annual), 2 (semi-annual), or 4 (quarterly). If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## YIELDDISC

YIELDDISC yield of a discounted security

### Synopsis

`YIELDDISC(settlement,maturity,price,redemption,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

price: price of security

basis: calendar basis

### Description

YIELDDISC calculates the yield of a discounted security.

### Note

If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.

## YIELDMAT

YIELDMAT yield of a security

### Synopsis

`YIELDMAT(settlement,maturity,issue,rate,price,basis)`

### Arguments

settlement: settlement date

maturity: maturity date

issue: date of issue

rate: nominal annual interest rate

price: price of security

basis: calendar basis

### Description

YIELDMAT calculates the yield of a security for which the interest is paid at maturity date.

### Note

If basis is 0, then the US 30/360 method is used. If basis is 1, then actual number of days is used. If basis is 2, then actual number of days is used within a month, but years are considered only 360 days. If basis is 3, then actual number of days is used within a month, but years are always considered 365 days. If basis is 4, then the European 30/360 method is used.