Interface OvernightIborSwapConvention
-
- All Superinterfaces:
Named
,SingleCurrencySwapConvention
,TradeConvention
- All Known Implementing Classes:
ImmutableOvernightIborSwapConvention
public interface OvernightIborSwapConvention extends SingleCurrencySwapConvention, Named
A market convention for Overnight-Ibor swap trades.This defines the market convention for a Overnight-Ibor single currency swap. In USD, this is often known as an Fed Fund Swap. The convention is formed by combining two swap leg conventions in the same currency.
To manually create a convention, see
ImmutableOvernightIborSwapConvention
. To register a specific convention, seeOvernightIborSwapConvention.ini
.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default SwapTrade
createTrade(LocalDate tradeDate, Tenor tenor, BuySell buySell, double notional, double spread, ReferenceData refData)
Creates a spot-starting trade based on this convention.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.static ExtendedEnum<OvernightIborSwapConvention>
extendedEnum()
Gets the extended enum helper.IborRateSwapLegConvention
getIborLeg()
Gets the market convention of the Ibor leg.String
getName()
Gets the name that uniquely identifies this convention.OvernightRateSwapLegConvention
getOvernightLeg()
Gets the market convention of the overnight leg.static OvernightIborSwapConvention
of(String uniqueName)
Obtains an instance from the specified unique name.SwapTrade
toTrade(TradeInfo tradeInfo, LocalDate startDate, LocalDate endDate, BuySell buySell, double notional, double spread)
Creates a trade based on this convention.default SwapTrade
toTrade(LocalDate tradeDate, LocalDate startDate, LocalDate endDate, BuySell buySell, double notional, double spread)
Creates a trade based on this convention.-
Methods inherited from interface com.opengamma.strata.product.swap.type.SingleCurrencySwapConvention
calculateSpotDateFromTradeDate, getSpotDateOffset
-
-
-
-
Method Detail
-
of
static OvernightIborSwapConvention of(String uniqueName)
Obtains an instance from the specified unique name.- Parameters:
uniqueName
- the unique name- Returns:
- the convention
- Throws:
IllegalArgumentException
- if the name is not known
-
extendedEnum
static ExtendedEnum<OvernightIborSwapConvention> extendedEnum()
Gets the extended enum helper.This helper allows instances of the convention to be looked up. It also provides the complete set of available instances.
- Returns:
- the extended enum helper
-
getOvernightLeg
OvernightRateSwapLegConvention getOvernightLeg()
Gets the market convention of the overnight leg.- Returns:
- the overnight leg convention
-
getIborLeg
IborRateSwapLegConvention getIborLeg()
Gets the market convention of the Ibor leg.- Returns:
- the Ibor leg convention
-
createTrade
default SwapTrade createTrade(LocalDate tradeDate, Tenor tenor, BuySell buySell, double notional, double spread, ReferenceData refData)
Creates a spot-starting trade based on this convention.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 Ibor rate is received from the counterparty, with the overnight and spread being paid. If selling the swap, the Ibor rate is paid to the counterparty, with the overnight and spread being received.
- Specified by:
createTrade
in interfaceSingleCurrencySwapConvention
- Parameters:
tradeDate
- the date of the tradetenor
- the tenor of the swapbuySell
- the buy/sell flagnotional
- the notional amountspread
- the spread of added the overnight rates, typically derived from the marketrefData
- the reference data, used to resolve the trade dates- Returns:
- the trade
- Throws:
ReferenceDataNotFoundException
- if an identifier cannot be resolved in the reference data
-
createTrade
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.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 Ibor rate is received from the counterparty, with the overnight and spread being paid. If selling the swap, the Ibor rate is paid to the counterparty, with the overnight and spread being received.
- Specified by:
createTrade
in interfaceSingleCurrencySwapConvention
- Parameters:
tradeDate
- 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 of added the overnight rates, typically derived from the marketrefData
- the reference data, used to resolve the trade dates- Returns:
- the trade
- Throws:
ReferenceDataNotFoundException
- if an identifier cannot be resolved in the reference data
-
toTrade
default SwapTrade toTrade(LocalDate tradeDate, LocalDate startDate, LocalDate endDate, BuySell buySell, double notional, double spread)
Creates a trade based on this convention.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 Ibor rate is received from the counterparty, with the overnight and spread being paid. If selling the swap, the Ibor rate is paid to the counterparty, with the overnight and spread being received.
- Specified by:
toTrade
in interfaceSingleCurrencySwapConvention
- Parameters:
tradeDate
- the date of the tradestartDate
- the start dateendDate
- the end datebuySell
- the buy/sell flagnotional
- the notional amountspread
- the spread of added the overnight rates, typically derived from the market- Returns:
- the trade
-
toTrade
SwapTrade toTrade(TradeInfo tradeInfo, LocalDate startDate, LocalDate endDate, BuySell buySell, double notional, double spread)
Creates a trade based on this convention.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 Ibor rate is received from the counterparty, with the overnight and spread being paid. If selling the swap, the Ibor rate is paid to the counterparty, with the overnight and spread being received.
- Specified by:
toTrade
in interfaceSingleCurrencySwapConvention
- Parameters:
tradeInfo
- additional information about the tradestartDate
- the start dateendDate
- the end datebuySell
- the buy/sell flagnotional
- the notional amountspread
- the spread of added the overnight rates, typically derived from the market- Returns:
- the trade
-
getName
String getName()
Gets the name that uniquely identifies this convention.This name is used in serialization and can be parsed using
of(String)
.- Specified by:
getName
in interfaceNamed
- Specified by:
getName
in interfaceSingleCurrencySwapConvention
- Returns:
- the unique name
-
-