• java.lang.Object
• All Implemented Interfaces:
ResolvedTrade, Serializable, org.joda.beans.Bean, org.joda.beans.ImmutableBean

public final class ResolvedIborFutureOptionTrade
extends Object
implements ResolvedTrade, org.joda.beans.ImmutableBean, Serializable
A trade in an option on a futures contract based on an Ibor index, resolved for pricing.

This is the resolved form of IborFutureOptionTrade and is the primary input to the pricers. Applications will typically create a ResolvedIborFutureOptionTrade from a IborFutureOptionTrade using IborFutureOptionTrade.resolve(ReferenceData).

A ResolvedIborFutureOptionTrade is 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.

#### Price

The price of an Ibor future option is based on the price of the underlying future, the volatility and the time to expiry. The price of the at-the-money option tends to zero as expiry approaches.

Strata uses decimal prices for Ibor future options in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, an option price of 0.2 is related to a futures price of 99.32 that implies an interest rate of 0.68%. Strata represents the price of the future as 0.9932 and thus represents the price of the option as 0.002.

Serialized Form
• ### Nested Class Summary

Nested Classes
Modifier and Type Class Description
static class  ResolvedIborFutureOptionTrade.Builder
The bean-builder for ResolvedIborFutureOptionTrade.
static class  ResolvedIborFutureOptionTrade.Meta
The meta-bean for ResolvedIborFutureOptionTrade.
• ### Method Summary

All Methods
Modifier and Type Method Description
static ResolvedIborFutureOptionTrade.Builder builder()
Returns a builder used to create an instance of the bean.
boolean equals​(Object obj)
PortfolioItemInfo getInfo()
Gets the additional information, defaulted to an empty instance.
ResolvedIborFutureOption getProduct()
Gets the option that was traded.
double getQuantity()
Gets the quantity that was traded.
Optional<TradedPrice> getTradedPrice()
Gets the price that was traded, together with the trade date, optional.
int hashCode()
static ResolvedIborFutureOptionTrade.Meta meta()
The meta-bean for ResolvedIborFutureOptionTrade.
ResolvedIborFutureOptionTrade.Meta metaBean()
ResolvedIborFutureOptionTrade.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 org.joda.beans.Bean

property, propertyNames
• ### Method Detail

• #### meta

public static ResolvedIborFutureOptionTrade.Meta meta()
The meta-bean for ResolvedIborFutureOptionTrade.
Returns:
the meta-bean, not null
• #### builder

public static ResolvedIborFutureOptionTrade.Builder builder()
Returns a builder used to create an instance of the bean.
Returns:
the builder, not null
• #### metaBean

public ResolvedIborFutureOptionTrade.Meta metaBean()
Specified by:
metaBean in interface org.joda.beans.Bean
• #### getInfo

public PortfolioItemInfo getInfo()
Gets the additional information, defaulted to an empty instance.

This allows additional information to be attached.

Specified by:
getInfo in interface ResolvedTrade
Returns:
the value of the property, not null
• #### getProduct

public ResolvedIborFutureOption getProduct()
Gets the option that was traded.

The product captures the contracted financial details of the trade.

Specified by:
getProduct in interface ResolvedTrade
Returns:
the value of the property, not null
• #### getQuantity

public double getQuantity()
Gets the quantity that was traded.

This is the number of contracts that were traded. This will be positive if buying and negative if selling.

Returns:
the value of the property

public Optional<TradedPrice> getTradedPrice()
Gets the price that was traded, together with the trade date, optional.

This is the price agreed when the trade occurred, in decimal form. Strata uses decimal prices for Ibor future options in the trade model, pricers and market data. The decimal price is based on the decimal rate equivalent to the percentage. For example, an option price of 0.2 is related to a futures price of 99.32 that implies an interest rate of 0.68%. Strata represents the price of the future as 0.9932 and thus represents the price of the option as 0.002.

This is optional to allow the class to be used to price both trades and positions. When the instance represents a trade, the traded price should be present. When the instance represents a position, the traded price should be empty.

Returns:
the optional value of the property, not null
• #### toBuilder

public ResolvedIborFutureOptionTrade.Builder toBuilder()
Returns a builder that allows this bean to be mutated.
Returns:
the mutable builder, not null
• #### equals

public boolean equals​(Object obj)
Overrides:
equals in class Object
• #### hashCode

public int hashCode()
Overrides:
hashCode in class Object
• #### toString

public String toString()
Overrides:
toString in class Object