Interface IborIndex

  • All Superinterfaces:
    FloatingRateIndex, Index, Named, RateIndex
    All Known Implementing Classes:
    ImmutableIborIndex

    public interface IborIndex
    extends RateIndex, Named
    An inter-bank lending rate index, such as Libor or Euribor.

    An index represented by this class relates to inter-bank lending for periods from one day to one year. They are typically calculated and published as the trimmed arithmetic mean of estimated rates contributed by banks.

    The index is defined by three dates. The fixing date is the date on which the index is to be observed. The effective date is the date on which the implied deposit starts. The maturity date is the date on which the implied deposit ends.

    The most common implementations are provided in IborIndices.

    All implementations of this interface must be immutable and thread-safe.

    • Method Detail

      • of

        static IborIndex of​(java.lang.String uniqueName)
        Obtains an instance from the specified unique name.
        Parameters:
        uniqueName - the unique name
        Returns:
        the index
        Throws:
        java.lang.IllegalArgumentException - if the name is not known
      • extendedEnum

        static ExtendedEnum<IborIndex> extendedEnum()
        Gets the extended enum helper.

        This helper allows instances of the index to be looked up. It also provides the complete set of available instances.

        Returns:
        the extended enum helper
      • getFixingDateOffset

        DaysAdjustment getFixingDateOffset()
        Gets the adjustment applied to the effective date to obtain the fixing date.

        The fixing date is the date on which the index is to be observed. In most cases, the fixing date is 0 or 2 days before the effective date. This data structure allows the complex rules of some indices to be represented.

        Returns:
        the fixing date offset
      • getEffectiveDateOffset

        DaysAdjustment getEffectiveDateOffset()
        Gets the adjustment applied to the fixing date to obtain the effective date.

        The effective date is the start date of the indexed deposit. In most cases, the effective date is 0 or 2 days after the fixing date. This data structure allows the complex rules of some indices to be represented.

        Returns:
        the effective date offset
      • getMaturityDateOffset

        TenorAdjustment getMaturityDateOffset()
        Gets the adjustment applied to the effective date to obtain the maturity date.

        The maturity date is the end date of the indexed deposit and is relative to the effective date. This data structure allows the complex rules of some indices to be represented.

        Returns:
        the maturity date offset
      • calculateFixingDateTime

        java.time.ZonedDateTime calculateFixingDateTime​(java.time.LocalDate fixingDate)
        Converts the fixing date-time from the fixing date.

        The fixing date is the date on which the index is to be observed. The fixing date-time is the specific date and time of the observation.

        No error is thrown if the input date is not a valid fixing date.

        Parameters:
        fixingDate - the fixing date
        Returns:
        the fixing date-time
      • calculateEffectiveFromFixing

        java.time.LocalDate calculateEffectiveFromFixing​(java.time.LocalDate fixingDate,
                                                         ReferenceData refData)
        Calculates the effective date from the fixing date.

        The fixing date is the date on which the index is to be observed. The effective date is the date on which the implied deposit starts.

        No error is thrown if the input date is not a valid fixing date. Instead, the fixing date is moved to the next valid fixing date and then processed.

        Parameters:
        fixingDate - the fixing date
        refData - the reference data, used to resolve the holiday calendar
        Returns:
        the effective date
      • calculateMaturityFromFixing

        java.time.LocalDate calculateMaturityFromFixing​(java.time.LocalDate fixingDate,
                                                        ReferenceData refData)
        Calculates the maturity date from the fixing date.

        The fixing date is the date on which the index is to be observed. The maturity date is the date on which the implied deposit ends.

        No error is thrown if the input date is not a valid fixing date. Instead, the fixing date is moved to the next valid fixing date and then processed.

        Parameters:
        fixingDate - the fixing date
        refData - the reference data, used to resolve the holiday calendar
        Returns:
        the maturity date
      • calculateFixingFromEffective

        java.time.LocalDate calculateFixingFromEffective​(java.time.LocalDate effectiveDate,
                                                         ReferenceData refData)
        Calculates the fixing date from the effective date.

        The fixing date is the date on which the index is to be observed. The effective date is the date on which the implied deposit starts.

        No error is thrown if the input date is not a valid effective date. Instead, the effective date is moved to the next valid effective date and then processed.

        Parameters:
        effectiveDate - the effective date
        refData - the reference data, used to resolve the holiday calendar
        Returns:
        the fixing date
      • calculateMaturityFromEffective

        java.time.LocalDate calculateMaturityFromEffective​(java.time.LocalDate effectiveDate,
                                                           ReferenceData refData)
        Calculates the maturity date from the effective date.

        The effective date is the date on which the implied deposit starts. The maturity date is the date on which the implied deposit ends.

        No error is thrown if the input date is not a valid effective date. Instead, the effective date is moved to the next valid effective date and then processed.

        Parameters:
        effectiveDate - the effective date
        refData - the reference data, used to resolve the holiday calendar
        Returns:
        the maturity date
      • resolve

        java.util.function.Function<java.time.LocalDate,​IborIndexObservation> resolve​(ReferenceData refData)
        Resolves this index using the specified reference data, returning a function.

        This returns a Function that converts fixing dates to observations. It binds the holiday calendar, looked up from the reference data, into the result. As such, there is no need to pass the reference data in again.

        This method is intended for use when looping to create multiple instances of IborIndexObservation. Implementations of the method are intended to optimize, avoiding repeated calls to resolve the holiday calendar

        Parameters:
        refData - the reference data, used to resolve the holiday calendar
        Returns:
        a function that converts fixing date to observation
      • getName

        java.lang.String getName()
        Gets the name that uniquely identifies this index.

        This name is used in serialization and can be parsed using of(String).

        Specified by:
        getName in interface Index
        Specified by:
        getName in interface Named
        Returns:
        the unique name