Class Dsf
- java.lang.Object
-
- com.opengamma.strata.product.dsf.Dsf
-
- All Implemented Interfaces:
Resolvable<ResolvedDsf>
,Product
,SecuritizedProduct
,Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class Dsf extends Object implements SecuritizedProduct, Resolvable<ResolvedDsf>, org.joda.beans.ImmutableBean, Serializable
A deliverable swap futures contract.A deliverable swap future is a financial instrument that physically settles an interest rate swap on a future date. The delivered swap is cleared by a central counterparty. The last future price before delivery is quoted in term of the underlying swap present value. The futures product is margined on a daily basis.
Price
The price of a DSF is based on the present value (NPV) of the underlying swap on the delivery date. For example, a price of 100.182 represents a present value of $100,182.00, if the notional is $100,000. This price can also be viewed as a percentage present value -(100 + percentPv)
, or 0.182% in this example.Strata uses decimal prices for DSFs in the trade model, pricers and market data. The decimal price is based on the decimal multiplier equivalent to the implied percentage. Thus the market price of 100.182 is represented in Strata by 1.00182.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
Dsf.Builder
The bean-builder forDsf
.static class
Dsf.Meta
The meta-bean forDsf
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static Dsf.Builder
builder()
Returns a builder used to create an instance of the bean.boolean
equals(Object obj)
Currency
getCurrency()
Gets the currency of the underlying swap.LocalDate
getDeliveryDate()
Gets the delivery date.LocalDate
getLastTradeDate()
Gets the last date of trading.double
getNotional()
Gets the notional of the futures.SecurityId
getSecurityId()
Gets the security identifier.Swap
getUnderlyingSwap()
Gets the underlying swap.int
hashCode()
static Dsf.Meta
meta()
The meta-bean forDsf
.Dsf.Meta
metaBean()
ResolvedDsf
resolve(ReferenceData refData)
Resolves this object using the specified reference data.Dsf.Builder
toBuilder()
Returns a builder that allows this bean to be mutated.String
toString()
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.opengamma.strata.product.Product
allPaymentCurrencies, isCrossCurrency
-
Methods inherited from interface com.opengamma.strata.product.SecuritizedProduct
allCurrencies
-
-
-
-
Method Detail
-
getCurrency
public Currency getCurrency()
Gets the currency of the underlying swap.The underlying swap must have a single currency.
- Specified by:
getCurrency
in interfaceSecuritizedProduct
- Returns:
- the currency of the swap
-
resolve
public ResolvedDsf resolve(ReferenceData refData)
Description copied from interface:Resolvable
Resolves this object using the specified reference data.This converts the object implementing this interface to the equivalent resolved form. All
ReferenceDataId
identifiers in this instance will be resolved. The resolved form will typically be a type that is optimized for pricing.Resolved objects may be bound to data that changes over time, such as holiday calendars. If the data changes, such as the addition of a new holiday, the resolved form will not be updated. Care must be taken when placing the resolved form in a cache or persistence layer.
- Specified by:
resolve
in interfaceResolvable<ResolvedDsf>
- Parameters:
refData
- the reference data to use when resolving- Returns:
- the resolved instance
-
meta
public static Dsf.Meta meta()
The meta-bean forDsf
.- Returns:
- the meta-bean, not null
-
builder
public static Dsf.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public Dsf.Meta metaBean()
- Specified by:
metaBean
in interfaceorg.joda.beans.Bean
-
getSecurityId
public SecurityId getSecurityId()
Gets the security identifier.This identifier uniquely identifies the security within the system.
- Specified by:
getSecurityId
in interfaceSecuritizedProduct
- Returns:
- the value of the property, not null
-
getNotional
public double getNotional()
Gets the notional of the futures.This is also called face value or contract value.
- Returns:
- the value of the property
-
getLastTradeDate
public LocalDate getLastTradeDate()
Gets the last date of trading.This date must be before the delivery date of the underlying swap.
- Returns:
- the value of the property, not null
-
getDeliveryDate
public LocalDate getDeliveryDate()
Gets the delivery date.The underlying swap is delivered on this date.
- Returns:
- the value of the property, not null
-
getUnderlyingSwap
public Swap getUnderlyingSwap()
Gets the underlying swap.The delivery date of the future is typically the first accrual date of the underlying swap. The swap should be a receiver swap of notional 1.
- Returns:
- the value of the property, not null
-
toBuilder
public Dsf.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-