Class SwaptionSurfaceExpiryTenorParameterMetadata

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

    public final class SwaptionSurfaceExpiryTenorParameterMetadata
    extends java.lang.Object
    implements ParameterMetadata, ImmutableBean, java.io.Serializable
    Surface node metadata for a surface node for swaptions with a specific time to expiry and underlying swap tenor.

    This typically represents a node of swaption volatility surface parameterized by expiry and tenor. Alternative applications include a representation of a node on model parameter surface, e.g., SABR model parameters.

    See Also:
    Serialized Form
    • Method Detail

      • of

        public static SwaptionSurfaceExpiryTenorParameterMetadata of​(double yearFraction,
                                                                     double tenor)
        Creates node metadata using swap convention, year fraction and strike.
        Parameters:
        yearFraction - the year fraction
        tenor - the tenor
        Returns:
        node metadata
      • of

        public static SwaptionSurfaceExpiryTenorParameterMetadata of​(double yearFraction,
                                                                     double tenor,
                                                                     java.lang.String label)
        Creates node using swap convention, year fraction, strike and label.
        Parameters:
        yearFraction - the year fraction
        tenor - the tenor
        label - the label to use
        Returns:
        the metadata
      • getIdentifier

        public Pair<java.lang.Double,​java.lang.Double> getIdentifier()
        Description copied from interface: ParameterMetadata
        Returns an object used to identify the parameter.

        A good choice of identifier is one that makes sense to the user and can easily be created as part of a scenario definition. For example, many nodes types are naturally identified by a tenor.

        The identifier must satisfy the following criteria:

        • It must be non-null
        • It should be unique within a single data set
        • It should have a sensible implementation of hashCode() and equals().
        Otherwise the choice of identifier is free and the system makes no assumptions about it.
        Specified by:
        getIdentifier in interface ParameterMetadata
        Returns:
        an object used to uniquely identify the parameter within the data
      • getYearFraction

        public double getYearFraction()
        Gets the year fraction of the surface node.

        This is the time to expiry that the node on the surface is defined as. There is not necessarily a direct relationship with a date from an underlying instrument.

        Returns:
        the value of the property
      • getTenor

        public double getTenor()
        Gets the tenor of the surface node.

        This is the tenor of the underlying swap that the node on the surface is defined as.

        Returns:
        the value of the property
      • getLabel

        public java.lang.String getLabel()
        Gets the label that describes the node.
        Specified by:
        getLabel in interface ParameterMetadata
        Returns:
        the value of the property, not empty
      • 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