SwapFIXFIX2





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



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




High level graphic of SwapFIXFIX2() 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. PayNotional parameter

    Notional amount of the paying leg of the swap.
  4. RecNotional parameter

    Notional amount of the receiving leg of the swap.
  5. PayCcy parameter

    The currency of the paying leg.
  6. RecCcy parameter

    The currency of the receiving leg.
  7. startDate parameter

    Start date of the swap.
  8. matDate parameter

    Unadjusted maturity date of the swap.
  9. PayDayCount parameter

    Daycounter required for year length calculations. Used for each cashflow period of the PAY leg of the swap.
  10. PayCouponFreq parameter

    The Frequency of the paying FIX leg coupon payments.
  11. PayBusDayConv parameter

    Business Day Convention to use (Pay leg).
  12. PayCalKey parameter

    Key to an already constructed Calendar object. Used to adjust dates for holidays (Pay leg).
  13. PayCoupon parameter

    Flat fixed rate coupon (Pay leg).
  14. PayYCKey parameter

    Key to an already constructed YieldCurve object. This curve will be used for discounting flows on the Receive leg.
  15. RecDayCount parameter

    Daycounter required for year length calculations. Used for each cashflow period of the RECieving leg of the swap.
  16. RecCouponFreq parameter

    The Frequency of the FIX leg coupon payments (receiving leg).
  17. RecBusDayConv parameter

    Business Day Convention to use (receiving leg).
  18. RecCalKey parameter

    Key to an already constructed Calendar object. Used to adjust dates for holidays (receiving leg).
  19. RecCoupon parameter

    Flat fixed rate coupon (receiving leg).
  20. RecYCKey parameter

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

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

    Optional key to an already created FXManager object.
  23. 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.SwapFIXFIX2( _
String Key, _
Long Reload, _
Double PayNotional, _
Double RecNotional, _
CCYEnum PayCcy, _
CCYEnum RecCcy, _
Long startDate, _
Long matDate, _
DayCountEnum PayDayCount, _
FreqEnum PayCouponFreq, _
BDCEnum PayBusDayConv, _
String PayCalKey, _
Double PayCoupon, _
String PayYCKey, _
DayCountEnum RecDayCount, _
FreqEnum RecCouponFreq, _
BDCEnum RecBusDayConv, _
String RecCalKey, _
Double RecCoupon, _
String RecYCKey, _
Boolean Exchange, _
String FXManagerKey, _
CCYEnum ReportPVCcy)


Excel Spreadsheet Syntax


=CT.SWP.SwapFIXFIX2(
Excel String Cell Key,
Excel Numeric Cell Reload,
Excel Numeric Cell PayNotional,
Excel Numeric Cell RecNotional,
Excel String Cell PayCcy,
Excel String Cell RecCcy,
Excel Numeric Cell startDate,
Excel Numeric Cell matDate,
Excel String Cell PayDayCount,
Excel String Cell PayCouponFreq,
Excel String Cell PayBusDayConv,
Excel String Cell PayCalKey,
Excel Numeric Cell PayCoupon,
Excel String Cell PayYCKey,
Excel String Cell RecDayCount,
Excel String Cell RecCouponFreq,
Excel String Cell RecBusDayConv,
Excel String Cell RecCalKey,
Excel Numeric Cell RecCoupon,
Excel String Cell RecYCKey,
Excel Boolean Value Cell Exchange,
Excel String Cell FXManagerKey,
Excel String Cell ReportPVCcy)


C++ Syntax


static std::string SwapFIXFIX2(
std::string Key,
long Reload,
double PayNotional,
double RecNotional,
CCYEnum PayCcy,
CCYEnum RecCcy,
long startDate,
long matDate,
DayCountEnum PayDayCount,
FreqEnum PayCouponFreq,
BDCEnum PayBusDayConv,
std::string PayCalKey,
double PayCoupon,
std::string PayYCKey,
DayCountEnum RecDayCount,
FreqEnum RecCouponFreq,
BDCEnum RecBusDayConv,
std::string RecCalKey,
double RecCoupon,
std::string RecYCKey,
bool Exchange,
std::string FXManagerKey,
CCYEnum ReportPVCcy);


DotNET Syntax


System.String CTSwapsSA.SwapFIXFIX2(
System.String Key,
System.Int32 Reload,
System.Double PayNotional,
System.Double RecNotional,
CTIEnums.CCYEnum PayCcy,
CTIEnums.CCYEnum RecCcy,
System.Int32 startDate,
System.Int32 matDate,
CTIEnums.DayCountEnum PayDayCount,
CTIEnums.FreqEnum PayCouponFreq,
CTIEnums.BDCEnum PayBusDayConv,
System.String PayCalKey,
System.Double PayCoupon,
System.String PayYCKey,
CTIEnums.DayCountEnum RecDayCount,
CTIEnums.FreqEnum RecCouponFreq,
CTIEnums.BDCEnum RecBusDayConv,
System.String RecCalKey,
System.Double RecCoupon,
System.String RecYCKey,
System.Boolean Exchange,
System.String FXManagerKey,
CTIEnums.CCYEnum ReportPVCcy);

Parameter data types

ArgNameArgTypeIsKey
KeyStringFALSE
ReloadLongFALSE
PayNotionalDoubleFALSE
RecNotionalDoubleFALSE
PayCcyCCYEnumFALSE
RecCcyCCYEnumFALSE
startDateLongFALSE
matDateLongFALSE
PayDayCountDayCountEnumFALSE
PayCouponFreqFreqEnumFALSE
PayBusDayConvBDCEnumFALSE
PayCalKeyStringTRUE
PayCouponDoubleFALSE
PayYCKeyStringTRUE
RecDayCountDayCountEnumFALSE
RecCouponFreqFreqEnumFALSE
RecBusDayConvBDCEnumFALSE
RecCalKeyStringTRUE
RecCouponDoubleFALSE
RecYCKeyStringTRUE
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
KeyFALSEMySwapFIXFIX2
ReloadFALSE1
PayNotionalFALSE100000000
RecNotionalFALSE100000000
PayCcyFALSEEUR
RecCcyFALSEEUR
startDateFALSE21/Jul/2006 (serial date type)
matDateFALSE21/Jul/2016 (serial date type)
PayDayCountFALSEACT365F
PayCouponFreqFALSEQ
PayBusDayConvFALSEModifiedFollowing
PayCalKeyFALSEPayCalKeyNAME.EXTTAG.TICKER (from a function call)
PayCouponFALSE0.05
PayYCKeyFALSEPayYCKeyNAME.EXTTAG.TICKER (from a function call)
RecDayCountFALSEACT365F
RecCouponFreqFALSEQ
RecBusDayConvFALSEModifiedFollowing
RecCalKeyFALSERecCalKeyNAME.EXTTAG.TICKER (from a function call)
RecCouponFALSE0.045
RecYCKeyFALSERecYCKeyNAME.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 SwapFIXFIX2() 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 SwapFIXFIX2() function call


MySwapFIXFIX2_7.SIMPFIXFIX2.0

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