Class CmsTrade
- java.lang.Object
-
- com.opengamma.strata.product.cms.CmsTrade
-
- All Implemented Interfaces:
CalculationTarget,Resolvable<ResolvedCmsTrade>,PortfolioItem,ProductTrade,ResolvableTrade<ResolvedCmsTrade>,Trade,Serializable,org.joda.beans.Bean,org.joda.beans.ImmutableBean
public final class CmsTrade extends Object implements ProductTrade, ResolvableTrade<ResolvedCmsTrade>, org.joda.beans.ImmutableBean, Serializable
A trade in a constant maturity swap (CMS).An Over-The-Counter (OTC) trade in a
Cms.For example, a CMS trade might involve an agreement to exchange the difference between the fixed rate of 1% and the swap rate of 5-year 'GBP-FIXED-6M-LIBOR-6M' swaps every 6 months for 2 years.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCmsTrade.BuilderThe bean-builder forCmsTrade.static classCmsTrade.MetaThe meta-bean forCmsTrade.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static CmsTrade.Builderbuilder()Returns a builder used to create an instance of the bean.booleanequals(Object obj)TradeInfogetInfo()Gets the additional trade information, defaulted to an empty instance.Optional<AdjustablePayment>getPremium()Gets the optional premium of the product.CmsgetProduct()Gets the CMS product that was agreed when the trade occurred.inthashCode()static CmsTrade.Metameta()The meta-bean forCmsTrade.CmsTrade.MetametaBean()ResolvedCmsTraderesolve(ReferenceData refData)Resolves this trade using the specified reference data.PortfolioItemSummarysummarize()Summarizes the portfolio item.CmsTrade.BuildertoBuilder()Returns a builder that allows this bean to be mutated.StringtoString()CmsTradewithInfo(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
-
withInfo
public CmsTrade withInfo(PortfolioItemInfo info)
Description copied from interface:ProductTradeReturns an instance with the specified info.- Specified by:
withInfoin interfacePortfolioItem- Specified by:
withInfoin interfaceProductTrade- Specified by:
withInfoin interfaceResolvableTrade<ResolvedCmsTrade>- Specified by:
withInfoin interfaceTrade- Parameters:
info- the new info- Returns:
- the instance with the specified info
-
summarize
public PortfolioItemSummary summarize()
Description copied from interface:PortfolioItemSummarizes the portfolio item.This provides a summary, including a human readable description.
- Specified by:
summarizein interfacePortfolioItem- Specified by:
summarizein interfaceTrade- Returns:
- the summary of the item
-
resolve
public ResolvedCmsTrade resolve(ReferenceData refData)
Description copied from interface:ResolvableTradeResolves this trade using the specified reference data.This converts this trade to the equivalent resolved form. All
ReferenceDataIdidentifiers in this instance will be resolved. The resultingResolvedTradeis 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:
resolvein interfaceResolvable<ResolvedCmsTrade>- Specified by:
resolvein interfaceResolvableTrade<ResolvedCmsTrade>- Parameters:
refData- the reference data to use when resolving- Returns:
- the resolved trade
-
meta
public static CmsTrade.Meta meta()
The meta-bean forCmsTrade.- Returns:
- the meta-bean, not null
-
builder
public static CmsTrade.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public CmsTrade.Meta metaBean()
- Specified by:
metaBeanin 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:
getInfoin interfacePortfolioItem- Specified by:
getInfoin interfaceTrade- Returns:
- the value of the property, not null
-
getProduct
public Cms getProduct()
Gets the CMS product that was agreed when the trade occurred.The product captures the contracted financial details of the trade.
- Specified by:
getProductin interfaceProductTrade- Returns:
- the value of the property, not null
-
getPremium
public Optional<AdjustablePayment> getPremium()
Gets the optional premium of the product.For certain CMS products, a premium is paid upfront. This typically occurs instead of periodic payments based on fixed or Ibor rates over the lifetime of the product.
The premium sign must be compatible with the product Pay/Receive flag.
- Returns:
- the optional value of the property, not null
-
toBuilder
public CmsTrade.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-