public interface FxIndex extends Index, Named
An FX rate is the conversion rate between two currencies. An FX index is the rate as published by a specific organization, typically at a well-known time-of-day.
The index is defined by two dates. The fixing date is the date on which the index is to be observed. The maturity date is the date on which delivery of the implied exchange occurs.
The most common implementations are provided in FxIndices.
All implementations of this interface must be immutable and thread-safe.
| Modifier and Type | Method and Description |
|---|---|
LocalDate |
calculateFixingFromMaturity(LocalDate maturityDate,
ReferenceData refData)
Calculates the fixing date from the maturity date.
|
LocalDate |
calculateMaturityFromFixing(LocalDate fixingDate,
ReferenceData refData)
Calculates the maturity date from the fixing date.
|
static FxIndex |
createFxIndex(CurrencyPair currencyPair)
Creates a FX index for the provided currency pair.
|
static ExtendedEnum<FxIndex> |
extendedEnum()
Gets the extended enum helper.
|
CurrencyPair |
getCurrencyPair()
Gets the currency pair of the index.
|
HolidayCalendarId |
getFixingCalendar()
Gets the calendar that determines which dates are fixing dates.
|
DaysAdjustment |
getFixingDateOffset()
Gets the adjustment applied to the maturity date to obtain the fixing date.
|
DaysAdjustment |
getMaturityDateOffset()
Gets the adjustment applied to the fixing date to obtain the maturity date.
|
String |
getName()
Gets the name that uniquely identifies this index.
|
static FxIndex |
of(CurrencyPair currencyPair)
Obtains an instance from the specified currency pair.
|
static FxIndex |
of(String uniqueName)
Obtains an instance from the specified unique name.
|
Function<LocalDate,FxIndexObservation> |
resolve(ReferenceData refData)
Resolves this index using the specified reference data, returning a function.
|
static FxIndex of(String uniqueName)
If the unique name can be parsed as a currency pair, an FX index will be looked up on the pair.
of in interface IndexuniqueName - the unique nameIllegalArgumentException - if the name is not knownstatic FxIndex of(CurrencyPair currencyPair)
If a currency pair does not have an implementation, an FX index will be created.
currencyPair - the currency pairstatic FxIndex createFxIndex(CurrencyPair currencyPair)
The FX index will be default to the combined holiday calendars for the currency pair. The maturity day offset will default to 2 days.
currencyPair - the currency pairstatic ExtendedEnum<FxIndex> extendedEnum()
This helper allows instances of the index to be looked up. It also provides the complete set of available instances.
CurrencyPair getCurrencyPair()
DaysAdjustment getFixingDateOffset()
The fixing date is the date on which the index is to be observed. The maturity date is the date on which the implied amount is delivered/exchanged. The maturity date is typically two business days after the fixing date.
DaysAdjustment getMaturityDateOffset()
The fixing date is the date on which the index is to be observed. The maturity date is the date on which the implied amount is delivered/exchanged. The maturity date is typically two business days after the fixing date.
HolidayCalendarId getFixingCalendar()
The rate will be fixed on each business day in this calendar.
LocalDate calculateMaturityFromFixing(LocalDate fixingDate, ReferenceData refData)
The fixing date is the date on which the index is to be observed. The maturity date is the date on which the implied amount is delivered/exchanged. The maturity date is typically two days after the fixing date.
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.
The maturity date is also known as the value date.
fixingDate - the fixing daterefData - the reference data, used to resolve the holiday calendarLocalDate calculateFixingFromMaturity(LocalDate maturityDate, ReferenceData refData)
The fixing date is the date on which the index is to be observed. The maturity date is the date on which the implied amount is delivered/exchanged. The maturity date is typically two days after the fixing date.
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.
The maturity date is also known as the value date.
maturityDate - the maturity daterefData - the reference data, used to resolve the holiday calendarFunction<LocalDate,FxIndexObservation> resolve(ReferenceData refData)
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 FxIndexObservation. Implementations of the method are intended
to optimize, avoiding repeated calls to resolve the holiday calendar
refData - the reference data, used to resolve the holiday calendarCopyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.