/** * Copyright (C) 2015 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.strata.pricer.datasets; import static com.opengamma.strata.basics.currency.Currency.EUR; import static com.opengamma.strata.basics.date.DayCounts.ACT_365F; import static com.opengamma.strata.basics.index.IborIndices.EUR_EURIBOR_6M; import java.time.LocalDate; import com.opengamma.strata.collect.array.DoubleArray; import com.opengamma.strata.collect.timeseries.LocalDateDoubleTimeSeries; import com.opengamma.strata.market.curve.Curves; import com.opengamma.strata.market.curve.InterpolatedNodalCurve; import com.opengamma.strata.market.curve.interpolator.CurveInterpolator; import com.opengamma.strata.market.curve.interpolator.CurveInterpolators; import com.opengamma.strata.pricer.rate.ImmutableRatesProvider; /** * Simple instances of ImmutableRateProvider to be used in tests. */ public class ImmutableRatesProviderSimpleData { public static final LocalDate VAL_DATE = LocalDate.of(2014, 1, 16); public static final ImmutableRatesProvider IMM_PROV_EUR_NOFIX; public static final ImmutableRatesProvider IMM_PROV_EUR_FIX; static { CurveInterpolator interp = CurveInterpolators.DOUBLE_QUADRATIC; DoubleArray time_eur = DoubleArray.of(0.0, 0.1, 0.25, 0.5, 0.75, 1.0, 2.0); DoubleArray rate_eur = DoubleArray.of(0.0160, 0.0165, 0.0155, 0.0155, 0.0155, 0.0150, 0.0140); InterpolatedNodalCurve dscCurve = InterpolatedNodalCurve.of(Curves.zeroRates("EUR-Discount", ACT_365F), time_eur, rate_eur, interp); DoubleArray time_index = DoubleArray.of(0.0, 0.25, 0.5, 1.0); DoubleArray rate_index = DoubleArray.of(0.0180, 0.0180, 0.0175, 0.0165); InterpolatedNodalCurve indexCurve = InterpolatedNodalCurve.of(Curves.zeroRates("EUR-EURIBOR6M", ACT_365F), time_index, rate_index, interp); IMM_PROV_EUR_NOFIX = ImmutableRatesProvider.builder(VAL_DATE) .discountCurve(EUR, dscCurve) .iborIndexCurve(EUR_EURIBOR_6M, indexCurve) .build(); LocalDateDoubleTimeSeries tsE6 = LocalDateDoubleTimeSeries.builder() .put(VAL_DATE, 0.012345).build(); IMM_PROV_EUR_FIX = ImmutableRatesProvider.builder(VAL_DATE) .discountCurve(EUR, dscCurve) .iborIndexCurve(EUR_EURIBOR_6M, indexCurve, tsE6) .build(); } }