Class FxNdfTrade
- java.lang.Object
-
- com.opengamma.strata.product.fx.FxNdfTrade
-
- All Implemented Interfaces:
CalculationTarget
,Resolvable<ResolvedFxNdfTrade>
,FxTrade
,PortfolioItem
,ProductTrade
,ResolvableTrade<ResolvedFxNdfTrade>
,Trade
,Serializable
,org.joda.beans.Bean
,org.joda.beans.ImmutableBean
public final class FxNdfTrade extends Object implements FxTrade, ResolvableTrade<ResolvedFxNdfTrade>, org.joda.beans.ImmutableBean, Serializable
A trade in a Non-Deliverable Forward (NDF).An Over-The-Counter (OTC) trade in an
FxNdf
.An NDF is a financial instrument that returns the difference between a fixed FX rate agreed at the inception of the trade and the FX rate at maturity. It is primarily used to handle FX requirements for currencies that have settlement restrictions. For example, the forward may be between USD and CNY (Chinese Yuan).
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FxNdfTrade.Builder
The bean-builder forFxNdfTrade
.static class
FxNdfTrade.Meta
The meta-bean forFxNdfTrade
.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FxNdfTrade.Builder
builder()
Returns a builder used to create an instance of the bean.boolean
equals(Object obj)
TradeInfo
getInfo()
Gets the additional trade information, defaulted to an empty instance.FxNdf
getProduct()
Gets the product that was agreed when the trade occurred.int
hashCode()
static FxNdfTrade.Meta
meta()
The meta-bean forFxNdfTrade
.FxNdfTrade.Meta
metaBean()
static FxNdfTrade
of(TradeInfo info, FxNdf product)
Obtains an instance of a Non-Deliverable Forward (NDF) trade.ResolvedFxNdfTrade
resolve(ReferenceData refData)
Resolves this trade using the specified reference data.PortfolioItemSummary
summarize()
Summarizes the portfolio item.FxNdfTrade.Builder
toBuilder()
Returns a builder that allows this bean to be mutated.String
toString()
FxNdfTrade
withInfo(PortfolioItemInfo info)
Returns an instance with the specified info.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.opengamma.strata.product.PortfolioItem
getId
-
-
-
-
Method Detail
-
of
public static FxNdfTrade of(TradeInfo info, FxNdf product)
Obtains an instance of a Non-Deliverable Forward (NDF) trade.- Parameters:
info
- the trade infoproduct
- the product- Returns:
- the trade
-
withInfo
public FxNdfTrade withInfo(PortfolioItemInfo info)
Description copied from interface:ProductTrade
Returns an instance with the specified info.- Specified by:
withInfo
in interfaceFxTrade
- Specified by:
withInfo
in interfacePortfolioItem
- Specified by:
withInfo
in interfaceProductTrade
- Specified by:
withInfo
in interfaceResolvableTrade<ResolvedFxNdfTrade>
- Specified by:
withInfo
in interfaceTrade
- Parameters:
info
- the new info- Returns:
- the instance with the specified info
-
summarize
public PortfolioItemSummary summarize()
Description copied from interface:PortfolioItem
Summarizes the portfolio item.This provides a summary, including a human readable description.
- Specified by:
summarize
in interfacePortfolioItem
- Specified by:
summarize
in interfaceTrade
- Returns:
- the summary of the item
-
resolve
public ResolvedFxNdfTrade resolve(ReferenceData refData)
Description copied from interface:ResolvableTrade
Resolves this trade using the specified reference data.This converts this trade to the equivalent resolved form. All
ReferenceDataId
identifiers in this instance will be resolved. The resultingResolvedTrade
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<ResolvedFxNdfTrade>
- Specified by:
resolve
in interfaceResolvableTrade<ResolvedFxNdfTrade>
- Parameters:
refData
- the reference data to use when resolving- Returns:
- the resolved trade
-
meta
public static FxNdfTrade.Meta meta()
The meta-bean forFxNdfTrade
.- Returns:
- the meta-bean, not null
-
builder
public static FxNdfTrade.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public FxNdfTrade.Meta metaBean()
- Specified by:
metaBean
in interfaceorg.joda.beans.Bean
-
getInfo
public TradeInfo getInfo()
Gets the additional trade information, defaulted to an empty instance.This allows additional information to be attached to the trade.
- Specified by:
getInfo
in interfacePortfolioItem
- Specified by:
getInfo
in interfaceTrade
- Returns:
- the value of the property, not null
-
getProduct
public FxNdf getProduct()
Gets the product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
- Specified by:
getProduct
in interfaceFxTrade
- Specified by:
getProduct
in interfaceProductTrade
- Returns:
- the value of the property, not null
-
toBuilder
public FxNdfTrade.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-