public final class ImmutableIborFutureContractSpec extends Object implements IborFutureContractSpec, org.joda.beans.ImmutableBean, Serializable
The contract specification defines how the future is traded. A specific future is created by specifying the year-month.
| Modifier and Type | Class and Description |
|---|---|
static class |
ImmutableIborFutureContractSpec.Builder
The bean-builder for
ImmutableIborFutureContractSpec. |
| Modifier and Type | Method and Description |
|---|---|
static ImmutableIborFutureContractSpec.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
LocalDate |
calculateReferenceDate(LocalDate tradeDate,
SequenceDate sequenceDate,
ReferenceData refData)
Calculates the reference date from the trade date.
|
IborFuturePosition |
createPosition(SecurityId securityId,
YearMonth expiry,
double quantity,
ReferenceData refData)
Creates a position based on this convention.
|
IborFutureTrade |
createTrade(LocalDate tradeDate,
SecurityId securityId,
SequenceDate sequenceDate,
double quantity,
double price,
ReferenceData refData)
Creates a trade based on this convention.
|
boolean |
equals(Object obj) |
BusinessDayAdjustment |
getBusinessDayAdjustment()
Gets the business day adjustment to apply to the reference date.
|
DateSequence |
getDateSequence()
Gets the sequence of dates that the future is based on.
|
IborIndex |
getIndex()
Gets the Ibor index.
|
String |
getName()
Gets the name, such as 'USD-LIBOR-3M-IMM-CME'.
|
double |
getNotional()
Gets the notional deposit that the contract models.
|
int |
hashCode() |
static org.joda.beans.TypedMetaBean<ImmutableIborFutureContractSpec> |
meta()
The meta-bean for
ImmutableIborFutureContractSpec. |
org.joda.beans.TypedMetaBean<ImmutableIborFutureContractSpec> |
metaBean() |
ImmutableIborFutureContractSpec.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitextendedEnum, ofpublic IborFutureTrade createTrade(LocalDate tradeDate, SecurityId securityId, SequenceDate sequenceDate, double quantity, double price, ReferenceData refData)
IborFutureContractSpec
This returns a trade based on the instructions in the SequenceDate.
The sequence date points at the expiry of the future, which is how they are referred to in the market.
createTrade in interface IborFutureContractSpectradeDate - the trade datesecurityId - the identifier of the securitysequenceDate - the date to be used from the sequence identifying the expiry of the futurequantity - the number of contracts traded, positive if buying, negative if sellingprice - the trade price of the futurerefData - the reference data, used to resolve the trade datespublic LocalDate calculateReferenceDate(LocalDate tradeDate, SequenceDate sequenceDate, ReferenceData refData)
IborFutureContractSpec
This determines the date from the SequenceDate.
calculateReferenceDate in interface IborFutureContractSpectradeDate - the trade datesequenceDate - the date to be used from the sequencerefData - the reference data, used to resolve the datepublic IborFuturePosition createPosition(SecurityId securityId, YearMonth expiry, double quantity, ReferenceData refData)
IborFutureContractSpeccreatePosition in interface IborFutureContractSpecsecurityId - the identifier of the securityexpiry - the expiry year monthquantity - the number of contracts traded, positive if buying, negative if sellingrefData - the reference data, used to resolve the trade datespublic static org.joda.beans.TypedMetaBean<ImmutableIborFutureContractSpec> meta()
ImmutableIborFutureContractSpec.public static ImmutableIborFutureContractSpec.Builder builder()
public org.joda.beans.TypedMetaBean<ImmutableIborFutureContractSpec> metaBean()
metaBean in interface org.joda.beans.Beanpublic String getName()
getName in interface NamedgetName in interface IborFutureContractSpecpublic IborIndex getIndex()
The floating rate to be paid is based on this index It will be a well known market index such as 'GBP-LIBOR-3M'.
getIndex in interface IborFutureContractSpecpublic DateSequence getDateSequence()
This is used to calculate the reference date of the future that is the start date of the underlying synthetic deposit.
public BusinessDayAdjustment getBusinessDayAdjustment()
The reference date, which is often the third Wednesday of the month, will be adjusted as defined here.
public double getNotional()
This is the full notional of the deposit, such as 1 million dollars. The notional expressed here must be positive. The currency of the notional is specified by the index.
getNotional in interface IborFutureContractSpecpublic ImmutableIborFutureContractSpec.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.