Interface BaseProvider
-
- All Superinterfaces:
FxRateProvider
- All Known Subinterfaces:
RatesProvider
- All Known Implementing Classes:
ImmutableRatesProvider
public interface BaseProvider extends FxRateProvider
A provider of data used for pricing.This provides the valuation date, FX rates and discount factors, Sensitivity for discount factors is also available.
All implementations of this interface must be immutable and thread-safe.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description <T> T
data(MarketDataId<T> id)
Gets market data of a specific type.default double
discountFactor(Currency currency, LocalDate date)
Gets the discount factor applicable for a currency.DiscountFactors
discountFactors(Currency currency)
Gets the discount factors for a currency.default double
fxRate(CurrencyPair currencyPair)
Gets the FX rate for the specified currency pair on the valuation date.double
fxRate(Currency baseCurrency, Currency counterCurrency)
Gets the FX rate for the specified currency pair on the valuation date.Set<Currency>
getDiscountCurrencies()
Gets the set of currencies that discount factors are provided for.LocalDate
getValuationDate()
Gets the valuation date.-
Methods inherited from interface com.opengamma.strata.basics.currency.FxRateProvider
convert, convert
-
-
-
-
Method Detail
-
getValuationDate
LocalDate getValuationDate()
Gets the valuation date.The raw data in this provider is calibrated for this date.
- Returns:
- the valuation date
-
getDiscountCurrencies
Set<Currency> getDiscountCurrencies()
Gets the set of currencies that discount factors are provided for.- Returns:
- the set of discount curve currencies
-
data
<T> T data(MarketDataId<T> id)
Gets market data of a specific type.This is a general purpose mechanism to obtain market data. In general, it is desirable to pass the specific market data needed for pricing into the pricing method. However, in some cases, notably swaps, this is not feasible. It is strongly recommended to clearly state on pricing methods what data is required.
- Type Parameters:
T
- the type of the value- Parameters:
id
- the identifier to find- Returns:
- the data associated with the key
- Throws:
IllegalArgumentException
- if the data is not available
-
fxRate
double fxRate(Currency baseCurrency, Currency counterCurrency)
Gets the FX rate for the specified currency pair on the valuation date.The rate returned is the rate from the base currency to the counter currency as defined by this formula:
(1 * baseCurrency = fxRate * counterCurrency)
.- Specified by:
fxRate
in interfaceFxRateProvider
- Parameters:
baseCurrency
- the base currency, to convert fromcounterCurrency
- the counter currency, to convert to- Returns:
- the current FX rate for the currency pair
- Throws:
IllegalArgumentException
- if the rate is not available
-
fxRate
default double fxRate(CurrencyPair currencyPair)
Gets the FX rate for the specified currency pair on the valuation date.The rate returned is the rate from the base currency to the counter currency as defined by this formula:
(1 * baseCurrency = fxRate * counterCurrency)
.- Specified by:
fxRate
in interfaceFxRateProvider
- Parameters:
currencyPair
- the ordered currency pair defining the rate required- Returns:
- the current FX rate for the currency pair
- Throws:
IllegalArgumentException
- if the rate is not available
-
discountFactors
DiscountFactors discountFactors(Currency currency)
Gets the discount factors for a currency.The discount factor represents the time value of money for the specified currency when comparing the valuation date to the specified date.
If the valuation date is on or after the specified date, the discount factor is 1.
- Parameters:
currency
- the currency to get the discount factors for- Returns:
- the discount factors for the specified currency
- Throws:
IllegalArgumentException
- if the discount factors are not available
-
discountFactor
default double discountFactor(Currency currency, LocalDate date)
Gets the discount factor applicable for a currency.The discount factor represents the time value of money for the specified currency when comparing the valuation date to the specified date.
If the valuation date is on or after the specified date, the discount factor is 1.
- Parameters:
currency
- the currency to get the discount factor fordate
- the date to discount to- Returns:
- the discount factor
- Throws:
IllegalArgumentException
- if the discount factors are not available
-
-