PrcIROptionStrategy





http://www.QuantTools.com
CapeTools Exotic Legs function list

Welcome | Documentation format | QuantTools Groups | QuantTools Categories | Licence

Key TAGs | Excel Index | API Index



Prices a capped/floored or a combination of option strategies on a floating (or inverse) leg object via a Black Scholes methodology.

This function cannot price option structures on CMS, In-Arrears, ZeroCoupon, Averaging or Compounding legs.

The leg object that is to be used within this function must have been previously created via a call to one of the following strategy functions.

For regular caps/floors : CreateCapFLTLeg() or CreateFloorFLTLeg(). For BEAR/BULL spread options CreateBBSFLTLeg(). For BACKSPREAD options CreateBKSFLTLeg(). For STRADDLE options CreateSTRDFLTLeg(). For STRANGLE options CreateSTRGFLTLeg(). For BUTTERFLY options CreateBFLYFLTLeg(). For XMASTREE options CreateXTREEFLTLeg(). For CONDOR options CreateCONDORFLTLeg(). These functions would have returned a string 'KEY' which is to be passed to the 'Key' parameter of this function.

Only the option strategy price (and risk numbers) are returned from this function.

To compute the price of the total strategy (option strategy + the underlying leg), you must value the underlying leg object (via the PrcLegObject() or PrcInverseLegObject() (for inverse floater legs) function) and then add this to the 'PREMIUM' output from this function.



Note: Within Excel, the function is named - CT.LEG.PrcIROptionStrategy




High level graphic of PrcIROptionStrategy() function with parameters. Blue square node is the actual function with the parameters ordered.



Parameter Description


  1. Key parameter

    Leg object Key to an already created Leg object (ie FIX legs, FLOAT legs, Quanto, IA etc...).
  2. Level parameter

    Whether you would like to see the PV for the entire structure or for each cashflow. Can include extended information. Valid values are - TOTAL, SUMMARY, CASHFLOW and BREAKDOWN.
  3. FXManagerKey parameter

    Optional key to an already created FXManager object.
  4. ReportPVCcy parameter

    Optional currency code that you wish the value of the leg to be reported in (must be specified if the 'FXManagerKey' parameter is specified).
  5. Greek parameter

    Output - PREMIUM, DELTA, GAMMA, VEGA, VANNA and THETA. If the underlying Index object is a CMS object, then you can only request PREMIUM, DELTA, GAMMA or VEGA (VEGA, not via the full integration via swaption method). All the greeks (except 'PREMIUM') output are equivalent to the mathematical notion of a derivative, thus if you would like to see the risk in terms of a finite movement (ie - 5 percent or 10 basis points move in the interested parameter) simply multiply the output amount by the shift of interest.


Extended information

Function Syntax

VB Syntax


Variant CTExoticLegs.PrcIROptionStrategy( _
String Key, _
String Level, _
String FXManagerKey, _
CCYEnum ReportPVCcy, _
String Greek)


Excel Spreadsheet Syntax


=CT.LEG.PrcIROptionStrategy(
Excel String Cell Key,
Excel String Cell Level,
Excel String Cell FXManagerKey,
Excel String Cell ReportPVCcy,
Excel String Cell Greek)


C++ Syntax


static CTRangeDataCPP PrcIROptionStrategy(
std::string Key,
std::string Level,
std::string FXManagerKey,
CCYEnum ReportPVCcy,
std::string Greek);


DotNET Syntax


CTRangeData CTExoticLegsSA.PrcIROptionStrategy(
System.String Key,
System.String Level,
System.String FXManagerKey,
CTIEnums.CCYEnum ReportPVCcy,
System.String Greek);

Parameter data types

ArgNameArgTypeIsKey
KeyStringTRUE
LevelStringFALSE
FXManagerKeyStringTRUE
ReportPVCcyCCYEnumFALSE
GreekStringFALSE


Example Inputs

The first column represents the name of the parameters. The second column specifies whether the parameters are optional or not. Finally the last column provides some sample input data.
Function call input string-keys are always in the format : "NAME.EXTTAG.TICKER" The "EXTTAG.TICKER" part is determined from the output of other, capetools, object creation functions.


ArgNameIsOptional (Excel only)Example
KeyFALSEKeyNAME.EXTTAG.TICKER (from a function call)
LevelFALSESUMMARY
FXManagerKeyTRUEFXManagerKeyNAME.EXTTAG.TICKER (from a function call)
ReportPVCcyTRUEGBP
GreekFALSEPREMIUM


Example function usage


The C# example below contains all the sub-function calls leading up to this function call. As a result, the example can contain a lot of code.

The VB.NET, J#, C++.NET, Java, Excel VBA, Visual Basic 6 (via COM) and C++ examples below contain function code stubs for the calls leading up to this function call. However, the function call for this function is displayed.
You can easily reproduce the stub functions code from the C# example.


If you are accessing this functrion via the MiniXL libraries, this function is present within the CT.QL.IRLegs20 MiniXL Excel Addin.

Within our Excel Example Addin Generator, we have used the following QuantTools sub-functions in order to prepare the arguments needed to call the PrcIROptionStrategy() function. If you are executing this function via the MiniXL libraries, the module addin name, (in brackets, to the right of the sub-functions listed below), indicates the MiniXL library in which the sub-function is held. You will need to load this library into your Excel session (along with any other libraries that the sub-function call within the addin requires (ie - CT.QT.Utils20 addin in almost all cases) in order for the example to compute successfully.

These are the financial QuantTools sub-function calls that are used within the examples :





The objects generated by these sub-functions are inter-connected in the following way :




The following four examples demostrate calling this function within a Microsoft .NET environment

The following four examples demostrate calling this function within a non .NET environment

The following is a sample output from executing the PrcIROptionStrategy() function call


Example
GearingCallPutUnderlyingExerciseTimeStrikeVolResult
1CALL0.0405483389170.02980.49798-27186.9
1CALL0.0409483390090.02980.500897-28314
1CALL0.0413483391000.02980.503818-30209
1CALL0.0417483391910.02980.506943-32042.4
1CALL0.0446786392820.02980.504255-37626.6
1CALL0.0451786393730.02980.50716-39505.2
1CALL0.0456786394640.02980.510148-41353
1CALL0.0461786395550.02980.513265-43177.1
1CALL0.048725396460.02980.51228-48664.5
1CALL0.049325397380.02980.515503-50643
1CALL0.049925398320.02980.518824-51482.5
1CALL0.0460256399200.02980.530887-47016.9
1CALL0.0460285400110.02980.535418-48529.9
1CALL0.0460285401050.02980.540059-49535.9
1CALL0.0460228401970.02980.544781-49406.3
1CALL0.0460256402870.02980.549554-50899.2
1CALL0.0450438403780.02980.556782-50919.6
1CALL0.0450438404700.02980.561721-51862.9
1CALL0.0450384405620.02980.566743-51640.1
1CALL0.0450411406520.02980.571817-53116.9



Copyright (c) 2003-2007 CapeTools - All Rights Reserved.