Class Swaption

  • All Implemented Interfaces:
    Resolvable<ResolvedSwaption>, Product, java.io.Serializable, Bean, ImmutableBean

    public final class Swaption
    extends java.lang.Object
    implements Product, Resolvable<ResolvedSwaption>, ImmutableBean, java.io.Serializable
    An option on an underlying swap.

    A swaption is a financial instrument that provides an option based on the future value of a swap. The option is European, exercised only on the exercise date. The underlying swap must be a single currency, Fixed-Ibor swap with a single Ibor index and no interpolated stubs.

    See Also:
    Serialized Form
    • Method Detail

      • getExpiry

        public java.time.ZonedDateTime getExpiry()
        Gets the expiry date-time.

        The option expires at this date and time.

        The result is returned by combining the expiry date, time and time-zone.

        Returns:
        the expiry date and time
      • getCurrency

        public Currency getCurrency()
        Gets the currency of the swaption.

        This is the currency of the underlying swap, which is not allowed to be cross-currency.

        Returns:
        the expiry date and time
      • allCurrencies

        public com.google.common.collect.ImmutableSet<Currency> allCurrencies()
        Description copied from interface: Product
        Returns the set of currencies the product refers to.

        This returns the complete set of currencies, not just the payment currencies. For example, the sets will differ when one of the currencies is non-deliverable.

        Specified by:
        allCurrencies in interface Product
        Returns:
        the set of currencies the product refers to
      • getIndex

        public IborIndex getIndex()
        Gets the index of the underlying swap.
        Returns:
        the Ibor index of the underlying swap
      • resolve

        public ResolvedSwaption resolve​(ReferenceData refData)
        Description copied from interface: Resolvable
        Resolves this object using the specified reference data.

        This converts the object implementing this interface to the equivalent resolved form. All ReferenceDataId identifiers 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:
        resolve in interface Resolvable<ResolvedSwaption>
        Parameters:
        refData - the reference data to use when resolving
        Returns:
        the resolved instance
      • meta

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

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

        public LongShort getLongShort()
        Gets whether the option is long or short.

        Long indicates that the owner wants the option to be in the money at expiry. Short indicates that the owner wants the option to be out of the money at expiry.

        Returns:
        the value of the property, not null
      • getSwaptionSettlement

        public SwaptionSettlement getSwaptionSettlement()
        Gets settlement method.

        The settlement of the option is specified by SwaptionSettlement.

        Returns:
        the value of the property, not null
      • getExpiryDate

        public AdjustableDate getExpiryDate()
        Gets the expiry date of the option.

        The option is European, and can only be exercised on the expiry date.

        This date is typically set to be a valid business day. However, the businessDayAdjustment property may be set to provide a rule for adjustment.

        Returns:
        the value of the property, not null
      • getExpiryTime

        public java.time.LocalTime getExpiryTime()
        Gets the expiry time of the option.

        The expiry time is related to the expiry date and time-zone.

        Returns:
        the value of the property, not null
      • getExpiryZone

        public java.time.ZoneId getExpiryZone()
        Gets the time-zone of the expiry time.

        The expiry time-zone is related to the expiry date and time.

        Returns:
        the value of the property, not null
      • getUnderlying

        public Swap getUnderlying()
        Gets the underlying swap.

        At expiry, if the option is exercised, this swap will be entered into. The swap description is the swap as viewed by the party long the option.

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

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

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object