Interface FxProduct

  • All Superinterfaces:
    Product
    All Known Implementing Classes:
    FxNdf, FxSingle, FxSingleBarrierOption, FxSwap, FxVanillaOption

    public interface FxProduct
    extends Product
    A foreign exchange product, such as an FX forward, FX spot or FX option.

    FX products operate on two different currencies. For example, it might represent the payment of USD 1,000 and the receipt of EUR 932.

    • Method Detail

      • isCrossCurrency

        default boolean isCrossCurrency()
        Description copied from interface: Product
        Checks if this product is cross-currency.

        A cross currency product is defined as one that refers to two or more currencies. Any product with direct or indirect FX exposure will be cross-currency.

        For example, a fixed/Ibor swap in USD observing USD-LIBOR is not cross currency, but one that observes EURIBOR is cross currency.

        Specified by:
        isCrossCurrency in interface Product
        Returns:
        true if cross currency
      • allCurrencies

        default 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
      • getCurrencyPair

        CurrencyPair getCurrencyPair()
        Gets the currency pair that the FX trade is based on, in conventional order.

        This represents the main currency pair of the FX. If the trade settles in a third currency, that is not recorded here.

        Returns:
        the currency pair