Class ResolvedFxNdf

  • All Implemented Interfaces:
    ResolvedProduct, java.io.Serializable, Bean, ImmutableBean

    public final class ResolvedFxNdf
    extends java.lang.Object
    implements ResolvedProduct, ImmutableBean, java.io.Serializable
    A Non-Deliverable Forward (NDF), resolved for pricing.

    This is the resolved form of FxNdf and is an input to the pricers. Applications will typically create a ResolvedFxNdf from a FxNdf using FxNdf.resolve(ReferenceData).

    A ResolvedFxNdf is 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.

    See Also:
    Serialized Form
    • Method Detail

      • getIndex

        public FxIndex getIndex()
        Gets the FX index.
        Returns:
        the FX index
      • getSettlementCurrency

        public Currency getSettlementCurrency()
        Gets the settlement currency.
        Returns:
        the currency that is to be settled
      • getSettlementNotional

        public double getSettlementNotional()
        Gets the settlement notional.

        Returns the signed notional amount that is to be settled in the settlement currency.

        Returns:
        the notional
      • getNonDeliverableCurrency

        public Currency getNonDeliverableCurrency()
        Gets the non-deliverable currency.

        Returns the currency that is not the settlement currency.

        Returns:
        the currency that is not to be settled
      • meta

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

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

        public CurrencyAmount getSettlementCurrencyNotional()
        Gets the notional amount in the settlement currency, positive if receiving, negative if paying.

        The amount is signed. A positive amount indicates the payment is to be received. A negative amount indicates the payment is to be paid.

        This must be specified in one of the two currencies of the forward.

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

        public FxRate getAgreedFxRate()
        Gets the FX rate agreed for the value date at the inception of the trade.

        The settlement amount is based on the difference between this rate and the rate observed on the fixing date using the index.

        The forward is between the two currencies defined by the rate.

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

        public FxIndexObservation getObservation()
        Gets the FX index observation.

        This defines the observation of the index used to settle the trade. The value of the trade is based on the difference between the actual rate and the agreed rate.

        An FX index is a daily rate of exchange between two currencies. Note that the order of the currencies in the index does not matter, as the conversion direction is fully defined by the currency of the reference amount.

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

        public java.time.LocalDate getPaymentDate()
        Gets the date that the forward settles.

        On this date, the settlement amount will be exchanged. This date should be a valid business day.

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

        public ResolvedFxNdf.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