SwapFIXFLT2





http://www.QuantTools.com
CapeTools Swaps function list

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

Key TAGs | Excel Index | API Index



Creates a simple FIX vs FLT SWAP object with the minimum of arguments.

Both legs can be in different currencies.

Currency information for the float leg is picked up from the index object.

However you cannot specify Quanto features or Compounding features.

You can indicate a CMS index by passing in a CMS index object.



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 : "SIMPFIXFLT2"



Note: Within Excel, the function is named - CT.SWP.SwapFIXFLT2




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



Parameter Description


  1. Key parameter

    Key Handle to be used for the new swap object.
  2. Reload parameter

    When creating this object for the first time, set this parameter to a positive value. Within Excel, when re-computing a worksheet where you do not wish to recreate the object, set this parameter to zero (0).
  3. PayRec parameter

    Whether you would like to PAY or REC the FIXED leg.
  4. Ccy parameter

    The currency of the FIX leg.
  5. NotFIX parameter

    Notional amount of the FIX leg of the swap.
  6. NotFLT parameter

    Notional amount of the FLOAT leg of the swap.
  7. startDate parameter

    Start date of the swap.
  8. matDate parameter

    Unadjusted maturity date of the swap.
  9. FLTDayCount parameter

    Daycounter required for year length calculations. Used for each cashflow period of the FLOAT side of the swap.
  10. IndexKey parameter

    Index Key for the float side of the swap.
  11. SMPFWDRho parameter

    If a CMS index is specified (within the parameter 'IndexKey') and the 'CMSAlgo' parameter within this CMS Index has been set to 'Hull' then the correlation between swap rates and fwd rates is required.
  12. spread parameter

    Flat spread that will be added onto the rate fixings (float side of the swap).
  13. couponFreq parameter

    The Frequency of the FIX leg coupon payments.
  14. BusDayConv parameter

    Business Day Convention to use (FIX leg).
  15. calKey parameter

    Key to an already constructed Calendar object. Used to adjust dates for holidays (FIX leg).
  16. FIXDayCount parameter

    Daycounter required for year length calculations. Used for each cashflow period of the FIX side of the swap.
  17. Coupon parameter

    Flat fixed rate coupon.
  18. FLTMKTKey parameter

    Key to an already constructed MKT object that contains at least a discounting curve (for the FLOATING RATE LEG). The VolCurve should be present if pricing CMS or In-Arrear legs, deals. The curves contained within this object should all be of the same Currency of which must equal the value of the 'Ccy' parameter of this function.
  19. FIXYCKey parameter

    Key to an already constructed YieldCurve object. This curve will be used for discounting flows on the FIXED RATE leg.
  20. Exchange parameter

    Do you wish to exchange the principal amounts (both at the start and end of the swap). Useful for cross-currency swaps.
  21. FXManagerKey parameter

    Optional key to an already created FXManager object.
  22. 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).


Extended information

Function Syntax

VB Syntax


String CTSwaps.SwapFIXFLT2( _
String Key, _
Long Reload, _
PAYRECEnum PayRec, _
CCYEnum Ccy, _
Double NotFIX, _
Double NotFLT, _
Long startDate, _
Long matDate, _
DayCountEnum FLTDayCount, _
String IndexKey, _
Double SMPFWDRho, _
Double spread, _
FreqEnum couponFreq, _
BDCEnum BusDayConv, _
String calKey, _
DayCountEnum FIXDayCount, _
Double Coupon, _
String FLTMKTKey, _
String FIXYCKey, _
Boolean Exchange, _
String FXManagerKey, _
CCYEnum ReportPVCcy)


Excel Spreadsheet Syntax


=CT.SWP.SwapFIXFLT2(
Excel String Cell Key,
Excel Numeric Cell Reload,
Excel String Cell PayRec,
Excel String Cell Ccy,
Excel Numeric Cell NotFIX,
Excel Numeric Cell NotFLT,
Excel Numeric Cell startDate,
Excel Numeric Cell matDate,
Excel String Cell FLTDayCount,
Excel String Cell IndexKey,
Excel Numeric Cell SMPFWDRho,
Excel Numeric Cell spread,
Excel String Cell couponFreq,
Excel String Cell BusDayConv,
Excel String Cell calKey,
Excel String Cell FIXDayCount,
Excel Numeric Cell Coupon,
Excel String Cell FLTMKTKey,
Excel String Cell FIXYCKey,
Excel Boolean Value Cell Exchange,
Excel String Cell FXManagerKey,
Excel String Cell ReportPVCcy)


C++ Syntax


static std::string SwapFIXFLT2(
std::string Key,
long Reload,
PAYRECEnum PayRec,
CCYEnum Ccy,
double NotFIX,
double NotFLT,
long startDate,
long matDate,
DayCountEnum FLTDayCount,
std::string IndexKey,
double SMPFWDRho,
double spread,
FreqEnum couponFreq,
BDCEnum BusDayConv,
std::string calKey,
DayCountEnum FIXDayCount,
double Coupon,
std::string FLTMKTKey,
std::string FIXYCKey,
bool Exchange,
std::string FXManagerKey,
CCYEnum ReportPVCcy);


DotNET Syntax


System.String CTSwapsSA.SwapFIXFLT2(
System.String Key,
System.Int32 Reload,
CTIEnums.PAYRECEnum PayRec,
CTIEnums.CCYEnum Ccy,
System.Double NotFIX,
System.Double NotFLT,
System.Int32 startDate,
System.Int32 matDate,
CTIEnums.DayCountEnum FLTDayCount,
System.String IndexKey,
System.Double SMPFWDRho,
System.Double spread,
CTIEnums.FreqEnum couponFreq,
CTIEnums.BDCEnum BusDayConv,
System.String calKey,
CTIEnums.DayCountEnum FIXDayCount,
System.Double Coupon,
System.String FLTMKTKey,
System.String FIXYCKey,
System.Boolean Exchange,
System.String FXManagerKey,
CTIEnums.CCYEnum ReportPVCcy);

Parameter data types

ArgNameArgTypeIsKey
KeyStringFALSE
ReloadLongFALSE
PayRecPAYRECEnumFALSE
CcyCCYEnumFALSE
NotFIXDoubleFALSE
NotFLTDoubleFALSE
startDateLongFALSE
matDateLongFALSE
FLTDayCountDayCountEnumFALSE
IndexKeyStringTRUE
SMPFWDRhoDoubleFALSE
spreadDoubleFALSE
couponFreqFreqEnumFALSE
BusDayConvBDCEnumFALSE
calKeyStringTRUE
FIXDayCountDayCountEnumFALSE
CouponDoubleFALSE
FLTMKTKeyStringTRUE
FIXYCKeyStringTRUE
ExchangeBooleanFALSE
FXManagerKeyStringTRUE
ReportPVCcyCCYEnumFALSE


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
KeyFALSEMySwapFIXFLT2
ReloadFALSE1
PayRecFALSEPAY
CcyFALSEEUR
NotFIXFALSE100000000
NotFLTFALSE100000000
startDateFALSE21/Jul/2006 (serial date type)
matDateFALSE21/Jul/2016 (serial date type)
FLTDayCountFALSEACT365F
IndexKeyFALSEIndexKeyNAME.EXTTAG.TICKER (from a function call)
SMPFWDRhoTRUE0.8
spreadFALSE0.0002
couponFreqFALSEQ
BusDayConvFALSEModifiedFollowing
calKeyFALSEcalKeyNAME.EXTTAG.TICKER (from a function call)
FIXDayCountFALSEACT365F
CouponFALSE0.05
FLTMKTKeyFALSEFLTMKTKeyNAME.EXTTAG.TICKER (from a function call)
FIXYCKeyFALSEFIXYCKeyNAME.EXTTAG.TICKER (from a function call)
ExchangeFALSEfalse
FXManagerKeyTRUEFXManagerKeyNAME.EXTTAG.TICKER (from a function call)
ReportPVCcyTRUEGBP


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.Swaps20 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 SwapFIXFLT2() 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 SwapFIXFLT2() function call


MySwapFIXFLT2_2.SIMPFIXFLT2.0

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