Interface IborIndex
-
- All Superinterfaces:
FloatingRate
,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 bank borrowing 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 or based on traded volumes.
With the Ibor transition in progress, the term rates have been incorporated in this object as they have the same features, even if based on different financial realities.
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 Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description LocalDate
calculateEffectiveFromFixing(LocalDate fixingDate, ReferenceData refData)
Calculates the effective date from the fixing date.ZonedDateTime
calculateFixingDateTime(LocalDate fixingDate)
Converts the fixing date-time from the fixing date.LocalDate
calculateFixingFromEffective(LocalDate effectiveDate, ReferenceData refData)
Calculates the fixing date from the effective date.LocalDate
calculateMaturityFromEffective(LocalDate effectiveDate, ReferenceData refData)
Calculates the maturity date from the effective date.LocalDate
calculateMaturityFromFixing(LocalDate fixingDate, ReferenceData refData)
Calculates the maturity date from the fixing date.static ExtendedEnum<IborIndex>
extendedEnum()
Gets the extended enum helper.DaysAdjustment
getEffectiveDateOffset()
Gets the adjustment applied to the fixing date to obtain the effective date.DaysAdjustment
getFixingDateOffset()
Gets the adjustment applied to the effective date to obtain the fixing date.TenorAdjustment
getMaturityDateOffset()
Gets the adjustment applied to the effective date to obtain the maturity date.String
getName()
Gets the name that uniquely identifies this index.static IborIndex
of(String uniqueName)
Obtains an instance from the specified unique name.Function<LocalDate,IborIndexObservation>
resolve(ReferenceData refData)
Resolves this index using the specified reference data, returning a function.-
Methods inherited from interface com.opengamma.strata.basics.index.FloatingRateIndex
getCurrency, getDayCount, getDefaultFixedLegDayCount, getFloatingRateName, isActive
-
Methods inherited from interface com.opengamma.strata.basics.index.RateIndex
getFixingCalendar, getTenor
-
-
-
-
Method Detail
-
of
static IborIndex of(String uniqueName)
Obtains an instance from the specified unique name.- Parameters:
uniqueName
- the unique name- Returns:
- the index
- Throws:
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
ZonedDateTime calculateFixingDateTime(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
LocalDate calculateEffectiveFromFixing(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 daterefData
- the reference data, used to resolve the holiday calendar- Returns:
- the effective date
-
calculateMaturityFromFixing
LocalDate calculateMaturityFromFixing(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 daterefData
- the reference data, used to resolve the holiday calendar- Returns:
- the maturity date
-
calculateFixingFromEffective
LocalDate calculateFixingFromEffective(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 daterefData
- the reference data, used to resolve the holiday calendar- Returns:
- the fixing date
-
calculateMaturityFromEffective
LocalDate calculateMaturityFromEffective(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 daterefData
- the reference data, used to resolve the holiday calendar- Returns:
- the maturity date
-
resolve
Function<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
String getName()
Gets the name that uniquely identifies this index.This name is used in serialization and can be parsed using
of(String)
.
-
-