Creates a portfolio of BUTTERFLY caplets/floorlets from this floating Rate Leg.
This structure produces a portfolio of BUTTERFLY options.
A BUTTERFLY option strategy involves trading in three options on a single floating rate fixing (reset) where the options involved must be either all puts or all calls.
Buying/selling N calls (put) at a lower strike, selling/buying M calls (puts) at a middle strike and finally buying/selling N calls (puts) at a higher strike, where M and N are positive integers and M is greater than N. You can specify whether you would like to PAY (sell/buy/sell) or RECIEVE (buy/sell/buy) the BUTTERFLY options.
This function uses Termstructure models to price this strategy (via the 'engine' parameter).
Via the 'EnablePeriods' parameter, you can indicate which periods you actually want the option strategy to be enabled.
Thus you can indicate, for example, zeros (0) for the first 4 periods and then ones (1's) after that.
This would imply that the option strategies would only kick in after the 4th period.
You can price this strategy via the
PrcIROptionStrategyTS() function.
This function requires the input of a floating leg object (or an inverse floater leg object) key, which must have been produced via a call to one of the numerous Leg construction functions (see the
CapeTools FLOAT Legs or
CapeTools FIXED + FLOAT Legs category of functions).
This strategy does not support CMS, Averaging, InArrears or Compounding legs.
These leg functions will have returned a string 'KEY' which is to be passed to the 'LegKey' parameter of this function.
Unlike the
PrcIROptionStrategy() function, This function returns the leg price, the option strategy price and the sum of the two combined.
This function creates an object and returns a string-key value to represent this created object.
The TAG value of the string-key returned (second part of the key) is : "BFLYFLTLEGTS"
- Key parameter
Key value to use as a handle for the created object
- Reload parameter
When creating this object for the first time, set this parameter to a positive value. Within Excel, when recomputing a worksheet where you do not wish to recreate the object, set this parameter to zero (0).
- LegKey parameter
Key value to an already created base leg (via a call to the
CreateFloatLeg() function).
- EnablePeriods parameter
An array of zero (0's) or ones (1's) indicating whether you want the option strategy to be priced for the corresponding period.
- OptionType parameter
The type of options involved underlying the BUTTERLY strategy (Either CALL or PUT).
- PayRec parameter
Whether you would like to PAY or REC this option strategy.
- OuterGearing parameter
Number of units of the outer options to be traded (options with the lowest and highest strikes).
- InnerGearing parameter
Number of units of the inner options to be traded (options with the middle strike).
- LowStrike parameter
Specify the lower strike(s) for this butterfly.
- MidStrike parameter
Specify the middle strike(s) for this butterfly.
- HighStrike parameter
Specify the higher strike(s) for this butterfly.
- ModelKey parameter
Key value to an already constructed ShortRate Model object (ie BlackKarasinski, HullWhite, Vasicek, G2).
- timeSteps parameter
Number of timesteps within the pricing Tree (ie 100).
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.
Copyright (c) 2003-2007 CapeTools - All Rights Reserved.