/** * Copyright (C) 2012 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.credit.util; import org.threeten.bp.ZonedDateTime; import com.opengamma.util.ArgumentChecker; /** * Class to check the efficacy of user input CDS spread data (e.g. that tenors of calibrating instruments are in ascending order) *@deprecated this will be deleted */ @Deprecated public class CreditMarketDataUtils { private static final double TOLERANCE = 1e-15; public static void checkSpreadData(final ZonedDateTime valuationDate, final ZonedDateTime[] marketDates, final double[] marketSpreads) { ArgumentChecker.notNull(valuationDate, "valuation date"); ArgumentChecker.notNull(marketDates, "market dates"); ArgumentChecker.notNull(marketSpreads, "market spreads"); ArgumentChecker.isTrue(marketDates.length == marketSpreads.length, "Number of dates {} and spreads {} should be equal", marketDates.length, marketSpreads.length); ArgumentChecker.isTrue(marketDates[0].isAfter(valuationDate), "Calibration instrument of tenor {} is before the valuation date {}", marketDates[0], valuationDate); ArgumentChecker.notNegativeOrZero(marketSpreads[0], TOLERANCE, "Market spread ({}) for date {}", marketSpreads[0], marketDates[0]); if (marketDates.length > 1) { for (int m = 1; m < marketDates.length; m++) { ArgumentChecker.isTrue(marketDates[m].isAfter(marketDates[m - 1]), "Dates not in ascending order"); ArgumentChecker.notNegativeOrZero(marketSpreads[m], TOLERANCE, "Market spread ({}) for date {}", marketSpreads[m], marketDates[m]); } } } }