Class ResolvedFxSingleBarrierOption
- java.lang.Object
-
- com.opengamma.strata.product.fxopt.ResolvedFxSingleBarrierOption
-
- All Implemented Interfaces:
ResolvedProduct,Serializable,org.joda.beans.Bean,org.joda.beans.ImmutableBean
public final class ResolvedFxSingleBarrierOption extends Object implements ResolvedProduct, org.joda.beans.ImmutableBean, Serializable
Resolved 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 classResolvedFxSingleBarrierOption.MetaThe meta-bean forResolvedFxSingleBarrierOption.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)BarriergetBarrier()Gets the barrier description.CurrencyPairgetCurrencyPair()Gets currency pair of the base currency and counter currency.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.ResolvedFxVanillaOptiongetUnderlyingOption()Gets the underlying FX vanilla option.inthashCode()static ResolvedFxSingleBarrierOption.Metameta()The meta-bean forResolvedFxSingleBarrierOption.ResolvedFxSingleBarrierOption.MetametaBean()static ResolvedFxSingleBarrierOptionof(ResolvedFxVanillaOption underlyingOption, Barrier barrier)Obtains FX single barrier option without rebate.static ResolvedFxSingleBarrierOptionof(ResolvedFxVanillaOption underlyingOption, Barrier barrier, CurrencyAmount rebate)Obtains FX single barrier option with rebate.StringtoString()
-
-
-
Method Detail
-
of
public static ResolvedFxSingleBarrierOption of(ResolvedFxVanillaOption 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 ResolvedFxSingleBarrierOption of(ResolvedFxVanillaOption 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.
- Returns:
- the currency pair
-
meta
public static ResolvedFxSingleBarrierOption.Meta meta()
The meta-bean forResolvedFxSingleBarrierOption.- Returns:
- the meta-bean, not null
-
metaBean
public ResolvedFxSingleBarrierOption.Meta metaBean()
- Specified by:
metaBeanin interfaceorg.joda.beans.Bean
-
getUnderlyingOption
public ResolvedFxVanillaOption 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
-
-