/** * Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.interestrate.datasets; import org.threeten.bp.ZonedDateTime; import com.opengamma.timeseries.precise.zdt.ImmutableZonedDateTimeDoubleTimeSeries; import com.opengamma.timeseries.precise.zdt.ZonedDateTimeDoubleTimeSeries; import com.opengamma.util.time.DateUtils; /** * Time series of Overnight and Ibor indexes used for testing purposes. */ public class StandardTimeSeriesOnIborDataSets { /** ===== GBP IBOR 3M INDEX ===== */ private static final ZonedDateTimeDoubleTimeSeries GBPLIBOR3M_2014JAN = ImmutableZonedDateTimeDoubleTimeSeries.ofUTC(new ZonedDateTime[] { DateUtils.getUTCDate(2014, 1, 2), DateUtils.getUTCDate(2014, 1, 3), DateUtils.getUTCDate(2014, 1, 6), DateUtils.getUTCDate(2014, 1, 7), DateUtils.getUTCDate(2014, 1, 8), DateUtils.getUTCDate(2014, 1, 9), DateUtils.getUTCDate(2014, 1, 10), DateUtils.getUTCDate(2014, 1, 13), DateUtils.getUTCDate(2014, 1, 14), DateUtils.getUTCDate(2014, 1, 15), DateUtils.getUTCDate(2014, 1, 16), DateUtils.getUTCDate(2014, 1, 17), DateUtils.getUTCDate(2014, 1, 20), DateUtils.getUTCDate(2014, 1, 21), DateUtils.getUTCDate(2014, 1, 22), DateUtils.getUTCDate(2014, 1, 23), DateUtils.getUTCDate(2014, 1, 24), DateUtils.getUTCDate(2014, 1, 27), DateUtils.getUTCDate(2014, 1, 28), DateUtils.getUTCDate(2014, 1, 29), DateUtils.getUTCDate(2014, 1, 30), DateUtils.getUTCDate(2014, 1, 31) }, new double[] {0.0024285, 0.0023985, 0.0023935, 0.002421, 0.002404, 0.0024165, 0.0024165, 0.002389, 0.0023675, 0.0023785, 0.0023635, 0.002366, 0.002371, 0.002366, 0.002371, 0.002386, 0.0023535, 0.002361, 0.002361, 0.002356, 0.002376, 0.002366}); /** * Returns the GBP Ibor 3M index time series for January 2014 up to the endDate (exclusive). * @param endDate The end date. * @return The time series. */ public static ZonedDateTimeDoubleTimeSeries timeSeriesGbpIbor3M2014Jan(ZonedDateTime endDate) { return GBPLIBOR3M_2014JAN.subSeries(DateUtils.getUTCDate(2014, 1, 1), endDate); } /** ===== USD IBOR 3M INDEX ===== */ private static final ZonedDateTimeDoubleTimeSeries USDLIBOR3M_2014JAN = ImmutableZonedDateTimeDoubleTimeSeries.ofUTC(new ZonedDateTime[] { DateUtils.getUTCDate(2014, 1, 2), DateUtils.getUTCDate(2014, 1, 3), DateUtils.getUTCDate(2014, 1, 6), DateUtils.getUTCDate(2014, 1, 7), DateUtils.getUTCDate(2014, 1, 8), DateUtils.getUTCDate(2014, 1, 9), DateUtils.getUTCDate(2014, 1, 10), DateUtils.getUTCDate(2014, 1, 13), DateUtils.getUTCDate(2014, 1, 14), DateUtils.getUTCDate(2014, 1, 15), DateUtils.getUTCDate(2014, 1, 16), DateUtils.getUTCDate(2014, 1, 17), DateUtils.getUTCDate(2014, 1, 20), DateUtils.getUTCDate(2014, 1, 21), DateUtils.getUTCDate(2014, 1, 22), DateUtils.getUTCDate(2014, 1, 23), DateUtils.getUTCDate(2014, 1, 24), DateUtils.getUTCDate(2014, 1, 27), DateUtils.getUTCDate(2014, 1, 28), DateUtils.getUTCDate(2014, 1, 29), DateUtils.getUTCDate(2014, 1, 30), DateUtils.getUTCDate(2014, 1, 31) }, new double[] {0.0024285, 0.0023985, 0.0023935, 0.002421, 0.002404, 0.0024165, 0.0024165, 0.002389, 0.0023675, 0.0023785, 0.0023635, 0.002366, 0.002371, 0.002366, 0.002371, 0.002386, 0.0023535, 0.002361, 0.002361, 0.002356, 0.002376, 0.002366}); private static final ZonedDateTimeDoubleTimeSeries USDLIBOR3M_2014JUL = ImmutableZonedDateTimeDoubleTimeSeries.ofUTC(new ZonedDateTime[] { DateUtils.getUTCDate(2014, 7, 1), DateUtils.getUTCDate(2014, 7, 2), DateUtils.getUTCDate(2014, 7, 3), DateUtils.getUTCDate(2014, 7, 4), DateUtils.getUTCDate(2014, 7, 7), DateUtils.getUTCDate(2014, 7, 8), DateUtils.getUTCDate(2014, 7, 9), DateUtils.getUTCDate(2014, 7, 10), DateUtils.getUTCDate(2014, 7, 11), DateUtils.getUTCDate(2014, 7, 14), DateUtils.getUTCDate(2014, 7, 15), DateUtils.getUTCDate(2014, 7, 16), DateUtils.getUTCDate(2014, 7, 17), DateUtils.getUTCDate(2014, 7, 18), DateUtils.getUTCDate(2014, 7, 21), DateUtils.getUTCDate(2014, 7, 22), DateUtils.getUTCDate(2014, 7, 23), DateUtils.getUTCDate(2014, 7, 24), DateUtils.getUTCDate(2014, 7, 25), DateUtils.getUTCDate(2014, 7, 28), DateUtils.getUTCDate(2014, 7, 29), DateUtils.getUTCDate(2014, 7, 30), DateUtils.getUTCDate(2014, 7, 31) }, new double[] {0.002318, 0.002346, 0.002321, 0.002331, 0.002341, 0.002336, 0.002341, 0.002336, 0.002336, 0.002326, 0.002331, 0.002336, 0.002336, 0.002316, 0.002331, 0.002326, 0.002341, 0.002351, 0.002341, 0.002341, 0.002371, 0.002396, 0.002391 }); /** * Returns the USD Ibor 3M index time series for January 2014 up to the endDate (exclusive). * @param endDate The end date. * @return The time series. */ public static ZonedDateTimeDoubleTimeSeries timeSeriesUsdIbor3M2014Jan(ZonedDateTime endDate) { return USDLIBOR3M_2014JAN.subSeries(DateUtils.getUTCDate(2014, 1, 1), endDate); } /** * Returns the USD Ibor 3M index time series for July 2014 up to the endDate (exclusive). * @param endDate The end date. * @return The time series. */ public static ZonedDateTimeDoubleTimeSeries timeSeriesUsdIbor3M2014Jul(ZonedDateTime endDate) { return USDLIBOR3M_2014JUL.subSeries(DateUtils.getUTCDate(2014, 7, 1), endDate); } /** ===== USD OVERNIGHT INDEX ===== */ private static final ZonedDateTimeDoubleTimeSeries USDON_2014JAN = ImmutableZonedDateTimeDoubleTimeSeries.ofUTC(new ZonedDateTime[] { DateUtils.getUTCDate(2014, 1, 2), DateUtils.getUTCDate(2014, 1, 3), DateUtils.getUTCDate(2014, 1, 6), DateUtils.getUTCDate(2014, 1, 7), DateUtils.getUTCDate(2014, 1, 8), DateUtils.getUTCDate(2014, 1, 9), DateUtils.getUTCDate(2014, 1, 10), DateUtils.getUTCDate(2014, 1, 13), DateUtils.getUTCDate(2014, 1, 14), DateUtils.getUTCDate(2014, 1, 15), DateUtils.getUTCDate(2014, 1, 16), DateUtils.getUTCDate(2014, 1, 17), DateUtils.getUTCDate(2014, 1, 20), DateUtils.getUTCDate(2014, 1, 21), DateUtils.getUTCDate(2014, 1, 22), DateUtils.getUTCDate(2014, 1, 23), DateUtils.getUTCDate(2014, 1, 24), DateUtils.getUTCDate(2014, 1, 27), DateUtils.getUTCDate(2014, 1, 28), DateUtils.getUTCDate(2014, 1, 29), DateUtils.getUTCDate(2014, 1, 30), DateUtils.getUTCDate(2014, 1, 31) }, new double[] {0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0007, 0.0008, 0.0008, 0.0008}); /** * Returns the USD overnight index time series for January 2014 up to the endDate (exclusive). * @param endDate The end date. * @return The time series. */ public static ZonedDateTimeDoubleTimeSeries timeSeriesUsdOn2014Jan(ZonedDateTime endDate) { return USDON_2014JAN.subSeries(DateUtils.getUTCDate(2014, 1, 1), endDate); } }