public final class BondFuture extends Object implements SecuritizedProduct, Resolvable<ResolvedBondFuture>, org.joda.beans.ImmutableBean, Serializable
A bond future is a financial instrument that is based on the future value of a basket of fixed coupon bonds. The profit or loss of a bond future is settled daily. This class represents the structure of a single futures contract.
FixedCouponBond. The bond futures delivery is a bond
for an amount computed from the bond future price, a conversion factor and the accrued interest.| Modifier and Type | Class and Description |
|---|---|
static class |
BondFuture.Builder
The bean-builder for
BondFuture. |
static class |
BondFuture.Meta
The meta-bean for
BondFuture. |
| Modifier and Type | Method and Description |
|---|---|
static BondFuture.Builder |
builder()
Returns a builder used to create an instance of the bean.
|
boolean |
equals(Object obj) |
ImmutableList<Double> |
getConversionFactors()
Gets the conversion factor for each bond in the basket.
|
Currency |
getCurrency()
Obtains the currency of the underlying fixed coupon bonds.
|
ImmutableList<FixedCouponBond> |
getDeliveryBasket()
Gets the basket of deliverable bonds.
|
Optional<LocalDate> |
getFirstDeliveryDate()
Gets the first delivery date.
|
LocalDate |
getFirstNoticeDate()
Gets the first notice date.
|
Optional<LocalDate> |
getLastDeliveryDate()
Gets the last delivery date.
|
LocalDate |
getLastNoticeDate()
Gets the last notice date.
|
LocalDate |
getLastTradeDate()
Gets the last trading date.
|
double |
getNotional()
Obtains the notional of underlying fixed coupon bonds.
|
Rounding |
getRounding()
Gets the definition of how to round the futures price, defaulted to no rounding.
|
SecurityId |
getSecurityId()
Gets the security identifier.
|
int |
hashCode() |
static BondFuture.Meta |
meta()
The meta-bean for
BondFuture. |
BondFuture.Meta |
metaBean() |
ResolvedBondFuture |
resolve(ReferenceData refData) |
BondFuture.Builder |
toBuilder()
Returns a builder that allows this bean to be mutated.
|
String |
toString() |
clone, finalize, getClass, notify, notifyAll, wait, wait, waitallCurrenciesallPaymentCurrencies, isCrossCurrencypublic double getNotional()
All of the bonds in the delivery basket have the same notional.
public Currency getCurrency()
All of the bonds in the delivery basket have the same currency.
getCurrency in interface SecuritizedProductpublic ResolvedBondFuture resolve(ReferenceData refData)
resolve in interface Resolvable<ResolvedBondFuture>public static BondFuture.Meta meta()
BondFuture.public static BondFuture.Builder builder()
public BondFuture.Meta metaBean()
metaBean in interface org.joda.beans.Beanpublic SecurityId getSecurityId()
This identifier uniquely identifies the security within the system.
getSecurityId in interface SecuritizedProductpublic ImmutableList<FixedCouponBond> getDeliveryBasket()
The underling which will be delivered in the future time is chosen from a basket of underling securities. This must not be empty.
All of the underlying bonds must have the same notional and currency.
public ImmutableList<Double> getConversionFactors()
The price of each underlying security in the basket is rescaled by the conversion factor.
This must not be empty, and its size must be the same as the size of deliveryBasket.
All of the underlying bonds must have the same notional and currency.
public LocalDate getLastTradeDate()
The future security is traded until this date.
public LocalDate getFirstNoticeDate()
The first date on which the delivery of the underlying is authorized.
public LocalDate getLastNoticeDate()
The last date on which the delivery of the underlying is authorized.
public Optional<LocalDate> getFirstDeliveryDate()
The first date on which the underlying is delivered.
If not specified, the date will be computed from firstNoticeDate by using
settlementDateOffset in the first element of the delivery basket
when the future is resolved.
public Optional<LocalDate> getLastDeliveryDate()
The last date on which the underlying is delivered.
If not specified, the date will be computed from lastNoticeDate by using
settlementDateOffset in the first element of the delivery basket
when the future is resolved.
public Rounding getRounding()
The price is represented in decimal form, not percentage form. As such, the decimal places expressed by the rounding refers to this decimal form. For example, the common market price of 99.7125 for a 0.2875% rate is represented as 0.997125 which has 6 decimal places.
public BondFuture.Builder toBuilder()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.