Class 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
    • Method Detail

      • 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
      • 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
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object