public interface ThreeLegBasisSwapConvention extends SingleCurrencySwapConvention, Named
This defines the market convention for a single currency basis swap. The convention is formed by combining three swap leg conventions in the same currency.
The market price is for the difference (spread) between the values of the two floating legs. This convention has three legs, the "spread leg", the "spread floating leg" and the "flat floating leg". The "spread leg" represented by the fixed leg will be added to the "spread floating leg" which is typically the leg with the shorter underlying tenor. Thus the "spread leg" and "spread floating leg" will have the same pay/receive direction.
To manually create a convention, see ImmutableThreeLegBasisSwapConvention.
To register a specific convention, see ThreeLegBasisSwapConvention.ini.
| Modifier and Type | Method and Description |
|---|---|
default SwapTrade |
createTrade(LocalDate tradeDate,
Period periodToStart,
Tenor tenor,
BuySell buySell,
double notional,
double spread,
ReferenceData refData)
Creates a forward-starting trade based on this convention.
|
default SwapTrade |
createTrade(LocalDate tradeDate,
Tenor tenor,
BuySell buySell,
double notional,
double spread,
ReferenceData refData)
Creates a spot-starting trade based on this convention.
|
static ExtendedEnum<ThreeLegBasisSwapConvention> |
extendedEnum()
Gets the extended enum helper.
|
IborRateSwapLegConvention |
getFlatFloatingLeg()
Gets the market convention of the floating leg that does not have the spread applied.
|
String |
getName()
Gets the name that uniquely identifies this convention.
|
IborRateSwapLegConvention |
getSpreadFloatingLeg()
Gets the market convention of the floating leg to which the spread leg is added.
|
FixedRateSwapLegConvention |
getSpreadLeg()
Gets the market convention of the spread leg.
|
static ThreeLegBasisSwapConvention |
of(String uniqueName)
Obtains an instance from the specified unique name.
|
default SwapTrade |
toTrade(LocalDate tradeDate,
LocalDate startDate,
LocalDate endDate,
BuySell buySell,
double notional,
double spread)
Creates a trade based on this convention.
|
SwapTrade |
toTrade(TradeInfo tradeInfo,
LocalDate startDate,
LocalDate endDate,
BuySell buySell,
double notional,
double spread)
Creates a trade based on this convention.
|
calculateSpotDateFromTradeDate, getSpotDateOffsetstatic ThreeLegBasisSwapConvention of(String uniqueName)
of in interface SingleCurrencySwapConventionuniqueName - the unique nameIllegalArgumentException - if the name is not knownstatic ExtendedEnum<ThreeLegBasisSwapConvention> extendedEnum()
This helper allows instances of the convention to be looked up. It also provides the complete set of available instances.
FixedRateSwapLegConvention getSpreadLeg()
IborRateSwapLegConvention getSpreadFloatingLeg()
IborRateSwapLegConvention getFlatFloatingLeg()
default SwapTrade createTrade(LocalDate tradeDate, Tenor tenor, BuySell buySell, double notional, double spread, ReferenceData refData)
This returns a trade based on the specified tenor. For example, a tenor of 5 years creates a swap starting on the spot date and maturing 5 years later.
The notional is unsigned, with buy/sell determining the direction of the trade. If buying the swap, the rate of the floating flat leg is received from the counterparty, with the rate of the floating spread leg and the spread of the fixed leg being paid. If selling the swap, the opposite occurs.
createTrade in interface SingleCurrencySwapConventiontradeDate - the date of the tradetenor - the tenor of the swapbuySell - the buy/sell flagnotional - the notional amountspread - 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 datadefault SwapTrade createTrade(LocalDate tradeDate, Period periodToStart, Tenor tenor, BuySell buySell, double notional, double spread, ReferenceData refData)
This returns a trade based on the specified period and tenor. For example, a period of 3 months and a tenor of 5 years creates a swap starting three months after the spot date and maturing 5 years later.
The notional is unsigned, with buy/sell determining the direction of the trade. If buying the swap, the rate of the floating flat leg is received from the counterparty, with the rate of the floating spread leg and the spread of the fixed leg being paid. If selling the swap, the opposite occurs.
createTrade in interface SingleCurrencySwapConventiontradeDate - the date of the tradeperiodToStart - the period between the spot date and the start datetenor - the tenor of the swapbuySell - the buy/sell flagnotional - the notional amountspread - 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 datadefault SwapTrade toTrade(LocalDate tradeDate, LocalDate startDate, LocalDate endDate, BuySell buySell, double notional, double spread)
This returns a trade based on the specified dates.
The notional is unsigned, with buy/sell determining the direction of the trade. If buying the swap, the rate of the floating flat leg is received from the counterparty, with the rate of the floating spread leg and the spread of the fixed leg being paid. If selling the swap, the opposite occurs.
toTrade in interface SingleCurrencySwapConventiontradeDate - the date of the tradestartDate - the start dateendDate - the end datebuySell - the buy/sell flagnotional - the notional amountspread - the spread, typically derived from the marketSwapTrade toTrade(TradeInfo tradeInfo, LocalDate startDate, LocalDate endDate, BuySell buySell, double notional, double spread)
This returns a trade based on the specified dates.
The notional is unsigned, with buy/sell determining the direction of the trade. If buying the swap, the rate of the floating flat leg is received from the counterparty, with the rate of the floating spread leg and the spread of the fixed leg being paid. If selling the swap, the opposite occurs.
toTrade in interface SingleCurrencySwapConventiontradeInfo - additional information about the tradestartDate - the start dateendDate - the end datebuySell - the buy/sell flagnotional - the notional amountspread - the spread, typically derived from the marketString getName()
This name is used in serialization and can be parsed using of(String).
getName in interface NamedgetName in interface SingleCurrencySwapConventionCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.