Class BuiltMarketData

  • All Implemented Interfaces:
    MarketData, Bean, ImmutableBean

    public final class BuiltMarketData
    extends java.lang.Object
    implements MarketData, ImmutableBean
    Market data that has been built.

    The MarketDataFactory can be used to build market data from external sources and by calibration. This implementation of MarketData provides the result, and includes all the market data, such as quotes and curves.

    This implementation differs from ImmutableMarketData because it stores the failures that occurred during the build process. These errors are exposed to users when data is queried.

    • Method Detail

      • getValuationDate

        public java.time.LocalDate getValuationDate()
        Description copied from interface: MarketData
        Gets the valuation date of the market data.

        All values accessible through this interface have the same valuation date.

        Specified by:
        getValuationDate in interface MarketData
        Returns:
        the valuation date
      • containsValue

        public boolean containsValue​(MarketDataId<?> id)
        Description copied from interface: MarketData
        Checks if this market data contains a value for the specified identifier.
        Specified by:
        containsValue in interface MarketData
        Parameters:
        id - the identifier to find
        Returns:
        true if the market data contains a value for the identifier
      • getValue

        public <T> T getValue​(MarketDataId<T> id)
        Description copied from interface: MarketData
        Gets the market data value associated with the specified identifier.

        If this market data instance contains the identifier, the value will be returned. Otherwise, an exception will be thrown.

        Specified by:
        getValue in interface MarketData
        Type Parameters:
        T - the type of the market data value
        Parameters:
        id - the identifier to find
        Returns:
        the market data value
      • findValue

        public <T> java.util.Optional<T> findValue​(MarketDataId<T> id)
        Description copied from interface: MarketData
        Finds the market data value associated with the specified identifier.

        If this market data instance contains the identifier, the value will be returned. Otherwise, an empty optional will be returned.

        Specified by:
        findValue in interface MarketData
        Type Parameters:
        T - the type of the market data value
        Parameters:
        id - the identifier to find
        Returns:
        the market data value, empty if not found
      • getIds

        public java.util.Set<MarketDataId<?>> getIds()
        Description copied from interface: MarketData
        Gets the market data identifiers.
        Specified by:
        getIds in interface MarketData
        Returns:
        the set of market data identifiers
      • findIds

        public <T> java.util.Set<MarketDataId<T>> findIds​(MarketDataName<T> name)
        Description copied from interface: MarketData
        Finds the market data identifiers associated with the specified name.

        This returns the unique identifiers that refer to the specified name. There may be more than one identifier associated with a name as the name is not unique.

        Specified by:
        findIds in interface MarketData
        Type Parameters:
        T - the type of the market data value
        Parameters:
        name - the name to find
        Returns:
        the set of market data identifiers, empty if name not found
      • getTimeSeriesIds

        public java.util.Set<ObservableId> getTimeSeriesIds()
        Description copied from interface: MarketData
        Gets the time-series identifiers.
        Specified by:
        getTimeSeriesIds in interface MarketData
        Returns:
        the set of observable identifiers
      • getTimeSeries

        public LocalDateDoubleTimeSeries getTimeSeries​(ObservableId id)
        Description copied from interface: MarketData
        Gets the time-series identified by the specified identifier, empty if not found.
        Specified by:
        getTimeSeries in interface MarketData
        Parameters:
        id - the identifier to find
        Returns:
        the time-series, empty if no time-series found
      • getValueFailures

        public com.google.common.collect.ImmutableMap<MarketDataId<?>,​Failure> getValueFailures()
        Gets the failures when building single market data values.
        Returns:
        the single value failures
      • getTimeSeriesFailures

        public com.google.common.collect.ImmutableMap<MarketDataId<?>,​Failure> getTimeSeriesFailures()
        Gets the failures that occurred when building time series of market data values.
        Returns:
        the time-series value failures
      • meta

        public static BuiltMarketData.Meta meta()
        The meta-bean for BuiltMarketData.
        Returns:
        the meta-bean, not null
      • getUnderlying

        public BuiltScenarioMarketData getUnderlying()
        Gets the underlying market data.
        Returns:
        the value of the property, not null
      • 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