Package com.opengamma.core.historicaltimeseries

Examples of com.opengamma.core.historicaltimeseries.HistoricalTimeSeries


                              final LocalDate tradeDate,
                              final ExternalId curveId) {
    final HistoricalTimeSeriesSource historicalSource = getToolContext().getHistoricalTimeSeriesSource();
    final MasterConfigSource configSource = new MasterConfigSource(getToolContext().getConfigMaster());

    final HistoricalTimeSeries fixedRateSeries = historicalSource.getHistoricalTimeSeries("PX_LAST",
                                                                                          curveId.toBundle(),
                                                                                          HistoricalTimeSeriesRatingFieldNames.DEFAULT_CONFIG_NAME,
                                                                                          tradeDate,
                                                                                          true,
                                                                                          LocalDate.now(),
                                                                                          true);
    if (fixedRateSeries == null) {
      throw new OpenGammaRuntimeException("can't find time series for " + curveId + " on " + tradeDate);
    }
    return fixedRateSeries.getTimeSeries().getLatestValue();
  }
View Full Code Here


    Map<ExternalIdBundle, HistoricalTimeSeries> result = Maps.newHashMap();
    Set<ExternalIdBundle> remainingIds = new HashSet<ExternalIdBundle>();
    // caching works individually but all misses can be passed to underlying as one request
    for (ExternalIdBundle identifiers : identifierSet) {
      HistoricalTimeSeriesKey key = new HistoricalTimeSeriesKey(null, null, identifiers, dataSource, dataProvider, dataField);
      HistoricalTimeSeries hts = getFromDataCache(key);
      if (hts != null) {
        if (!MISS.equals(hts)) {
          hts = getSubSeries(hts, start, includeStart, end, includeEnd, null);
          result.put(identifiers, hts);
        } else {
          result.put(identifiers, null);
        }
      } else {
        remainingIds.add(identifiers);
      }
    }
    if (remainingIds.size() > 0) {
      Map<ExternalIdBundle, HistoricalTimeSeries> remainingTsResults =
          _underlying.getHistoricalTimeSeries(remainingIds, dataSource, dataProvider, dataField, start, includeStart, end, includeEnd);
      for (Map.Entry<ExternalIdBundle, HistoricalTimeSeries> tsResult : remainingTsResults.entrySet()) {
        ExternalIdBundle identifiers = tsResult.getKey();
        HistoricalTimeSeries hts = tsResult.getValue();
        HistoricalTimeSeriesKey key = new HistoricalTimeSeriesKey(null, null, identifiers, dataSource, dataProvider, dataField);
        if (hts != null) {
          s_logger.debug("Caching time-series {}", hts);
          _dataCache.put(new Element(key, hts));
          _dataCache.put(new Element(hts.getUniqueId(), hts));
          hts = getSubSeries(hts, start, includeStart, end, includeEnd, null);
        } else {
          s_logger.debug("Caching miss {}", key);
          _dataCache.put(new Element(key, MISS));
        }
View Full Code Here

    for (ExternalIdBundle dsids : map.keySet()) {
      for (String dataSource : new String[] {"BLOOMBERG", "REUTERS", "JPM"}) {
        for (String dataProvider : new String[] {"UNKNOWN", "CMPL", "CMPT"}) {
          for (String field : new String[] {"PX_LAST", "VOLUME"}) {
            LocalDateDoubleTimeSeries expectedTS = map.get(dsids).get(dataSource).get(dataProvider).get(field);
            HistoricalTimeSeries hts = inMemoryHistoricalSource.getHistoricalTimeSeries(dsids, dataSource, dataProvider, field);
            assertEquals(expectedTS, hts.getTimeSeries());
            assertEquals(hts, inMemoryHistoricalSource.getHistoricalTimeSeries(hts.getUniqueId()));
          }
        }
      }
    }
    return Pair.of((HistoricalTimeSeriesSource) inMemoryHistoricalSource, map.keySet());
View Full Code Here

          : null;
      boolean includeEnd = Math.random() > 0.5 ? true : false;
      Integer maxPoints = Math.random() > 0.5 ? random(356 * 5) : null;

      // Fetch series/sub-series directly from in-memory mock source
      HistoricalTimeSeries inMemSeries =
          (startDate == null && endDate == null && maxPoints == null)
            ? inMemoryHistoricalSource.getHistoricalTimeSeries(ids, dataSource, dataProvider, field)
            : (maxPoints == null)
              ? inMemoryHistoricalSource.getHistoricalTimeSeries(ids, dataSource, dataProvider, field,
                                                                 startDate, includeStart, endDate, includeEnd)
              : inMemoryHistoricalSource.getHistoricalTimeSeries(ids, dataSource, dataProvider, field,
                                                                 startDate, includeStart, endDate, includeEnd, maxPoints);     

      // Fetch latest data point directly from in-memory mock source
      Pair<LocalDate, Double> inMemLatest =
          (startDate == null && endDate == null)
            ? inMemoryHistoricalSource.getLatestDataPoint(ids, dataSource, dataProvider, field)
            : inMemoryHistoricalSource.getLatestDataPoint(ids, dataSource, dataProvider, field,
                                                          startDate, includeStart, endDate, includeEnd);
     
      // Compare latest data point with cached by externalid/source/provider/field
      assertEquals(inMemLatest, (startDate == null && endDate == null)
                                  ? cachedProvider.getLatestDataPoint(ids, dataSource, dataProvider, field)
                                  : cachedProvider.getLatestDataPoint(ids, dataSource, dataProvider, field,
                                                                      startDate, includeStart, endDate, includeEnd));
     
      // Compare latest data point with cached by uniqueId
      assertEquals(inMemLatest, (startDate == null && endDate == null)
          ? cachedProvider.getLatestDataPoint(inMemSeries.getUniqueId())
          : cachedProvider.getLatestDataPoint(inMemSeries.getUniqueId(),
                                              startDate, includeStart, endDate, includeEnd));
           
      // Select a testing order randomly (order might affect cache patterns)
      if (Math.random() > 0.5) {
       
        // First compare series/sub-series with cached by externalid/source/provider/field
        HistoricalTimeSeries cachedSeries =
            (startDate == null && endDate == null && maxPoints == null)
            ? cachedProvider.getHistoricalTimeSeries(ids, dataSource, dataProvider, field)
            : (maxPoints == null)
              ? cachedProvider.getHistoricalTimeSeries(ids, dataSource, dataProvider, field,
                                                       startDate, includeStart, endDate, includeEnd)
              : cachedProvider.getHistoricalTimeSeries(ids, dataSource, dataProvider, field,
                                                       startDate, includeStart, endDate, includeEnd, maxPoints);     
        assertEquals(inMemSeries, cachedSeries);
           
        // Then compare series/sub-series with cached by UniqueId
        cachedSeries =
            (startDate == null && endDate == null && maxPoints == null)
            ? cachedProvider.getHistoricalTimeSeries(cachedSeries.getUniqueId())
            : (maxPoints == null)
              ? cachedProvider.getHistoricalTimeSeries(inMemSeries.getUniqueId(),
                                                       startDate, includeStart, endDate, includeEnd)
              : cachedProvider.getHistoricalTimeSeries(inMemSeries.getUniqueId(),
                                                       startDate, includeStart, endDate, includeEnd, maxPoints);     
        assertEquals(inMemSeries, cachedSeries);
       
      } else {
        // First compare series/sub-series with cached by UniqueId
        HistoricalTimeSeries cachedSeries =
            (startDate == null && endDate == null && maxPoints == null)
            ? cachedProvider.getHistoricalTimeSeries(inMemSeries.getUniqueId())
            : (maxPoints == null)
              ? cachedProvider.getHistoricalTimeSeries(inMemSeries.getUniqueId(),
                                                       startDate, includeStart, endDate, includeEnd)
              : cachedProvider.getHistoricalTimeSeries(inMemSeries.getUniqueId(),
                                                       startDate, includeStart, endDate, includeEnd, maxPoints);     
        assertEquals(inMemSeries, cachedSeries);       

        // Then compare series/sub-series with cached by externalid/source/provider/field
        cachedSeries =
            (startDate == null && endDate == null && maxPoints == null)
            ? cachedProvider.getHistoricalTimeSeries(ids, dataSource, dataProvider, field)
            : (maxPoints == null)
              ? cachedProvider.getHistoricalTimeSeries(ids, dataSource, dataProvider, field,
                                                       startDate, includeStart, endDate, includeEnd)
              : cachedProvider.getHistoricalTimeSeries(ids, dataSource, dataProvider, field,
                                                       startDate, includeStart, endDate, includeEnd, maxPoints);     
        assertEquals(inMemSeries, cachedSeries);       
      }
     
      // Test getting id bundle
      HistoricalTimeSeries historicalTimeSeries = cachedProvider.getHistoricalTimeSeries(ids, dataSource, dataProvider, field);
      assertEquals(ids, cachedProvider.getExternalIdBundle(historicalTimeSeries.getUniqueId()));
    }

    // Shut down cache
    cachedProvider.shutdown();
  }
View Full Code Here

  }

  @Override
  public HistoricalTimeSeries getHistoricalTimeSeries(
      UniqueId uniqueId, LocalDate start, boolean inclusiveStart, LocalDate end, boolean includeEnd) {
    HistoricalTimeSeries hts = getHistoricalTimeSeries(uniqueId);
    return getSubSeries(hts, start, inclusiveStart, end, includeEnd, null);
  }
View Full Code Here

  }

  @Override
  public HistoricalTimeSeries getHistoricalTimeSeries(
      UniqueId uniqueId, LocalDate start, boolean includeStart, LocalDate end, boolean includeEnd, int maxPoints) {
    HistoricalTimeSeries hts = getHistoricalTimeSeries(uniqueId);
    return getSubSeries(hts, start, includeStart, end, includeEnd, maxPoints);
  }
View Full Code Here

    return getSubSeries(hts, start, includeStart, end, includeEnd, maxPoints);
  }

  @Override
  public Pair<LocalDate, Double> getLatestDataPoint(UniqueId uniqueId) {
    HistoricalTimeSeries hts = getHistoricalTimeSeries(uniqueId);
    if (hts == null || hts.getTimeSeries() == null || hts.getTimeSeries().isEmpty()) {
      return null;
    } else {
      return new ObjectsPair<LocalDate, Double>(hts.getTimeSeries().getLatestTime(), hts.getTimeSeries().getLatestValue());
    }
  }
View Full Code Here

    }
  }

  @Override
  public Pair<LocalDate, Double> getLatestDataPoint(UniqueId uniqueId, LocalDate start, boolean includeStart, LocalDate end, boolean includeEnd) {
    HistoricalTimeSeries hts = getSubSeries(getHistoricalTimeSeries(uniqueId), start, includeStart, end, includeEnd, -1);
    if (hts == null || hts.getTimeSeries() == null || hts.getTimeSeries().isEmpty()) {
      return null;
    } else {
      return new ObjectsPair<LocalDate, Double>(hts.getTimeSeries().getLatestTime(), hts.getTimeSeries().getLatestValue());
    }
  }
View Full Code Here

  public void basicOperation() {
    LocalDate simulationSeriesDate = LocalDate.of(2013, 4, 24);
    RedisSimulationSeriesSource simulationSource = new RedisSimulationSeriesSource(getJedisPool(), getRedisPrefix());
    simulationSource.setCurrentSimulationExecutionDate(simulationSeriesDate);
    UniqueId id = generateId(5);
    HistoricalTimeSeries hts = null;
   
    hts = simulationSource.getHistoricalTimeSeries(id, null, false, null, false);
    assertNull(hts);
   
    LocalDateDoubleTimeSeriesBuilder timeSeriesBuilder = ImmutableLocalDateDoubleTimeSeries.builder();
    for (int i = 1; i < 30; i++) {
      timeSeriesBuilder.put(LocalDate.of(2013,4,i), i);
    }
    simulationSource.updateTimeSeries(id, simulationSeriesDate, timeSeriesBuilder.build());
   
    hts = simulationSource.getHistoricalTimeSeries(id, null, false, null, false);
    assertNotNull(hts);
    assertEquals(id, hts.getUniqueId());
    assertEquals(29, hts.getTimeSeries().size());
    LocalDateDoubleEntryIterator iterator = hts.getTimeSeries().iterator();
    int i = 1;
    while (iterator.hasNext()) {
      iterator.next();
      assertEquals(LocalDate.of(2013, 4, i), iterator.currentTime());
      assertEquals((double)i, iterator.currentValueFast(), 0.001);
View Full Code Here

  @Override
  public HistoricalTimeSeries getHistoricalTimeSeries(
      ExternalIdBundle identifiers, LocalDate identifierValidityDate, String dataSource, String dataProvider, String dataField,
      LocalDate start, boolean inclusiveStart, LocalDate end, boolean includeEnd) {
    HistoricalTimeSeries hts = getHistoricalTimeSeries(identifiers, identifierValidityDate, dataSource, dataProvider, dataField);
    return getSubSeries(hts, start, inclusiveStart, end, includeEnd, null);
  }
View Full Code Here

TOP

Related Classes of com.opengamma.core.historicaltimeseries.HistoricalTimeSeries

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.