public final class XCcyIborIborSwapTemplate extends Object implements TradeTemplate, org.joda.beans.ImmutableBean, Serializable
This defines almost all the data necessary to create a Ibor-Ibor cross-currency SwapTrade.
The trade date, notional and spread are required to complete the template and create the trade.
As such, it is often possible to get a market price for a trade based on the template.
The market price is typically quoted as a spread on one leg.
The template references four dates.
| Modifier and Type | Class and Description |
|---|---|
static class |
XCcyIborIborSwapTemplate.Builder
The bean-builder for
XCcyIborIborSwapTemplate. |
static class |
XCcyIborIborSwapTemplate.Meta
The meta-bean for
XCcyIborIborSwapTemplate. |
| Modifier and Type | Method and Description |
|---|---|
static XCcyIborIborSwapTemplate.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
SwapTrade |
createTrade(LocalDate tradeDate,
BuySell buySell,
double notionalSpreadLeg,
double notionalFlatLeg,
double spread,
ReferenceData refData)
Creates a trade based on this template.
|
boolean |
equals(Object obj) |
XCcyIborIborSwapConvention |
getConvention()
Gets the market convention of the swap.
|
CurrencyPair |
getCurrencyPair()
Gets the currency pair of the template.
|
Period |
getPeriodToStart()
Gets the period between the spot value date and the start date.
|
Tenor |
getTenor()
Gets the tenor of the swap.
|
int |
hashCode() |
static XCcyIborIborSwapTemplate.Meta |
meta()
The meta-bean for
XCcyIborIborSwapTemplate. |
XCcyIborIborSwapTemplate.Meta |
metaBean() |
static XCcyIborIborSwapTemplate |
of(Period periodToStart,
Tenor tenor,
XCcyIborIborSwapConvention convention)
Obtains a template based on the specified period, tenor and convention.
|
static XCcyIborIborSwapTemplate |
of(Tenor tenor,
XCcyIborIborSwapConvention convention)
Obtains a template based on the specified tenor and convention.
|
XCcyIborIborSwapTemplate.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
public static XCcyIborIborSwapTemplate of(Tenor tenor, XCcyIborIborSwapConvention convention)
The swap will start on the spot date.
tenor - the tenor of the swapconvention - the market conventionpublic static XCcyIborIborSwapTemplate of(Period periodToStart, Tenor tenor, XCcyIborIborSwapConvention convention)
The period from the spot date to the start date is specified. The tenor from the start date to the end date is also specified.
periodToStart - the period between the spot date and the start datetenor - the tenor of the swapconvention - the market conventionpublic CurrencyPair getCurrencyPair()
public SwapTrade createTrade(LocalDate tradeDate, BuySell buySell, double notionalSpreadLeg, double notionalFlatLeg, double spread, ReferenceData refData)
This returns a trade based on the specified trade date.
The notional is unsigned, with buy/sell determining the direction of the trade. If buying the swap, the rate of the flat leg is received, with the rate of the spread leg being paid. If selling the swap, the opposite occurs.
tradeDate - the date of the tradebuySell - the buy/sell flagnotionalSpreadLeg - the notional amount for the spread legnotionalFlatLeg - the notional amount for the flat legspread - the spread, typically derived from the marketrefData - the reference data, used to resolve the trade datesReferenceDataNotFoundException - if an identifier cannot be resolved in the reference datapublic static XCcyIborIborSwapTemplate.Meta meta()
XCcyIborIborSwapTemplate.public static XCcyIborIborSwapTemplate.Builder builder()
public XCcyIborIborSwapTemplate.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic Period getPeriodToStart()
This is often zero, but can be greater if the swap if forward starting. This must not be negative.
public Tenor getTenor()
This is the period from the first accrual date to the last accrual date.
public XCcyIborIborSwapConvention getConvention()
public XCcyIborIborSwapTemplate.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.