Class FxSingleBarrierOption
- java.lang.Object
-
- com.opengamma.strata.product.fxopt.FxSingleBarrierOption
-
- All Implemented Interfaces:
Resolvable<ResolvedFxSingleBarrierOption>,FxOptionProduct,FxProduct,Product,Serializable,org.joda.beans.Bean,org.joda.beans.ImmutableBean
public final class FxSingleBarrierOption extends Object implements FxOptionProduct, Resolvable<ResolvedFxSingleBarrierOption>, org.joda.beans.ImmutableBean, Serializable
FX (European) single barrier option.An FX option is a financial instrument that provides an option to exchange two currencies at a specified future time only when barrier event occurs (knock-in option) or does not occur (knock-out option).
Depending on the barrier defined in
Barrier, the options are classified into four types: up-and-in, down-and-in, up-and-out and down-and-out.For example, an up-and-out call on a 'EUR 1.00 / USD -1.41' exchange with barrier of 1.5 is the option to perform a foreign exchange on the expiry date, where USD 1.41 is paid to receive EUR 1.00, only when EUR/USD rate does not exceed 1.5 during the barrier event observation period.
In case of the occurrence (non-occurrence for knock-in options) of the barrier event, the option becomes worthless, or alternatively, a rebate is made.
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFxSingleBarrierOption.BuilderThe bean-builder forFxSingleBarrierOption.static classFxSingleBarrierOption.MetaThe meta-bean forFxSingleBarrierOption.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static FxSingleBarrierOption.Builderbuilder()Returns a builder used to create an instance of the bean.booleanequals(Object obj)BarriergetBarrier()Gets the barrier description.CurrencyPairgetCurrencyPair()Gets currency pair of the base currency and counter currency.ZonedDateTimegetExpiry()Gets the underlying Fx vanilla option's expiry.Optional<CurrencyAmount>getRebate()Gets for a 'out' option, the amount is paid when the barrier is reached; for a 'in' option, the amount is paid at expiry if the barrier is not reached.FxVanillaOptiongetUnderlyingOption()Gets the underlying FX vanilla option.inthashCode()static FxSingleBarrierOption.Metameta()The meta-bean forFxSingleBarrierOption.FxSingleBarrierOption.MetametaBean()static FxSingleBarrierOptionof(FxVanillaOption underlyingOption, Barrier barrier)Obtains FX single barrier option without rebate.static FxSingleBarrierOptionof(FxVanillaOption underlyingOption, Barrier barrier, CurrencyAmount rebate)Obtains FX single barrier option with rebate.ResolvedFxSingleBarrierOptionresolve(ReferenceData refData)Resolves this object using the specified reference data.FxSingleBarrierOption.BuildertoBuilder()Returns a builder that allows this bean to be mutated.StringtoString()-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.opengamma.strata.product.fx.FxProduct
allCurrencies, isCrossCurrency
-
Methods inherited from interface com.opengamma.strata.product.Product
allPaymentCurrencies
-
-
-
-
Method Detail
-
of
public static FxSingleBarrierOption of(FxVanillaOption underlyingOption, Barrier barrier, CurrencyAmount rebate)
Obtains FX single barrier option with rebate.- Parameters:
underlyingOption- the underlying FX vanilla optionbarrier- the barrierrebate- the rebate- Returns:
- the instance
-
of
public static FxSingleBarrierOption of(FxVanillaOption underlyingOption, Barrier barrier)
Obtains FX single barrier option without rebate.- Parameters:
underlyingOption- the underlying FX vanilla optionbarrier- the barrier- Returns:
- the instance
-
getCurrencyPair
public CurrencyPair getCurrencyPair()
Gets currency pair of the base currency and counter currency.This currency pair is conventional, thus indifferent to the direction of FX.
- Specified by:
getCurrencyPairin interfaceFxProduct- Returns:
- the currency pair
-
getExpiry
public ZonedDateTime getExpiry()
Gets the underlying Fx vanilla option's expiry.- Specified by:
getExpiryin interfaceFxOptionProduct- Returns:
- the expiry
-
resolve
public ResolvedFxSingleBarrierOption resolve(ReferenceData refData)
Description copied from interface:ResolvableResolves this object using the specified reference data.This converts the object implementing this interface to the equivalent resolved form. All
ReferenceDataIdidentifiers 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:
resolvein interfaceResolvable<ResolvedFxSingleBarrierOption>- Parameters:
refData- the reference data to use when resolving- Returns:
- the resolved instance
-
meta
public static FxSingleBarrierOption.Meta meta()
The meta-bean forFxSingleBarrierOption.- Returns:
- the meta-bean, not null
-
builder
public static FxSingleBarrierOption.Builder builder()
Returns a builder used to create an instance of the bean.- Returns:
- the builder, not null
-
metaBean
public FxSingleBarrierOption.Meta metaBean()
- Specified by:
metaBeanin interfaceorg.joda.beans.Bean
-
getUnderlyingOption
public FxVanillaOption getUnderlyingOption()
Gets the underlying FX vanilla option.- Returns:
- the value of the property, not null
-
getBarrier
public Barrier getBarrier()
Gets the barrier description.The barrier level stored in this field must be represented based on the direction of the currency pair in the underlying FX transaction.
For example, if the underlying option is an option on EUR/GBP, the barrier should be a certain level of EUR/GBP rate.
- Returns:
- the value of the property, not null
-
getRebate
public Optional<CurrencyAmount> getRebate()
Gets for a 'out' option, the amount is paid when the barrier is reached; for a 'in' option, the amount is paid at expiry if the barrier is not reached.This is the notional amount represented in one of the currency pair. The amount should be positive.
- Returns:
- the optional value of the property, not null
-
toBuilder
public FxSingleBarrierOption.Builder toBuilder()
Returns a builder that allows this bean to be mutated.- Returns:
- the mutable builder, not null
-
-