DG300 Functions
DG300 Functions
00
For Excel 2000 and more recent versions of Excel
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"
en designed to
tives" 9/E
ware in DG300.xls
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!
Example: #VALUE!
Example: #VALUE!
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!
Example: #VALUE!
Example: #VALUE!
Swap functions
Example: #VALUE!
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.
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
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
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!
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%
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%
el of market data
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
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
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!
Example: #VALUE!
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)
es and futures
and futures
ons (Enter 0 if this parameter not applicable)
es and futures
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
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!
Example: #VALUE!
Example: #VALUE!
rrency options (Enter 0 if this parameter not applicable)
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
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!
Example #VALUE!
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
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!
Example #VALUE!
Example #VALUE!
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%