0% found this document useful (0 votes)
93 views54 pages

DG300 Functions

This document describes functions for calculating bond and swap prices and yields from yield curves, as well as constructing yield curves from market data. It includes discount bond, coupon bond, forward rate, swap and zero curve construction functions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLS, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
93 views54 pages

DG300 Functions

This document describes functions for calculating bond and swap prices and yields from yield curves, as well as constructing yield curves from market data. It includes discount bond, coupon bond, forward rate, swap and zero curve construction functions.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as XLS, PDF, TXT or read online on Scribd
You are on page 1/ 54

DerivaGem - Version 3.

00
For Excel 2000 and more recent versions of Excel

This is the Applications Builder Software that has been designed to


accompany John Hull's book:

"Options, Futures and Other Derivatives" 9/E


Note: You should familiarize yourself with the Options Calculator Software in DG300.xls
before using this software

Important: Do not forget to enable Macros. If you are using Office 2007 you will have to
click on the Options button and choose "Enable this content"

© A-J Financial Systems, Inc., 2013


3.00

en designed to

tives" 9/E
ware in DG300.xls

07 you will have to


ent"
Discount bond functions

Function 1: DiscountBondPricefromYield(Life, yield)


Calculates the price per dollar of a discount bond from its yield.
Term
Arguments:
6.0%
Life 0.25 Life of the bond in years. Life <= 1 year.
Yield 0.05 Bond yield (decimal) 5.5%

5.0%
Example: #VALUE!
4.5%

4.0%
Function 2: DiscountBondYieldFromPrice(Life, Price) 3.5%
Calculates the yield of a discount bond from its price per dollar.
3.0%
Arguments:
Life 0.25 Life of the bond in years. Life <= 1 year. 2.5%
Price 0.98 Bond price per dollar of principal.
2.0%
0 1 2 3 4
Example: #VALUE!

Function 3: DiscountBondPricefromZeros(Life, Zeros)


Calculates the price per dollar of a discount bond from a term structure of continuously compounded interest rates.
Arguments:
Life 1.5 Life of the bond in years. Life may be greater than 1 year.
Zeros Array containing continuously compounded zero curve: Maturities in the first column and zero rates in

Example: #VALUE!

Function 4: DiscountYieldfromZeros(Life, Zeros)


Calculates the yield to maturity of a discount bond from a term structure of continuously compounded interest rates.
Arguments:
Life 0.75 Life of the bond in years. Life <= 1 year.
Zeros Array containing continuously compounded zero curve: Maturities in the first column and zero rates in

Example: #VALUE!

Coupon bearing bond functions

Function 5: BondPriceFromYield(Life, Coupon, Principal, Freq, Yield, IsClean, Result)


Calculates the price of an existing coupon bearing bond from its yield to maturity
Arguments:
Life 7.3 7.3 Life of the bond in years from today.
Coupon 0.06 0.06 Coupon (rate per year)
Principal 100 100 Bond principal
Freq 2 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
Yield 0.05 0.05 Bond yield to maturity
IsClean 1 0 If TRUE result is the clean (quoted) price; if FALSE result is dirty (cash) price = PV of paymen
Result 0 0 0=Price, 1=Delta, 2=Gamma

Example: #VALUE! #VALUE!

Function 6: BondYieldFromPrice(Life, Coupon, Freq, IsClean, Price)


Calculates the yield to maturity of an existing coupon bearing bond from its price.
Arguments:
Life 7.3 7.3 Life of the bond in years from today.
Coupon 0.06 0.06 Coupon (rate per year)
Freq 2 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
IsClean 1 0 If TRUE the input price is the clean (quoted) price; if FALSE it is the dirty (cash) price.
Price 105.5 106.7 Price per $100 of principal

Example: #VALUE! #VALUE!

Function 7: BondPriceFromZeros(Life, Coupon, Principal, Freq, Zeros, IsClean, Result)


Calculates the price of an existing coupon bearing bond from a term structure of continuously compounded interest rates.
Arguments:
Life 7.3 7.3 Life of the bond in years from today.
Coupon 0.06 0.06 Coupon (rate per year)
Principal 100 100 Bond principal
Freq 2 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
Zeros Array containing continuously compounded zero curve: Maturities in the first column and z
IsClean 1 0 If TRUE result is the clean (quoted) price; if FALSE result is dirty (cash) price = PV of paymen
Result 0 0 0=Price, 1=DV01, 2=Gamma01

Example: #VALUE! #VALUE!

Function 8: BondYieldFromZeros(Life, Coupon, Freq, Zeros)


Calculates the yield to maturity of an existing coupon bearing bond from a term structure of continuously compounded inte
Arguments:
Life 7.3 Life of the bond in years from today.
Coupon 0.06 Coupon (rate per year)
Freq 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
Zeros Array containing continuously compounded zero curve: Maturities in the first column and zero rates in

Example: #VALUE!
Function 9: BondAccrual(Life, Coupon, Principal, Freq, T)
Calculates the amount of coupon accrued between the last payment date before T and time T.
BondAccrual = dirty price at T less clean price at T.
Arguments:
Life 7.3 Life of the bond in years from today.
Coupon 0.06 Coupon (rate per year)
Principal 100 Bond principal
Freq 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
T 0 Time at which accrual is calculated.

Example: #VALUE!

Forward rate functions

Function 10: ForwardRate(Start, Life, Zeros)


Calculates the forward rate that applies from Start to Start+Life corresponding to a term structure of interest rates.
The forward rate is quoted with compounding frequency = 1 / Life.
Arguments:
Start 7.3 Time in years until period start.
Life 0.25 Life of rate <= 1 year
Zeros Array containing continuously compounded zero curve: Maturities in the first column and zero rates in

Example: #VALUE!

Function 11: FRA_Value(Start, Life, Rate, Zeros)


Calculates the present value per dollar of notional of an FRA that applies from Start to Start+Life
In which we receive Rate on a notional of $1.
Arguments:
Start 7.3 Time in years until FRA start.
Life 0.25 Life of rate <= 1 year
Rate 0.05 The rate we have contracted to receive in the FRA
Zeros Array containing continuously compounded zero curve: Maturities in the first column and zero rates in

Example: #VALUE!

Swap functions

Function 12: SwapPrice(Starts, Life, SwapRate, Notional, Freq, Zeros, Result)


Calculates the value of a swap in which we receive SwapRate for Life years starting in Start years.
Arguments:
Start -0.25 7.3 7.3 Time in years until swap start.
Life 5 5 5 Life of swap in years
SwapRate 5.00% 5.00% 5.00% Fixed swap rate which we receive.
Notional 100 100 100 Swap notional
Freq 2 2 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
IsPayFixed 0 0 0 Are we paying fixed or floating
Last Reset 4.00% 0.00% 0.00%
Zeros Array containing continuously compounded zero curve: Maturities in the first co
Result 0 1 2 0=Price, 1=DV01, 2=Gamma01

Example: #VALUE! #VALUE! #VALUE!

Function 13: SwapRate(Starts, Life, Freq, Zeros)


Calculates the breakeven swap rate for a Life-year swap starting in Start years.
Arguments:
Start 1 Time in years until swap start.
Life 5 Life of swap in years
Freq 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
Zeros Array containing continuously compounded zero curve: Maturities in the first column and zero rates in

Example: #VALUE!

Zero Curve Construction from Market Rates

Function 14: LIBORZeroCurve(MarketData)


An array function that creates a continuously compounded zero curve consistent with a panel of market data
Arguments:
MarketData Array containing the market data. See below

LIBOR MarketData definition:


Type
Column 1 2 3 4
Deposit 0 Life Yield
Swap 1 Life SwapRate Freq

Sample MarketData:
0 0.25 3.00% Deposit
0 0.5 3.50% Deposit The input data does not have to be in any particular
order. It is sorted in increasing maturity by the
0 0.75 4.00% Deposit calculator.
1 1 4.25% 2 Swap
1 2 4.50% 2 Swap If two items have the same maturity, one of them is
ignored.

Input data that contains an error (e.g., negative


maturity or rate, frequency other 1, 2, 4 or 12, etc.) i
ignored.
The input data does not have to be in any particular
order. It is sorted in increasing maturity by the
calculator.
If two items have the same maturity, one of them is
ignored.
1 3 4.65% 2 Swap
1 4 4.75% 2 Swap Input data that contains an error (e.g., negative
1 5 4.85% 2 Swap maturity or rate, frequency other 1, 2, 4 or 12, etc.) i
ignored.
1 7 4.85% 2 Swap
1 10 4.80% 2 Swap
1 15 4.70% 2 Swap
1 20 4.60% 2 Swap
1 30 4.50% 2 Swap

Example: #VALUE! #VALUE! The zero curve is an array function. It returns 2 columns and n rows
of results.
#VALUE! #VALUE!
#VALUE! #VALUE! To insert an array function select (highlight) a range. In this example
#VALUE! #VALUE! the range is 2 columns and 15 rows. Type in the function
("=(ZeroCurve(B179:F193)") and then type Ctrl-Alt-Enter (all at the
#VALUE! #VALUE! same time).
#VALUE! #VALUE!
#VALUE! #VALUE! If you select a range that is too big it shows #N/A in the surplus cells.
If you select a range that is too small you only see part of the results.
#VALUE! #VALUE!
#VALUE! #VALUE! To edit an array function you must select the entire array (in this
case 2 columns and 15 rows) edit the function and type Ctrl-Alt-
#VALUE! #VALUE! Enter .
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!

OIS Discounting

Function 15: OISZeroCurve(OISSwapRates)


Create a zero curve from OIS swap rates
Arguments:
MarketData Array containing the OIS swap data. See below
Maturities <1 are assumed to be payment at maturity only

OIS MarketData definition:


Type
Column 1 2 3
Swap Life SwapRate Freq

Sample MarketData:
0.25 3.00% 2
0.5 3.20% 2
0.75 3.30% 2
1 3.40% 2
2 3.50% 2
3 3.60% 2
4 3.65% 2
5 3.70% 2
7 3.80% 2
10 3.90% 2
15 3.95% 2
20 4.00% 2
30 4.10% 2

Example: #VALUE! #VALUE!


#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!

Function 16: LIBORgivenOISDiscounting(LIBORMarketData, OISSwapRates)


An array function that creates a continuously compounded zero curve consistent with a panel of market data
Arguments:
MarketData Array containing the market data. See below

LIBOR MarketData definition:


Type
Column 1 2 3 4
Deposit 0 Life Yield
Swap 1 Life SwapRate Freq
LIBOR MarketData: OIS Swap Rates:
0 0.25 3.00% Deposit 0.25 3.00%
0 0.5 3.50% Deposit 0.5 3.20%
0 0.75 4.00% Deposit 0.75 3.30%
1 1 4.25% 2 Swap 1 3.40%
1 2 4.50% 2 Swap 2 3.50%
1 3 4.65% 2 Swap 3 3.60%
1 4 4.75% 2 Swap 4 3.65%
1 5 4.85% 2 Swap 5 3.70%
1 7 4.85% 2 Swap 7 3.80%
1 10 4.80% 2 Swap 10 3.90%
1 15 4.70% 2 Swap 15 3.95%
1 20 4.60% 2 Swap 20 4.00%
1 30 4.50% 2 Swap 30 4.10%

LIBOR Curve
Example: #VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!
#VALUE! #VALUE!

Function 17: OISSwapPrice(Starts, Life, SwapRate, Notional, Freq, OIS, LIBOR, Result)
Calculates the value of a swap in which we receive SwapRate for Life years starting in Start years.
Arguments:
Start 0 7.3 7.3 Time in years until swap start.
Life 5 5 5 Life of swap in years
SwapRate 5.00% 5.00% 5.00% Fixed swap rate which we receive.
Notional 100 100 100 Swap notional
Freq 1 2 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
Last Reset 0.00% 4.00% 4.00%
OIS Discount curve
LIBOR Curve used to calculate forward rates
Result 0 1 2 0=Price, 1=DV01, 2=Gamma01

Example: #VALUE! #VALUE! #VALUE!

Function 18: OISSwapRate(Starts, Life, Freq, OIS, LIBOR)


Calculates the breakeven swap rate for a Life-year swap starting in Start years.
Arguments:
Start 0 Time in years until swap start.
Life 5 Life of swap in years
Freq 2 Frequency of payments on bond per year (=12, 4, 2, or 1)
OIS Discount curve
LIBOR Curve used to calculate forward rates

Example: #VALUE!
Term Structure

1 2 3 4 5 6 7 8 9 10

Term Structure
pounded interest rates. 0 3.000%
The term structure is a 2 by n array. The first
0.5 3.353% column contains the rate maturity and the second
1 3.664% column the continuously compounded rate.
he first column and zero rates in second column 1.5 3.938%
The number of rows in the array, n, can be as
2 4.180% small as 1 or as large as you like.
2.5 4.394%
3 4.583%
4 4.900%
5 5.100%
mpounded interest rates. 7 5.400%
10 5.754%

he first column and zero rates in second column


irty (cash) price = PV of payments

t is the dirty (cash) price.

y compounded interest rates.

turities in the first column and zero rates in second column


irty (cash) price = PV of payments

continuously compounded interest rates.

he first column and zero rates in second column


Zero
cture of interest rates. 0 3.00%
0.5 3.35%
1 3.66%
1.5 3.94%
2 4.18%
he first column and zero rates in second column 2.5 4.39%
3 4.58%
4 4.90%
5 5.13%
6 5.30%
7 5.44%
8 5.54%
9 5.63%
10 5.71%

he first column and zero rates in second column

LIBOR Zeroes
0 3.150%
0.5 3.503%
1 3.814%
1.5 4.088%
2 4.330%
2.5 4.544%
3 4.733%
4 5.050%
5 5.280%
6 5.450%
o curve: Maturities in the first column and zero rates in 7 5.585%
8 5.690%
9 5.780%
10 5.855%

he first column and zero rates in second column

el of market data

not have to be in any particular


ncreasing maturity by the

same maturity, one of them is

ains an error (e.g., negative


quency other 1, 2, 4 or 12, etc.) is
not have to be in any particular
ncreasing maturity by the

same maturity, one of them is

ains an error (e.g., negative


quency other 1, 2, 4 or 12, etc.) is

nd n rows

is example

(all at the

urplus cells.
the results.

(in this
trl-Alt-
el of market data
2
2
2
2
2
2
2
2
2
2
2
2
2

OIS Zeros LIBOR Zeros


1 0.005 1 0.01
2 0.015 2 0.02
3 0.025 3 0.03
4 0.035 4 0.04
5 0.045 5 0.05
array. The first
urity and the second
pounded rate.

ay, n, can be as
e.
Function 19: Black_Scholes(S, K, r, q, vol, T, IsCall, IsFut, Divs, Result)
Carries out Black-Scholes calculations for European options on stocks, stock indices, currencies and futures
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
IsFut 0 TRUE if futures option, FALSE otherwise
Divs Array containing time to dividend payment and size of dividend payment in cols 1 and 2. (Leave blank if
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE! Continuous Dividends Dividends


#VALUE! Discrete Dividends 0.5 1
0.75 1

Function 20: TreeEquityOpt(S, K, r, q, vol, T, IsCall, IsFut, Divs, IsAmerican, nSteps, Result)
Carries out binomial tree calculations for European or American options on stocks, stock indices, currencies, and futures
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
IsFut 0 TRUE if futures option, FALSE otherwise
Divs Array containing time to dividend payment and size of dividend payment in cols 1 and 2. (Leave blank if
IsAmerican 0 TRUE if American option, FALSE if European option
nSteps 25 Number of time steps on tree
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE! Continuous Dividends


#VALUE! Discrete Dividends
ons (Enter 0 if this parameter not applicable)

ols 1 and 2. (Leave blank if not applicable)

currencies, and futures

ons (Enter 0 if this parameter not applicable)

ols 1 and 2. (Leave blank if not applicable)


Function 21: BinaryOption(S, K, r, q, vol, T, IsCall, IsFut, Divs, IsCash, Result)
Carries out calculations for binary options on stocks, stock indices,currencies and futures
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
IsFut 0 TRUE if futures option, FALSE otherwise
Divs Array containing time to dividend payment and size of dividend payment in cols 1 and 2. (Leave blank if
IsCash 1 TRUE if Cash or Nothing, FALSE if Asset or Nothing
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE! Continuous Dividends Dividends


#VALUE! Discrete Dividends 0.5 1
0.75 1

Function 22: BarrierOption(S, K, r, q, vol, T, IsCall, IsFut, H, IsUp, IsIn, Result)


Carries out calculations for barrier options on non-dividend-paying stocks, stock indices, currencies and futures
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
IsFut 0 TRUE if futures option, FALSE otherwise
H 60 Barrier
IsUp 1 TRUE if Up option; FALSE if Down option
IsIn 0 TRUE if In option; FALSE if Out option
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE!

Function 23: AverageOption(S, K, r, q, vol, T, IsCall, IsFut, CurrAve, TimeSoFar, Result)


Carries out calculations for Asian options on non-dividend-paying stocks, stock indices, currencies and futures
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
IsFut 0 TRUE if futures option, FALSE otherwise
CurrAve 50 Current Average (irrelevant if a new instrument)
TimeSoFar 0 Time since beginning of averaging in years (zero for a new instrument)
Result 3 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE!

Function 24: ChooserOption(S, K, r, q, vol, T, IsFut, TimeToChoice, Result)


Carries out calculations for chooser options on non-dividend-paying stocks, stock indices,currencies and futures
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T 1 Time to maturity (yrs)
IsFut 0 TRUE if futures option, FALSE otherwise
eToChoice 0.35 Time until choice between call and put has to be made
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE!

Function 25: CompoundOption(S, K1, r, q, vol, T1, IsCall, IsFut, K2, T2, IsOptionOnCall, Result)
Carries out calculations for compound options on non-dividend-paying stocks, stock indices,currencies and futures
Arguments:
S 50 Asset Price
K1 5 First Strike Price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T1 0.35 Time to first exercise
IsCall 1 True if first option a call, FALSE if first option a put
IsFut 0 TRUE if futures option, FALSE otherwise
K2 50 Second strike price
T2 1 Time to second exercise
tionOnCall 1 TRUE if second option is a call, FALSE if second option is a put
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE!
Function 26: LookbackOption(S, r, q, vol, T, IsCall, IsFut, IsFixedLookback, Smax, Smin, K, Result)
Carries out calculations for lookback options on non-dividend-paying stocks, stock indices,currencies and futures
Arguments:
S 50 Asset Price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if this paramet
vol 0.25 Volatility. BUT Enter Price if Implied Volatility is to be calculated (i.e. Result=6)
T 1 Time to maturity (yrs)
IsCall 1 TRUE if lookback call, FALSE if lookback put
IsFut 0 TRUE if futures option, FALSE otherwise
edLookback 1 TRUE for fixed lookback
Smax 50 Maximum price to date (equals to current price if a new instrument)
Smin 50 Minimum price to date (equals current price if a new instrument)
K 55 Strike price for Fixed Lookback; Ignored otherwise
Result 1 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho; 6=Implied Vol

Example: #VALUE!
ons (Enter 0 if this parameter not applicable)

ols 1 and 2. (Leave blank if not applicable)

es and futures

ons (Enter 0 if this parameter not applicable)

and futures
ons (Enter 0 if this parameter not applicable)

es and futures

ons (Enter 0 if this parameter not applicable)

ncies and futures

ons (Enter 0 if this parameter not applicable)


ies and futures

ons (Enter 0 if this parameter not applicable)


Function 27: EPortfolio(t, S, IsFut, r, q, Divs, vol, Portfolio, Result)
Carries out calculations for a portfolio of options on a non-dividend-paying stock, stock index, currency, or futures
Arguments:
t 0.2 Valuation date (years from today >=0)
S 50 Asset price
IsFut 0 TRUE if underlying is a futures price; FALSE otherwise
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if th
Divs Array containing time to dividend payment and size of dividend payment in cols 1 and 2. (Lea
vol 0.25 Volatility
Portfolio Array defining portfolio. See below
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho

Portfolio definition:
Type
Underlying 0 Number
Black Scholes 1 Number K T IsCall
TreeEquityOption 2 Number K T IsCall nSteps
Binaryoption 3 Number K T IsCall IsCash
BarrierOption 4 Number K T IsCall Barrier
AverageOption 5 Number K T IsCall CurrAve
ChooserOption 6 Number K T TimeToChoice
CompoundOption 7 Number K1 T1 IsCall K2
LookBackOption 8 Number K T IsCall IsFixedLookback

Sample Portfolio
Type Number
Underlying 0 -2
Black Scholes 1 50 55 0.5 1
Black Scholes 1 50 48 0.75 1
TreeEquityOption 2 100 50 0.5 0 50

Example: #VALUE!
ndex, currency, or futures

e for currency options (Enter 0 if this parameter not applicable)


idend payment in cols 1 and 2. (Leave blank if not applicable)

IsAmerican

IsUp IsIn
TimeSoFar

T2 IsOptOnCall
Smax Smin

Dividends
0.5 1
0.75 1
1
Function 28: CEVOption(S, K , r, q, T, IsCall, CEV_sigma, CEV_alpha, result)
Calculates equity option prices using the CEV (Constant Elasticity of Variance Model)
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
CEV_sigma 0.25 CEV volatility parameter
CEV_alpha 1 CEV volatility parameter (0 <= alpha < 2)
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho

Example: #VALUE!

Function 29: JumpOption(S, K, r, q, T, IsCall, volatility, jump_intensity, AvgJump, JumpStdDev, result)


Calculates equity option prices using the Merton Jump-Diffusion Model
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
volatility 0.25 Volatility of diffusion process
jump_intensity 4.3 Average number of jumps per year
AvgJump -5.00% Average jump size (as a % of stock price)
JumpStdDev 20.00% Standard deviation of jump size (as a % of stock price)
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho

Example: #VALUE!

Function 30: VarGammaOption(S, K, r, q, T, IsCall, volatility, variance_rate, VG_theta, result)


Calculates equity option prices using the Variance-Gamma Model
Arguments:
S 50 Asset Price
K 50 Strike price
r 0.05 Domestic risk-free rate
q 0.02 Dividend yield for stock index options, foreign risk free rate for currency options (Enter 0 if
T 1 Time to maturity (yrs)
IsCall 1 TRUE if call, FALSE if put
volatility 25.0% V-G volatility parameter
variance_rate 30.0% V-G variance rate
VG_theta -20.0% V-G skewness parameter
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega; 4=Theta; 5=Rho

Example: #VALUE!
rrency options (Enter 0 if this parameter not applicable)

rrency options (Enter 0 if this parameter not applicable)

rrency options (Enter 0 if this parameter not applicable)


Function 31: BlackCap(Start, Life, CapRate, L, Frequ, vol, IsCap, Zeros, Result)
Carries out calculations for caps and floors using Black's model
Arguments:
Start 0 Time (years from today) when cap starts
Life 10 Life of cap in years
CapRate 0.06 Cap Rate
L 100 Notional amount
Frequ 4 Number of times a year cap is settled (= 12, 4, 2, or 1)
vol 0.2 Flat volatility. BUT enter price if implied volatility is to be calculated (i.e. Result=4)
IsCap 1 TRUE if cap, FALSE if Floor
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=ImpliedVol

Example: #VALUE!

Function 32: OISBlackCap(Start, Life, CapRate, L, Frequ, vol, IsCap, OIS, LIBOR, Result)
Carries out calculations for caps and floors using Black's model
Arguments:
Start 0 Time (years from today) when cap starts
Life 10 Life of cap in years
CapRate 0.06 Cap Rate
L 100 Notional amount
Frequ 4 Number of times a year cap is settled (= 12, 4, 2, or 1)
vol 0.2 Flat volatility. BUT enter price if implied volatility is to be calculated (i.e. Result=4)
IsCap 1 TRUE if cap, FALSE if Floor
OIS OIS continuously compounded zero curve
LIBOR LIBOR continuously compounded zero curve
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=ImpliedVol

Example: #VALUE!

Function 33: HullWhiteCap(Start, Life, CapRate, L, Frequ, sigma, a, IsCap, Zeros, Result)
Carries out calculations for caps and floors using Hull-White model
Arguments:
Start 0 Time (years from today) when cap starts
Life 10 Life of cap in years
CapRate 0.06 Cap Rate
L 100 Notional amount
Frequ 4 Number of times a year cap is settled (= 12, 4, 2, or 1)
sigma 0.014544 Short rate standard deviation. But enter price if implied sigma is to be calculated (i.e.Result=4)
a 0.075 Reversion rate
IsCap 1 TRUE if cap, FALSE if floor
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=ImpliedVol

Example: #VALUE!

Function 34: TreeCap(Start, Life, CapRate, L, Frequ, sigma, a, IsCap, Model, nsteps, Zeros, Result)
Carries out calculations for caps and floors usng a trinomial tree
Arguments:
Start 0 Time (years from today) when cap starts
Life 10 Life of cap in years
CapRate 0.06 Cap Rate
L 100 Notional Amount
Frequ 4 Number of times a year cap is settled (= 12, 4, 2, or 1)
sigma 0.014544 Volatility parameter
a 0.075 Reversion rate
IsCap 1 TRUE if cap, FALSE if floor
Model 0 0=Normal, 1=Lognormal
nSteps 25 Number of time steps
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied sigma

Example: #VALUE!
LIBOR Zeros
0.25 0.03088
0.5 0.032731
0.75 0.033574
1 0.03414
1.25 0.034579
1.5 0.035037
1.75 0.035505
2 0.035715
3 0.036724
econd column 5 0.037743
7 0.038693
10 0.039669
15 0.040442
20 0.041042
30 0.042503

OIS Zeros
0.25 0.029888
0.5 0.031747
0.75 0.032598
1 0.033731
2 0.034725
3 0.035737
4 0.036243
5 0.036759
7 0.037819
10 0.038907
15 0.039426
20 0.040036
30 0.041506

ted (i.e.Result=4)
econd column

econd column
Function 35: BlackSwapOpt(OptLife, SwapLife, SwapRate, L, Frequ, vol, IsPayFix, Zeros, Result)
Price of option to enter into a swap using Black's model
Arguments:
OptLife 2 Option Life in years
SwapLife 8 Swap life in years
SwapRate 0.04 Strike Swap Rate
L 100 Principal amount
Frequ 2 Frequency of payments on swap (= 12, 4, 2, or 1)
vol 0.2 Volatility. BUT enter price if implied volatility is to be calculated (i.e. Result=4)
IsPayFix 0 TRUE if option to pay strike swap rate, FALSE if option to receive strike swap rate
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied Volatility

Example: #VALUE!

Function 36: OISBlackSwapOpt(OptLife, SwapLife, SwapRate, L, Frequ, vol, IsPayFix, OIS, LIBOR, Result)
Price of option to enter into a swap using Black's model with OIS discounting
Arguments:
OptLife 2 Option Life in years
SwapLife 8 Swap life in years
SwapRate 0.04 Strike Swap Rate
L 100 Principal amount
Frequ 2 Frequency of payments on swap (= 12, 4, 2, or 1)
vol 0.2 Volatility. BUT enter price if implied volatility is to be calculated (i.e. Result=4)
IsPayFix 0 TRUE if option to pay strike swap rate, FALSE if option to receive strike swap rate
OIS OIS continuously compounded zero curve
LIBOR LIBOR continuously compounded zero curve
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied Volatility

Example: #VALUE!

Function 37: HullWhiteSwapOpt(OptLife, SwapLife, SwapRate, L, Frequ, sigma, a, IsPayFix, Zeros, Result)
Price of option to enter into a swap using Hull-White model
Arguments:
OptLife 2 Option Life in years
SwapLife 8 Swap life in years
SwapRate 0.04 Strike Swap Rate
L 100 Principal amount
Frequ 2 Frequency of payments on swap (= 12, 4, 2, or 1)
sigma 0.0125 Short rate standard deviation. But enter price if implied sigma is to be calculated (i.e.Result=4)
a 0.075 Reversion rate
IsPayFix 0 TRUE if option to pay strike swap rate, FALSE if option to receive strike swap rate
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied sigma

Example: #VALUE!

Function 38: TreeSwapOpt(OptLife, SwapLife, SwapRate, L, Frequ, sigma, a, IsPayFix, Model, nSteps, Zeros, Result)
Carries out calculations for swap options using a trinomial tree
Arguments:
OptLife 2 Option Life in years
SwapLife 8 Swap life in years
SwapRate 0.04 Strike Swap Rate
L 100 Principal amount
Frequ 2 Frequency of payments on swap (= 12, 4, 2, or 1)
sigma 0.0125 Volatility parameter
a 0.075 Reversion rate
IsPayFix 0 TRUE if option to pay strike swap rate, FALSE if option to receive strike swap rate
Model 0 0=Normal, 1=Lognormal
nsteps 50 Number of time steps
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied sigma

Example: #VALUE!
LIBOR Zeros
0.25 0.03088
0.5 0.032731
0.75 0.033574
1 0.03414
1.25 0.034579
1.5 0.035037
1.75 0.035505
2 0.035715
3 0.036724
econd column 5 0.037743
7 0.038693
10 0.039669
15 0.040442
20 0.041042
30 0.042503

OIS Zeros
0.25 0.029888
0.5 0.031747
0.75 0.032598
1 0.033731
2 0.034725
3 0.035737
4 0.036243
5 0.036759
7 0.037819
10 0.038907
15 0.039426
20 0.040036
30 0.041506

ted (i.e.Result=4)
econd column

ps, Zeros, Result)

econd column
Function 39: BlackBondOpt(BondLife,Coupon,Princ,Frequ,K,T,vol,IsCall,IsQuoted,Zeros,Result)
Carries out calculations for bond options usng Black's model
Arguments:
BondLife 10 Life of bond in years(from today)
Coupon 0.06 Coupon (rate per year)
Princ 100 Bond Principal
Frequ 2 Frequency of payments on bond (=4, 2, or 1)
K 99.5 Strike Price
T 2.2 Time (in years) to option maturity
vol 0.2 Volatility. BUT enter price if implied volatility is to be calculated (i.e. Result=4)
IsCall 1 TRUE if call, FALSE if put
IsQuoted 1 True if strike is a quoted price, false if strike is cash price
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied sigma

Example #VALUE!

Function 40: HullWhiteBondOpt(BondLife,Coupon,Princ,Frequ,K,T,sigma,a, IsCall,IsQuoted,Zeros,Result)


Carries out calculations for bond options using Hull-White model
Arguments:
BondLife 10 Life of bond in years(from today)
Coupon 0.06 Coupon (rate per year)
Princ 100 Bond Principal
Frequ 2 Frequency of payments on bond (=4, 2, or 1)
K 99.5 Strike Price
T 2.2 Time (in years) to option maturity
sigma 0.0121 Short rate standard deviation. But enter price if implied sigma is to be calculated (i.e.Result=4)
a 0 Reversion rate
IsCall 1 TRUE if call, FALSE if put
IsQuoted 1 True if strike is a quoted price, false if strike is cash price
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied sigma

Example #VALUE!

Function 41: TreeBondOpt(BondLife,Coupon,Princ,Frequ,K,T,sigma,a, IsCall,IsQuoted,IsAmerican,Model,nSteps,Zeros,Resul


Carries out calculations for bond options usng a trinomial tree
Arguments:
BondLife 10 Life of bond in years(from today)
Coupon 0.06 Coupon (rate per year)
Princ 100 Bond Principal
Frequ 2 Frequency of payments on bond per year (=4, 2, or 1)
K 99.5 Strike Price
T 2.2 Time (in years) to option maturity
sigma 0.0121 Volatility parameter
a 0 Reversion rate
IsCall 1 TRUE if call, FALSE if put
IsQuoted 1 True if strike is a quoted price, false if strike is cash price
IsAmerican 0 TRUE if American option, FALSE if European
Model 0 0=Normal, 1=Lognormal
nSteps 50 Number of time steps
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Result 0 0=Price, 1=Delta, 2=Gamma, 3=Vega, 4=Implied sigma

Example #VALUE!
Term Structure
0 3.00%
0.5 3.35%
1 3.66%
1.5 3.94%
2 4.18%
2.5 4.39%
3 4.58%
3.5 4.75%
4 4.90%
4.5 5.03%
5 5.14%
econd column 5.5 5.24%
6 5.33%
6.5 5.41%
7 5.48%
7.5 5.54%
8 5.59%
8.5 5.64%
9 5.68%
9.5 5.72%
10 5.75%

ted (i.e.Result=4)

econd column

Model,nSteps,Zeros,Result)
econd column
Function 42: IPortfolio(t, Zeros, Nsigma, Na, LNsigma, LNa, Portfolio, Result)
Carries out calculations for a portfolio of options on a non-dividend-paying stock, stock index, currency, or futures
Arguments:
t 0.21 Valuation date (years from today >=0)
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
Nsigma 0.0125 sigma parameter to be used with normal model
Na 0.05 reversion rate parameter to be used with normal model
LNsigma 0.22 sigma parameter to be used with lognormal model
LNa 0 reversion rate parameter to be used with lognormal model
Portfolio Array defining portfolio. See below
Result 0 0=Price; 1=Delta; 2=Gamma; 3=Vega

Portfolio definition:
Type
Bond 0 Life Coupon Princ. Frequ IsClean
Swap 1 Start Life FixedRate L Frequ IsPayFix
Black Cap 2 Start Life CapRate L Frequ IsCap vol
HW Cap 3 Start Life CapRate L Frequ IsCap
Tree Cap 4 Start Life CapRate L Frequ IsCap Model nSteps
Black Swap 5 Start Life SwapRate L Frequ IsPayFix vol
HW Swapti 6 Start Life SwapRate L Frequ IsPayFix
Tree Swapt 7 Start Life SwapRate L Frequ IsPayFix Model nSteps
Black Bond 8 Life Coupon Princ Frequ K T IsCall IsQuoted
HW Bond O 9 Life Coupon Princ Frequ K T IsCall IsQuoted
Tree Bond 10 Life Coupon Princ Frequ K T IsCall IsQuoted

Sample Portfolio
Type
Bond 0 10.2 6% 100 2 1
Black Bond 8 10.2 6% 200 2 102 0.5 1 1
Black Bond 8 10.2 6% 300 2 105 1 1 1
Tree Bond 10 10.2 6% 400 2 98 5 0 1

Example #VALUE!
Term Structure
rency, or futures 0 3.00%
0.5 3.35%
1 3.66%
econd column 1.5 3.94%
2 4.18%
2.5 4.39%
3 4.58%
3.5 4.75%
4 4.90%
4.5 5.03%
5 5.14%
5.5 5.24%
6 5.33%
6.5 5.41%
7 5.48%
7.5 5.54%
8 5.59%
8.5 5.64%
9 5.68%
9.5 5.72%
10 5.75%
vol

Model nSteps IsAmerican

15%
14%
1 10 1
Function 43: DefaultProbability(t, HazardRates)
Calculates the probability of a default by time t using a given term structure of hazard rates
Arguments:
t 1.25 Default event occcurs on or before t
HazardRates Array containing hazard rate curve: Maturities in the first column and hazard rates in second co

Example #VALUE!

Function 44: CDS_Spread(Life, Frequ, Recovery, Zeros, HazardRates)


Calculates the breakeven CDS spread in basis points
Arguments:
Life 5 Life of the CDS in years
Frequ 4 Frequency of payments on the CDS (=12, 4, 2, or 1)
Recovery 0.4 Recovery rate in the event of default (0<= R <=1)
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
HazardRates Array containing hazard rate curve: Maturities in the first column and hazard rates in second co

Example #VALUE!

Function 45: CDS_Value(Life, Frequ, Recovery, Spread, Zeros, HazardRates)


Calculates the present value per $100 notional of buying protection at a specified spread
Arguments:
Life 5 Life of the CDS in years
Frequ 4 Frequency of payments on the CDS (=12, 4, 2, or 1)
Recovery 0.4 Recovery rate in the event of default (0<= R <=1)
Spread 50 CDS spread in basis points
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
HazardRates Array containing hazard rate curve: Maturities in the first column and hazard rates in second co

Example #VALUE!

Function 46: ImplyHazardRates(CDS_Spreads, Frequ, Recovery, Zeros


Determines the term structure of hazard rates that are consistent with a term structure of CDS spreads
Arguments:
CDS_Spreads Array containing term structure of CDS spreads: Maturities in the first column and spread in ba
Frequ 4 Frequency of payments on the CDS (=12, 4, 2, or 1)
Recovery 0.4 Recovery rate in the event of default (0<= R <=1)
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column

Calculated hazard rates Check:


Example #VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
#VALUE! #VALUE! #VALUE!
Hazard Rates Term Structure
0 0.50% 0 3.00%
0.5 1.00% 0.5 3.35%
1 1.25% 1 3.66%
hazard rates in second column 2 1.00% 1.5 3.94%
5 1.00% 2 4.18%
10 1.00% 2.5 4.39%
3 4.58%
3.5 4.75%
4 4.90%
4.5 5.03%
5 5.14%
5.5 5.24%
6 5.33%
6.5 5.41%
tes in second column 7 5.48%
hazard rates in second column 7.5 5.54%
8 5.59%
8.5 5.64%
9 5.68%
9.5 5.72%
10 5.75%

tes in second column


hazard rates in second column

column and spread in basis points in second column

tes in second column

CDS Spreads
1 25
2 40
3 50
4 55
5 60
10 64
Function 47: CDO_Spread(Life, Frequ, Recovery, Attach, Detach, Correlation, nFirms, nPoints, Zeros, Ha
Calculates the breakeven CDO spread in basis points
Arguments:
Life 5 Life of the CDS in years
Frequ 4 Frequency of payments on the CDS (=12, 4, 2, or 1)
Recovery 40.00% Recovery rate in the event of default (0<= R <=1)
Attach 10.00% Tranche attachment point (A >= 0)
Detach 15.00% Tranche detachment point (A < D <= 1)
Correlation 20.00% Copula Correlation (0 <= corr <= 1)
nFirms 125 Number of companies in the portfolio (<=250)
nPoints 10 Number of integration points (<=50)
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
HazardRates Array containing hazard rate curve: Maturities in the first column and hazard rates in second colum

Example #VALUE!

Function 48: CDO_UpFront(Life, Frequ, Recovery, Attach, Detach, Correlation, Spread, nFirms, nPoints, Zeros, HazardRates)
Calculates the breakeven upfront payment as a proportion of the notional for the CDO tranche
Arguments:
Life 5 Life of the CDS in years
Frequ 4 Frequency of payments on the CDS (=12, 4, 2, or 1)
Recovery 40.00% Recovery rate in the event of default (0<= R <=1)
Attach 0.00% Tranche attachment point (A >= 0)
Detach 3.00% Tranche detachment point (A < D <= 1)
Correlation 20.00% Copula Correlation (0 <= corr <= 1)
Spread 500 Spread in basis points that is paid in addition to the upfront payment
nFirms 125 Number of companies in the portfolio (<=250)
nPoints 5 Number of integration points (<=50)
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
HazardRates Array containing hazard rate curve: Maturities in the first column and hazard rates in second colum

Example #VALUE!

Function 49: ImplyCopulaCorrelation(Life, Frequ, Recovery, Attach, Detach, Spread, UpFront, nFirms, nPoints, Zeros, Hazard
Calculates the breakeven upfront payment as a proportion of the notional for the CDO tranche
Arguments:
Life 5 Life of the CDS in years
Frequ 4 Frequency of payments on the CDS (=12, 4, 2, or 1)
Recovery 0.4 Recovery rate in the event of default (0<= R <=1)
Attach 0.00% Tranche attachment point (A >= 0)
Detach 3.00% Tranche detachment point (A < D <= 1)
Spread 500 Spread in basis points that is paid in addition to the upfront payment
UpFront 40.00% Upfront payment as proportion of notional
nFirms 125 Number of companies in the portfolio (<=250)
nPoints 5 Number of integration points (<=50)
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
HazardRates Array containing hazard rate curve: Maturities in the first column and hazard rates in second colum

Example #VALUE!

Function 50: CDO_Value(Life, Frequ, Recovery, Attach, Detach, Correlation, Spread, UpFront, nFirms, nPoints, Zeros, Hazard
Calculates the value of the CDO tranche per $100 of notional
Arguments:
Life 5 Life of the CDS in years
Frequ 4 Frequency of payments on the CDS (=12, 4, 2, or 1)
Recovery 40.00% Recovery rate in the event of default (0<= R <=1)
Attach 0.00% Tranche attachment point (A >= 0)
Detach 3.00% Tranche detachment point (A < D <= 1)
Correlation 20.00% Copula Correlation (0 <= corr <= 1)
Spread 5.00% Spread in basis points that is paid in addition to the upfront payment
UpFront 35.00% Upfront payment as proportion of notional
nFirms 125 Number of companies in the portfolio (<=250)
nPoints 8 Number of integration points (<=50)
Zeros Array containing zero curve: Maturities in the first column and zero rates in second column
HazardRates Array containing hazard rate curve: Maturities in the first column and hazard rates in second colum

Example #VALUE!
Hazard Rates Term Structure
0 0.50% 0 3.00%
0.5 1.00% 0.5 3.35%
1 1.25% 1 3.66%
2 1.00% 1.5 3.94%
5 1.00% 2 4.18%
10 1.00% 2.5 4.39%
3 4.58%
3.5 4.75%
4 4.90%
4.5 5.03%
o rates in second column 5 5.14%
and hazard rates in second column 5.5 5.24%
6 5.33%
6.5 5.41%
7 5.48%
7.5 5.54%
ms, nPoints, Zeros, HazardRates) 8 5.59%
8.5 5.64%
9 5.68%
9.5 5.72%
10 5.75%

o rates in second column


and hazard rates in second column

t, nFirms, nPoints, Zeros, HazardRates)


o rates in second column
and hazard rates in second column

t, nFirms, nPoints, Zeros, HazardRates)

o rates in second column


and hazard rates in second column

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy