Adfin Options Functions

23
Adfin Options Functions User's Guide

description

Reuters Adfin

Transcript of Adfin Options Functions

Adfin Options FunctionsUser's Guide

Adfin Options Functions - User's Guide

2

Adfin Options Functions - User's Guide

Last Revised 16 May 02

Copyright © Reuters 2002 All rights reserved.

Republication or redistribution of Reuters content is expressly prohibited without the prior written consent of Reuters.

Except as permitted by law, no part of this document may be reproduced or transmitted by any process or means without theprior consent of REUTERS Limited.

Reuters, by publishing this document, does not guarantee that any information contained herein is and will remain accurate orthat use of the information will ensure correct and faultless operation of the relevant service or equipment. Reuters, its agentsand employees shall not be held liable to or through any user for any loss or damage whatsoever resulting from reliance on theinformation contained herein.

EFFIX, PowerPlus Pro, and Adfin are registered trademarks of the Reuters Group.EFFIX Order Management System (OMS), EFFIX Licensing System (ELS), FxNSC, PIXL, PowerBase, and ROMS (ReutersOrder Management) are trademarks of the Reuters Group.IDN, Network Management (NMS), Reuters DTS (Data Transformation System), Reuters DTM (Data Transformation Manager),Reuters IPS (Internal Page Server), Reuters DCS (Data Contribution Servers), Reuters OCS (Optimizing Contribution Server),Reuters Dealing 2000, Reuters GLCS (Global Limits Control System), Reuters KreditNet, Reuters KVAR+, Reuters News 2000,RQF, RSF and Reuters Triarch are trademarks of REUTERS Limited.

Reuters and the Reuters sphere logo are registered trademarks and trademarks of the Reuters group of companies around theworld.

Microsoft Windows, Windows NT, Visual Basic and MS-DOS are registered trademarks, and Microsoft Excel, Microsoft Word,and Microsoft Internet Explorer are products of Microsoft Corp. in the United States and other countries. Sun, SunMicrosystems, Solaris and SunOS are trademarks of Sun Microsystems Inc. TIB is a registerd trademark, and Rendezvous is atrademark of TIBCO Software Inc. UNIX is a registered trademark in the United States and other countries, licensed exclusivelythrough X/Open Company Limited.

Published by Reuters Limited, 85 Fleet Street, London EC4P 4AJ

Reuters Financial Software6, rue GodefroyF-92821 PuteauxFranceTel: +33 1 47 62 64 66Fax: +33 1 47 62 64 99Internet: http://www.effix.fr

SupportTel: +33 1 47 62 67 00Email: [email protected] to the Marvin Newsletter: [email protected]

Adfin Options Functions - User's Guide

3

TABLE OF CONTENTS

1. USING ADFIN OPTIONS............................................................................................. 4

1.1. OPTIONS & WARRANTS ......................................................................................................... 4

1.1.1. NormalC ............................................................................................................................. 4

1.1.2. NormalS ............................................................................................................................. 4

1.1.3. OpCalcDeriv ....................................................................................................................... 4

1.1.4. OpHistVol ........................................................................................................................... 6

1.1.5. OpImpliedVol...................................................................................................................... 7

1.1.6. OpPremium ........................................................................................................................ 7

1.1.7. Previous Versions .............................................................................................................. 9

1.2. BOND OPTIONS..................................................................................................................... 13

1.2.1. AdBondOptionDeriv.......................................................................................................... 13

1.2.2. AdBondOptionPremium ................................................................................................... 14

1.2.3. Previous Versions ............................................................................................................ 14

1.3. CAPS, FLOORS AND COLLARS............................................................................................ 16

1.3.1. AdCapFloorCaplets .......................................................................................................... 16

1.3.2. AdCapFloorImpliedVol ..................................................................................................... 17

1.3.3. AdCapFloorPremium........................................................................................................ 18

1.3.4. Previous Versions ............................................................................................................ 19

1.4. SWAPTIONS........................................................................................................................... 21

1.4.1. AdSwaptionPremium........................................................................................................ 21

1.4.2. AdSwaptionDeriv.............................................................................................................. 21

1.4.3. Previous Versions ............................................................................................................ 22

Adfin Options Functions - User's Guide

4

1. USING ADFIN OPTIONS

1.1. OPTIONS & WARRANTS

1.1.1. NormalC

=NormalC(Number)

Calculates y=f(x) using a cumulative normal distribution.

Arguments

Number : x value

Return Value

N x N t dtc

x

( ) ( )=−∞

See also

NormalS

1.1.2. NormalS

=NormalS(Number)

Calculates y=f(x) using a normal distribution.

Arguments

Number : x value

Return Value

N x x m( ) exp[ ( ) ]= − −12 2

2

2Πν ν

Note

This function was previously called Normal. It has been renamed due to an incompatibility with Excel.

See also

NormalC

1.1.3. OpCalcDeriv

=OpCalcDeriv(CalcDate,ExpiryDate,SpotPrice,StrikePrice,Volatility,RiskFreeRateArray, ReturnArray, OptionStructure, RateStructure,CalcStructure, AdMode)

Returns in an array all derivatives (delta, gamma, rho, theta, and vega) of an option on a security(index, stock), a future, a commodity, or a currency.

Adfin Options Functions - User's Guide

5

In the case of an option on a security, the underlying pays a dividend that can be:

continuousproportionaldiscountedfixed

Arguments

CalcDate : Calculation date of the optionExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Strike price of the optionVolatility : Volatility of the underlying instrumentRiskFreeRateArray : Term Structure array.

Depending on the model, this array has several forms:• a Constant Yield (Value)• a Zero Coupon Curve (Date, Value)

ReturnArray : Can be either a constant yield or a dividend array (Date, Dividend):• Commodities: carrying costs• Currencies: risk free rate for the foreign currency• Futures: 0• Stocks: annual security yield

OptionStructure : Extended argument defining the option structureRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation methodAdMode : Extended argument customising the return value

Return Value

The return value depends on the value of AdMode. The default value is a vertical 9-cell arraycontaining:

Delta : Delta ratioGamma : Gamma ratioRho : Rho ratioTheta : Theta ratioVega : Vega ratioForeignDelta : Delta ratio in the foreign currency (for currency options)ForeignRho : Rho ratio in the foreign currency (for currency options)ForiegnTheta : Theta ratio in the foreign currency (for currency options)ForeignVega : Vega ratio in the foreign currency (for currency options)

When this array function is used as a standard function, all the elements are returned. To return, forinstance, the second element use "RET:2" as the AdMode value.Similarly, when used with a horizontal array, only the first element is returned into all cells of the array.To return a correct array, use "LAY:H" as the AdMode value.It is also possible to return both parameter names and values using for instance "RET:B5" asAdMode (in this case you must select a 2-column and 5-row array).

Notes

The string value used for OptionStructure cannot be empty. It must include at least the optiontype (i.e. "CALL" or "PUT").For compatibility with older releases, OpCalcDeriv returns only one derivative when this derivativeis specified in AdMode using the RES keyword.

Adfin Options Functions - User's Guide

6

The RES:FDELTA , RES:FRHO , RES:FVEGA , RES:FTHETA keywords in the AdMode argument aresupported only in the case of a European currency option (UI:CUR EXM:EUR in theOptionStructure Argument) with the Black & Scholes Model (FT:BS in the CalcStructure Argument).

Examples

The following examples show the use of the new OpCalcDeriv function in derivatives calculations. Youcan copy and paste them into an Excel spreadsheet to verify the consistency of the results.

Computing the premium on a European call option using the Black & Scholes model:In PPPro 4.0: =OpCalcDeriv("25APR97","25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:EUR OCM:BS UI:SEC RATES:CONT","LAY:V RET:B")In PPPro 4.5: =OpCalcDeriv("25APR97","25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:EUR","RM:YTM RATETYPE:CONT","CMT:FORM FT:BS","LAY:V RET:B")

Computing the premium on an American call option using the Whaley model:In PPPro 4.0: =OpCalcDeriv("25APR97","25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:AMER OCM:WHALEY UI:SEC RATES:CONT","LAY:V RET:B")In PPPro 4.5: =OpCalcDeriv("25APR97", "25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:AMER","RM:YTM RATETYPE:CONT","CMT:FORM FT:WHALEY","LAY:V RET:B")

Computing the premium on an American call option using the Cox, Ross & Rubinstein model:In PPPro 4.0: =OpCalcDeriv("25APR97","25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:AMER OCM:COX UI:SEC RATES:CONT COXITER:31","LAY:V RET:B")In PPPro 4.5: =OpCalcDeriv("25APR97","25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:AMER","RM:YTM RATETYPE:CONT","CMT:TREE TITER:31","LAY:V RET:B")

See Also

OpPremium

1.1.4. OpHistVol

=OpHistVol(PriceArray, OpMode)

Calculates the historical volatility of an option on a security (index, stock), a future, a commodity, or acurrency, from a set of underlying prices.

To define the type of prices used (either close prices, or high and low prices), use the HVM keyword inOpMode.

Arguments

PriceArray : 1-dimensional array (for HVM:CLOSE) or 2-dimensional array (for HVM:HL)containing the prices. The orientation of this array is specified using the LAYkeyword in OpMode.

OpMode : Extended argument customizing the return value

Return Value

The historical volatility of the option.

See also

OpImpliedVol

Adfin Options Functions - User's Guide

7

1.1.5. OpImpliedVol

=OpImpliedVol(CalcDate, ExpiryDate, SpotPrice, StrikePrice, Premium,RiskFreeRateArray, ReturnArray, OptionStructure, RateStructure,CalcStructure)

Calculates the implied volatility of an option on a security (index, stock), a future, a commodity, or acurrency, from the option premium.

Arguments

CalcDate : Calculation date of the optionExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Strike price of the optionPremium : Premium of the optionRiskFreeRateArray : Term Structure array.

Depending on the model, this array has several forms:• a Constant Yield (Value)• a Zero Coupon Curve (Date, Value)

ReturnArray : Can be either a constant yield or a dividend array (Date, Dividend):• Commodities: carrying costs• Currencies: risk free rate for the foreign currency• Futures: 0• Stocks: annual security yield

OptionStructure : Extended argument defining the option structureRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation method

Return Value

The implied volatility of the option.

Notes

The string value used for OptionStructure cannot be empty. It must include at least the optiontype (i.e. "CALL" or "PUT").The dividend rate(s) specified in ReturnArray can be continuous, proportional, discounted orfixed.

1.1.6. OpPremium

=OpPremium(CalcDate, ExpiryDate, SpotPrice, StrikePrice, Volatility,RiskFreeRateArray, ReturnArray, OptionStructure, RateStructure,CalcStructure)

Calculates the premium of an option on a security (index, stock), a future, a commodity, or a currency.

In the case of an option on a security, the underlying pays a dividend that can be:

continuousproportionaldiscountedfixed

Adfin Options Functions - User's Guide

8

Arguments

CalcDate : Calculation date of the optionExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Strike price of the optionVolatility : Volatility of the underlying instrumentRiskFreeRateArray : Term Structure array.

Depending on the model, this array has several forms:• a Constant Yield (Value)• a Zero Coupon Curve (Date, Value)

ReturnArray : Can be either a constant yield or a dividend array (Date, Dividend):• Commodities: carrying costs• Currencies: risk free rate for the foreign currency• Futures: 0• Stocks: annual security yield

OptionStructure : Extended argument defining the option structureRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation method

Return Value

The premium of the option.

Note

The string value used for OptionStructure cannot be empty. It must include at least the optiontype (i.e. "CALL" or "PUT").

Examples

The following examples show the use of the new OpPremium function for different calculations. Youcan copy and paste them into an Excel spreadsheet to verify the consistency of the results.

Computing the premium on a European call option using the Black & Scholes model:In PPPro 4.0: =OpPremium("25APR97","25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:EUR OCM:BS UI:SEC RATE:CONT")In PPPro 4.5: =OpPremium("25APR97","25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:EUR", "RM:YTM RATETYPE:CONT", "CMT:FORM FT:BS")

Computing the premium on an American call option using the Whaley model:In PPPro 4.0: =OpPremiumCrv("25APR97", "25FEB98", 1690, 1550, 0.19, 0, 0.02,ZcArray, "CALL EXM:AMER OCM:WHALEY UI:SEC RATE:CONT")In PPPro 4.5: =OpPremium("25APR97", "25FEB98", 1690, 1550, 0.19, ZcArray,0.02, "CALL EXM:AMER", "RM:YC RATETYPE:CONT", "CMT:FORM FT:WHALEY"), whereZcArray is a two-column array containing dates and rates.

Computing the premium on an American call option using the Cox, Ross & Rubinstein model:In PPPro 4.0: =OpPremium("25APR97", "25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:AMER OCM:COX UI:SEC RATE:CONT COXITER:31")In PPPro 4.5: =OpPremium("25APR97", "25FEB98", 1690, 1550, 0.19, 0.018, 0.02,"CALL EXM:AMER", "RM:YTM RATETYPE:CONT", "CMT:TREE TITER:31")

See also

OpCalcDerivOpImpliedVol

Adfin Options Functions - User's Guide

9

1.1.7. Previous Versions

Important

Previous versions of Adfin Options include the following functions:

OpCalcDeriv, OpCalcDerivCrv and OpCalcDerivDivOpImpliedVol and OpImpliedVolDivOpPremium, OpPremiumCrv and OpPremiumDiv

Because of the new architecture of Adfin Analytics, these functions are now provided by the followingfunctions:

OpCalcDerivOpImpliedVolOpPremium

Those old functions still work. However, you are advised to use the new functions that offer betterperformance and flexibility.

Old Functions

=OpCalcDeriv(CalcDate, ExpiryDate, SpotPrice, StrikePrice, Volatility,RiskFreeRate, Rate2, OptionStructure, OpMode)

Returns in an array all derivatives (delta, gamma, theta, vega, rho) of an option, the underlying of whichpays a continuous dividend yield, assuming a constant volatility and risk-free interest rate.

Arguments

CalcDate : Calculation dateExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Exercise or strike price of the optionVolatility : Anticipated volatility of the underlyingRiskFreeRate : Yearly rate for an equivalent risk-free investmentRate2 : Additional yearly rate

Commodities : carrying costsCurrencies : risk free rate for the foreign currencyFutures : 0Stocks : annual security yield

OptionStructure : Extended argument defining the option structureOpMode : Extended argument customizing the return value

=OpCalcDerivCrv(CalcDate, ExpiryDate, SpotPrice, StrikePrice, Volatility,RiskFreeRate, Rate2, CrvArray, OptionStructure, OpMode)

Returns in an array all derivatives (delta, gamma, rho, theta, vega) of an option using a set of discretedividends, and/or a set of exercise dates, and/or a risk-free rate curve, and/or a volatility curve.

The sets or curves included in the CrvArray parameter should be specified in OptionStructureusing the CAS keyword.

Arguments

CalcDate : Calculation dateExpiryDate : Expiry date of the option / warrant

Adfin Options Functions - User's Guide

10

SpotPrice : Market or spot price of the underlying instrumentStrikePrice : Exercise or Strike price of the option / warrantVolatility : Anticipated volatility of the underlying (this parameter should be set to 0 if a

volatility curve is included in the CrvArray parameter)RiskFreeRate : Yearly rate for an equivalent risk-free investment (this parameter should be

set to 0 if a risk-free rate curve is included in the CrvArray parameter)Rate2 : Additional yearly rate (this parameter should be set to 0 if a dividend set is

included in the CrvArray parameter)Commodities: carrying costsCurrencies: risk free rate for the foreign currencyFutures: 0Stocks: annual security yield

CrvArray : 2-dimensional array containing the dates (row or column depending on thearray orientation specified with the LAY keyword) and the values for theincluded sets or curvesThe first line should contain all the dates from the dividend set (if included),the exercise date set (if included), the rate curve (if included); and thevolatility curve (if included)The other lines stand for the dividend amounts (if included), the exerciseflags (if included), the rates (if included); and the volatility values (if included),in the order specified with the CAS keyword in OptionStructure

OptionStructure : Extended argument defining the option structureOpMode : Extended argument defining the option mode

=OpCalcDerivDiv(CalcDate, ExpiryDate, SpotPrice, StrikePrice, Volatility,RiskFreeRate, DivArray, OptionStructure, OpMode)

Returns in an array all derivatives (delta, gamma, rho, theta, vega) of an option, the underlying of whichpays discrete dividends, assuming a constant volatility and risk-free interest rate.

Arguments

CalcDate : Calculation dateExpiryDate : Expiry date of the option / warrantSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Exercise or strike price of the option / warrantVolatility : Anticipated volatility of the underlyingRiskFreeRate : Yearly rate for an equivalent risk-free investmentDivArray : 2-dimensional array containing the dividend dates and the corresponding

dividends expressed as amounts if OCM:CFD or as percentage of the spotprice if OCM:CPD (the orientation of this array should be specified with theLAY keyword in OptionStructure if it is different from the defaultorientation)

OptionStructure : Extended argument defining the option structureOpMode : Extended argument defining the option mode

=OpImpliedVol(CalcDate, ExpiryDate, SpotPrice, StrikePrice, Premium, RiskFreeRate,Rate2, OptionStructure)

Calculates the implied volatility of an option from the option premium.

Arguments

CalcDate : Calculation dateExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrument

Adfin Options Functions - User's Guide

11

StrikePrice : Exercise or strike price of the optionPremium : Market or spot price of the optionRiskFreeRate : Yearly rate for an equivalent risk-free investmentRate2 : Additional yearly rate

Commodities : carrying costsCurrencies : risk free rate for the foreign currencyFutures : 0Stocks : annual security yield

OptionStructure : Extended argument defining the option structure

=OpImpliedVolDiv(OpCalcDate, OpExpiryDate, SpotPrice, OpStrikePrice,OpPremium, RiskFreeRate, DivArray, OptionStructure)

Calculates the implied volatility of an option, the underlying of which pays discrete dividends, assuminga constant risk-free interest rate.

Arguments

OpCalcDate : Calculation dateOpExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentOpStrikePrice : Exercise or strike price of the optionOpPremium : Market or spot price of the optionRiskFreeRate : Yearly rate for an equivalent risk-free investmentDivArray : 2-dimensional array containing the dividend dates and the corresponding

dividends expressed as amounts if OCM:CFD or as percentage of the spotprice if OCM:CPD (the orientation of this array should be specified with theLAY keyword in OptionStructure if it is different from the defaultorientation)

OptionStructure : Extended argument defining the option structure

=OpPremium (CalcDate, ExpiryDate, SpotPrice, StrikePrice, Volatility,RiskFreeRate, Rate2, OptionStructure)

Calculates the premium of an option, the underlying of which pays a continuous dividend yield,assuming a constant volatility and risk-free interest rate.

Arguments

CalcDate : Calculation dateExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Exercise or strike price of the optionVolatility : Anticipated volatility of the underlyingRiskFreeRate : Yearly rate for an equivalent risk-free investmentRate2 : Additional yearly rate

Commodities : carrying costsCurrencies : risk free rate for the foreign currencyFutures : 0Stocks : annual security yield

OptionStructure : Extended argument defining the option structure

=OpPremiumCrv(OpCalcDate, OpExpiryDate, SpotPrice, StrikePrice, Volatility,RiskFreeRate, Rate2, CrvArray, OptionStructure)

Adfin Options Functions - User's Guide

12

Calculates the premium of an option using a set of discrete dividends, and/or a set of exercise dates,and/or a risk-free rate curve, and/or a volatility curve.

The sets or curves included in the CrvArray parameter should be specified in OptionStructureusing the CAS keyword.

Arguments

CalcDate : Calculation dateExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Exercise or strike price of the optionVolatility : Anticipated volatility of the underlying (this parameter should be set to 0 if a

volatility curve is included in the CrvArray parameter)RiskFreeRate : Yearly rate for an equivalent risk-free investment (this parameter should be

set to 0 if a risk-free rate curve is included in the CrvArray parameter)Rate2 : Additional yearly rate (this parameter should be set to 0 if a dividend set is

included in the CrvArray parameter)Commodities : carrying costsCurrencies : risk free rate for the foreign currencyFutures : 0Stocks : annual security yield

CrvArray : 2-dimensional array containing the dates (row or column depending on thearray orientation specified with the LAY keyword) and the values for theincluded sets or curvesThe first line should contain all the dates from the dividend set (if included),the exercise date set (if included), the rate curve (if included); and thevolatility curve (if included)The other lines stand for the dividend amounts (if included), the exerciseflags (if included), the rates (if included); and the volatility values (if included),in the order specified with the CAS keyword in OptionStructure

OptionStructure : Extended argument defining the option structure

=OpPremiumDiv(CalcDate, ExpiryDate, SpotPrice, StrikePrice, Volatility,RiskFreeRate, DivArray, OptionStructure)

Calculates the premium of an option, the underlying of which pays discrete dividends, assuming aconstant volatility and risk-free interest rate.

Arguments

CalcDate : Calculation dateExpiryDate : Expiry date of the optionSpotPrice : Market or spot price of the underlying instrumentStrikePrice : Exercise or strike price of the optionVolatility : Anticipated volatility of the underlyingRiskFreeRate : Yearly rate for an equivalent risk-free investmentDivArray : 2-dimensional array containing the dividend dates and the corresponding

dividends expressed as amounts if OCM:CFD or as percentage of the spotprice if OCM:CPD (the orientation of this array should be specified with theLAY keyword in OptionStructure if it is different from the defaultorientation)

OptionStructure : Extended argument defining the option structure

Adfin Options Functions - User's Guide

13

1.2. BOND OPTIONS

1.2.1. AdBondOptionDeriv

=AdBondOptionDeriv(CalcDate, RateArray, BondMaturity, Coupon, ExpiryDate,StrikePrice, BondStructure, OptionStructure, RateStructure, CalcStructure,AdMode)

Returns an array of all the derivatives (delta, gamma, rho, theta, vega) of a bond option defined from abond structure.

Arguments

CalcDate : Calculation dateRateArray : Term Structure array. Depending on the model, this array has several forms:

• a (Date, Rate, Volatility) array for the Black Derman Toy model• a (Date, Rate, Volatility, Mean-reversion) array for the Hull & White

model.BondMaturity : Maturity date of the bondCoupon : CouponExpiryDate : Expiry date of the optionStrikePrice : Strike of the optionBondStructure : Extended argument defining the bond structureOptionStructure : Extended argument defining the option structureRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation methodAdMode : Extended argument customizing the return value

Return Value

The return value depends on the value of AdMode. The default value is a vertical 5-cell arraycontaining:

Delta : Delta ratioGamma : Gamma ratioRho : Rho ratioTheta : Theta ratioVega : Vega ratio

When this array function is used as a standard function, all the elements are returned. To return thesecond element use "RET:2" as AdMode.Similarly, when used with a horizontal array, only the first element is returned into all the cells of thearray. To return a correct, array use "LAY:H" as AdMode.It is also possible to return both parameter names and values using for instance "RET:B5" asAdMode (in this case you must select a 2-column and 5-row array).

Notes

The string value used for OptionStructure cannot be empty. It must include at least the optiontype (keyword CALL or PUT).By default, Adfin assumes that the StrikePrice argument stands for the gross price of thebond. To use the clean price of the bond, use the PX keyword in CalcStructure.

See also

AdBondOptionPremium

Adfin Options Functions - User's Guide

14

1.2.2. AdBondOptionPremium

=AdBondOptionPremium(CalcDate, RateArray, BondMaturity, Coupon, ExpiryDate,StrikePrice, BondStructure, OptionStructure, RateStructure, CalcStructure,AdMode)

Calculates the premium of a bond option defined from a bond structure.

Arguments

CalcDate : Calculation dateRateArray : Term Structure array. Depending on the model, this array has several forms:

• a (Date, Rate, Volatility) array for the Black Derman Toy model• a (Date, Rate, Volatility, Mean-reversion) array for the Hull & White

model.BondMaturity : Maturity date of the bondCoupon : CouponExpiryDate : Expiry date of the optionStrikePrice : Strike price of the optionBondStructure : Extended argument defining the bond structureOptionStructure : Extended argument defining the option structureRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation methodAdMode : Extended argument customizing the return value

Return Value

The return value depends on the value of AdMode. The default value is the bond option premium. Ifneeded, the second returned value is the bond price.

Notes

The string value used for OptionStructure cannot be empty. It must include at least the optiontype (keyword CALL or PUT).By default, Adfin assumes that the StrikePrice argument stands for the gross price of thebond. To use the clean price of the bond, use the PX keyword in CalcStructure.

See also

AdBondOptionDeriv

1.2.3. Previous Versions

Important

Previous versions of Adfin Options include the following functions:

BdOpPremium and BdOpDerivCfOpPremium and CfOpDeriv.

Because of the new architecture of Adfin Analytics, these old functions have been replaced with thenew functions AdBondOptionPremium, and AdBondOptionDerivAdfin Options supports both architectures. However, you are advised to use these new functions thatoffer better performance and flexibility.

Adfin Options Functions - User's Guide

15

Old Functions

=BdOpPremium(CalcDate, DateArray, RateArray, VolatilityArray, Maturity,Coupon, ExpiryDate, StrikePrice, BondStructure, OptionStructure, OpMode)

Calculates the premium of a bond option defined from a bond structure.

Arguments

CalcDate : Calculation dateDateArray : Array of datesRateArray : Array of annualised zero-coupon ratesVolatilityArray : Array of annualised volatilities of the short rateMaturity : Maturity date of the bondCoupon : Nominal coupon rate of the bondExpiryDate : Expiry date of the optionStrikePrice : Exercise or strike price of the optionBondStructure : Extended argument defining the bond structureOptionStructure : Extended argument defining the option structureOpMode : Extended argument customizing the return value

=BdOpDeriv(CalcDate, DateArray, RateArray, VolatilityArray, Maturity,Coupon, ExpiryDate, StrikePrice, BondStructure, OptionStructure, OpMode)

Returns in an array all derivatives (delta, gamma, rho, theta, vega) of a bond option defined from abond structure.

Arguments

CalcDate : Calculation dateDateArray : Array of datesRateArray : Array of annualized zero-coupon ratesVolatilityArray : Array of annualized volatilities of the short rateMaturity : Maturity date of the bondCoupon : Nominal coupon rate of the bondExpiryDate : Expiry date of the optionStrikePrice : Exercise or strike price of the optionBondStructure : Extended argument defining the bond structureOptionStructure : Extended argument defining the option structureOpMode : Extended argument customizing the return value

=CfOpPremium(CalcDate, DateArray, RateArray, VolatilityArray, CfDates, Cf,ExpiryDate, StrikePrice, OptionStructure, OpMode)

Calculates the premium of a bond option defined from a set of cash flows.

Arguments

CalcDate : Calculation dateDateArray : Array of datesRateArray : Array of annualised zero-coupon ratesVolatilityArray : Array of annualised volatilities of the short rateCfDates : Array of cash flow dates corresponding to the bond reimbursementCf : Array of cash flow values corresponding to the bond reimbursementExpiryDate : Expiry date of the optionStrikePrice : Exercise or strike price of the option

Adfin Options Functions - User's Guide

16

OptionStructure : Extended argument defining the option structureOpMode : Extended argument customizing the return value

=CfOpDeriv(CalcDate, DateArray, RateArray, VolatilityArray, CfDates, Cf,ExpiryDate, StrikePrice, OptionStructure, OpMode)

Returns in an array all derivatives (delta, gamma, rho, theta, vega) of a bond option defined from a setof cash flows.

Arguments

CalcDate : Calculation dateDateArray : Array of datesRateArray : Array of annualized zero-coupon ratesVolatilityArray : Array of annualized volatilities of the short rateCfDates : Array of cash flow dates corresponding to the bond reimbursementCf : Array of cash flow values corresponding to the bond reimbursementExpiryDate : Expiry date of the optionStrikePrice : Exercise or strike price of the optionOptionStructure : Extended argument defining the option structureOpMode : Extended argument customizing the return value

1.3. CAPS, FLOORS AND COLLARS

1.3.1. AdCapFloorCaplets

=AdCapFloorCaplets(SettlementDate, RateArray, StartDate, ExpiryDate,CapStrikePrice, FloorStrikePrice, FirstRate, CapFloorStructure,RateStructure, CalcStructure, AdMode)

Generates an array with the caplet/floret premiums of a cap, floor, collar.

Arguments

SettlementDate : Settlement dateRateArray : Term Structure array. Depending on the model, this array has several forms:

• a (Dates, Rates, Constant volatility) array if BS is specified• a (Dates, Rates, Volatilities) array if BDT is specified• a (Dates, Rates, Constant volatility, constant mean-reversion) if HW is

specifiedThe model used is specified through the keyword RM (Rate Model) in theRateStructure argument.

StartDate : Start date of the cap, floor, or collarExpiryDate : Expiry date of the cap, floor, or collar (expressed as a date or a code such as

"1Y")CapStrikePrice : Exercise or strike price of the capFloorStrikePrice : Exercise or strike price of the floorFirstRate : Rate of the cap, floor, or collar for the current calculation periodCapFloorStructure : Extended argument defining the instrumentRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation methodAdMode : Extended argument customizing the return value

Adfin Options Functions - User's Guide

17

Return Value

The return value is a vertical 5-column array containing for all caplets or floorlets, the date, the strikeprice, the volatility, the forward rate, and the premium.

Notes

The string value used for CapFloorStructure cannot be empty. It must include at least theinstrument type (keyword CAP, FLOOR or COLLAR) and the caplet or floorlet frequency (keywordFRQ).When using the Hull & White model, only money market rates can be used to price caps and floors.When valuing an already issued instrument, the rate for the current caplet or floorlet must beentered in the function using the argument FirstRate (it cannot be calculated from the zero-coupon yield curve).

See also

AdCapFloorImpliedVolAdCapFloorPremium

1.3.2. AdCapFloorImpliedVol

=AdCapFloorImpliedVol(CalcDate, RateArray, StartDate, ExpiryDate,CapStrikePrice, FloorStrikePrice, FirstRate, Premium, CapFloorStructure,RateStructure, CalcStructure)

Calculates the implied volatility of a cap, floor or collar.

Arguments

CalcDate : Calculation dateRateArray : Term Structure array. This array is a (Dates, Rates, Constant volatility) array

with an empty Constant Volatility column. The keyword RM must be set to BSin the RateStructure argument.

StartDate : Start date of the cap, floor, or collarExpiryDate : Expiry date of the cap, floor, or collar (expressed as a date or a code such as

"1Y")CapStrikePrice : Exercise or strike price of the capFloorStrikePrice : Exercise or strike price of the floorFirstRate : Rate of the cap, floor, or collar for the current calculation periodPremium : Market or spot price of the cap, floor, or collarCapFloorStructure : Extended argument defining the instrumentRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation method

Return Value

The implied volatility of the cap, floor, or collar.

Notes

The string value used for CapFloorStructure cannot be empty. It must include at least theinstrument type (keyword CAP, FLOOR or COLLAR) and the caplet or floorlet frequency (keywordFRQ).When valuing an already issued instrument, the rate for the current caplet or floorlet must beentered in the function using the argument FirstRate (it cannot be calculated from the zero-coupon yield curve).

Adfin Options Functions - User's Guide

18

See also

Prior VersionsAdCapFloorCapletsAdCapFloorPremium

1.3.3. AdCapFloorPremium

=AdCapFloorPremium(CalcDate, RateArray, StartDate, ExpiryDate,CapStrikePrice, FloorStrikePrice, FirstRate, CapFloorStructure,RateStructure, CalcStructure)

Calculates the premium of a cap, floor or collar specified in the CapFloorStructure.

Arguments

CalcDate : Calculation dateRateArray : Term Structure array. Depending on the model, this array has several forms:

• a (Dates, Rates, Constant volatility) array if BS is specified• a Dates, Rates, Volatilities) array if BDT is specified• a (Dates, Rates, Constant volatility, constant mean-reversion) if HW is

specifiedThe model used is specified through the keyword RM (Rate Model) in theRateStructure argument.

StartDate : Start date of the cap, floor or collarExpiryDate : Expiry date of the cap, floor, or collar (expressed as a date or a code such as

"1Y")CapStrikePrice : Exercise or strike price of the capFloorStrikePrice : Exercise or strike price of the floorFirstRate : Rate of the cap, floor, or collar for the current calculation periodCapFloorStructure : Extended argument defining the instrumentRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation method

Return Value

The premium of a cap, floor, or collar.

Notes

When using the Hull & White model, only money market rates can be used to price caps and floors.

See also

AdCapFloorCapletsAdCapFloorImpliedVol

Adfin Options Functions - User's Guide

19

1.3.4. Previous Versions

Important

Previous versions of Adfin Options include the following functions:

CpflCapletsCpflDeltaCpflImpliedVolCpflPremium.

Because of the new architecture of Adfin Analytics, these old functions have been replaced with thefollowing functions:

AdCapFloorCapletsAdCapFloorImpliedVolAdCapFloorPremium

Those old functions still work, but you are advised to use the new ones that offer better performanceand flexibility.

Old Functions

=CpflCaplets(CalcDate, ZcDates, ZcRates, StartDate, Maturity, CapStrikePrice,FloorStrikePrice, FirstRate, Volatility, OptionStructure, YcMode)

Generates an array with the caplet/floret premiums of a cap/floor/collar.

Arguments

CalcDate : Calculation dateZcDates : Array of zero-coupon datesZcRates : Array of zero-coupon rates or discount factorsStartDate : Start date of the cap/floor/collarMaturity : Maturity date of the cap/floor/collar (expressed as a date or a code such as

"1Y")CapStrikePrice : Exercise or strike price of the capFloorStrikePrice : Exercise or strike price of the floorFirstRate : Rate of the cap/floor/collar for the current calculation periodVolatility : Anticipated volatility of the underlying in percentageOptionStructure : Extended argument defining the option structureYcMode : Extended argument customizing the return value

Return Value

The return value is a vertical 5-column array containing for all caplets/floorlets, the date, the strikeprice, the volatility, the forward rate, and the premium.

=CpflDelta(CalcDate, ZcDates, ZcRates, StartDate, Maturity, CapStrikePrice,FloorStrikePrice, FirstRate, Volatility, OptionStructure, YcMode)

Calculates the delta ratio of a cap/floor/collar.

Adfin Options Functions - User's Guide

20

Arguments

CalcDate : Calculation dateZcDates : Array of zero-coupon datesZcRates : Array of zero-coupon rates or discount factorsStartDate : Start date of the cap/floor/collarMaturity : Maturity date of the cap/floor/collar (expressed as a date or a code such as

"1Y")CapStrikePrice : Exercise or strike price of the capFloorStrikePrice : Exercise or strike price of the floorFirstRate : Rate of the cap/floor/collar for the current calculation periodVolatility : Anticipated volatility of the underlying in percentageOptionStructure : Extended argument defining the option structureYcMode : Extended argument customizing the return value

Return Value

The delta ratio of the cap/floor/collar.

=CpflImpliedVol(CalcDate, ZcDates, ZcRates, StartDate, Maturity, CapStrikePrice,FloorStrikePrice, FirstRate, Premium, OptionStructure, YcMode)

Calculates the implied volatility of a cap/floor/collar.

Arguments

CalcDate : Calculation dateZcDates : Array of zero-coupon datesZcRates : Array of zero-coupon rates or discount factorsStartDate : Start date of the cap/floor/collarMaturity : Maturity date of the cap/floor/collar (expressed as a date or a code such as

"1Y")CapStrikePrice : Exercise or strike price of the capFloorStrikePrice : Exercise or strike price of the floorFirstRate : Rate of the cap/floor/collar for the current calculation periodPremium : Market or spot price of the cap/floor/collarOptionStructure : Extended argument defining the option structureYcMode : Extended argument customizing the return value

=CpflPremium(CalcDate, ZcDates, ZcRates, StartDate, Maturity, CapStrikePrice,FloorStrikePrice, FirstRate, Volatility, OptionStructure, YcMode)

Calculates the premium of a cap/floor/collar.

Arguments

CalcDate : Calculation dateZcDates : Array of zero-coupon datesZcRates : Array of zero-coupon rates or discount factorsStartDate : Start date of the cap/floor/collarMaturity : Maturity date of the cap/floor/collar (expressed as a date or a code such as

"1Y")CapStrikePrice : Exercise or strike price of the capFloorStrikePrice : Exercise or strike price of the floor

Adfin Options Functions - User's Guide

21

FirstRate : Rate of the cap/floor/collar for the current calculation periodVolatility : Anticipated volatility of the underlying in percentageOptionStructure : Extended argument defining the option structureYcMode : Extended argument customizing the return value

1.4. SWAPTIONS

1.4.1. AdSwaptionPremium

=AdSwaptionPremium(CalcDate, RateArray, SwapStartDate, SwapMaturity,ExpiryDate, SpotPrice, StrikePrice, SwapStructure, OptionStructure,RateStructure, CalcStructure)

Calculates the premium of a swaption.

Arguments

CalcDate : Settlement dateRateArray : Term Structure array. Depending on the model, this array has several forms:

• a (Dates, Rates, Constant volatility) array if BS is specified• a (Dates, Rates, Volatilities) array if BDT is specified• a (Dates, Rates, Constant volatility, constant mean-reversion) if HW is

specifiedThe model used is specified through the keyword RM (Rate Model) in theRateStructure argument.

SwapStartDate : Start date of the swapSwapMaturity : Maturity date of the swap (expressed as a date or a code such as “1Y”)ExpiryDate : Expiry date of the optionSpotPrice : Spot market rate of the swapStrikePrice : Exercise or strike rate of the swapSwapStructure : Extended argument defining the swapOptionStructure : Extended argument defining the optionRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation method

Return Value

The premium of the option on a swap.

Note

The European mode is the only exercise mode available for a swaption when the keyword RM has thevalues RM:BS or RM:HW.

See also

AdSwaptionDeriv

1.4.2. AdSwaptionDeriv

=AdSwaptionDeriv(CalcDate, RateArray, SwapStartDate, SwapMaturity,ExpiryDate, SpotPrice, StrikePrice, SwapStructure, OptionStructure,RateStructure, CalcStructure, AdMode)

Returns in an array all derivatives (delta, gamma, theta, vega) of an option on a swap.

Adfin Options Functions - User's Guide

22

Arguments

CalcDate : Settlement dateRateArray : Term Structure array. Depending on the model, this array has several forms:

• a ( Dates,Rates, Constant volatility) array if BS is specified• a (Dates, Rates, Volatilities) array if BDT is specified• a (Dates, Rates, Constant volatility, constant mean-reversion) if HW is

specifiedThe model used is specified through the keyword RM (Rate Model) in theRateStructure argument.

SwapStartDate : Start date of the swapSwapMaturity : Maturity date of the swap (expressed as a date or a code such as “1Y”)ExpiryDate : Expiry date of the optionSpotPrice : Spot market rate of the swapStrikePrice : Exercise or strike rate of the swapSwapStructure : Extended argument defining the swapOptionStructure : Extended argument defining the optionRateStructure : Extended argument defining the interest rate modelCalcStructure : Extended argument defining the calculation methodAdMode : Extended argument customizing the return value

Return Value

The return value depends on the value of AdMode. The default value is a vertical 4-cell arraycontaining:

Delta : Delta ratioGamma : Gamma ratioTheta : Theta ratioVega : Vega ratio

See also

AdSwaptionPremium

1.4.3. Previous Versions

Important

Previous versions of Adfin Options include the premium function OpSwaptionPremium. Because of thenew architecture of Adfin Analytics, this old function has been replaced with the new functionAdSwaptionPremium

That old function still works, but you are advised to use the new function that offers better performanceand flexibility.

Old Function

=OpSwaptionPremium (CalcDate, ZcDates, ZcRates, StartDate, Maturity,ExpiryDate, SpotPrice, StrikePrice, Volatility, IrsStructure,OptionStructure, YcMode)

Calculates the premium of a swaption.

Adfin Options Functions - User's Guide

23

Arguments

CalcDate : Calculation dateZcDates : Array of zero-coupon datesZcRates : Array of zero-coupon rates or discount factorsStartDate : Start date of the swapMaturity : Maturity date of the swap (expressed as a date or a code such as "1Y")ExpiryDate : Expiry date of the optionSpotPrice : Spot market rate of the swapStrikePrice : Exercise or strike rate of the swapVolatility : Anticipated volatility of the swap rateIrsStructure : Extended argument defining the interest rate swap structureOptionStructure : Extended argument defining the option structureYcMode : Extended argument customizing the return value