/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.horizon; import org.threeten.bp.ZonedDateTime; import com.opengamma.analytics.financial.instrument.InstrumentDefinition; import com.opengamma.analytics.financial.interestrate.YieldCurveBundle; import com.opengamma.financial.convention.calendar.Calendar; import com.opengamma.util.money.MultipleCurrencyAmount; /** * Calculates the difference in present value between one day and the next, giving a theta-like result. * Possible implementations could be a constant spread-type calculation, where there is no forward slide * of the market data, or one where all market data has slide. * @param <U> The type of instrument * @param <V> The type of the market data * @param <W> The type of any additional market data required to calculate the horizon. * @deprecated {@link YieldCurveBundle} is deprecated */ @Deprecated public interface HorizonCalculatorDeprecated<U extends InstrumentDefinition<?>, V extends YieldCurveBundle, W> { /** * Calculates the theta for an instrument. * @param definition The swap definition, not null * @param date The calculation date, not null * @param yieldCurveNames The yield curve names, not null * @param data The initial yield curve data, not null * @param daysForward The number of days to roll forward, must be +/-1 * @param calendar The holiday calendar, not null * @return The theta */ MultipleCurrencyAmount getTheta(U definition, ZonedDateTime date, String[] yieldCurveNames, V data, int daysForward, Calendar calendar); /** * Calculates the theta for an instrument. * @param definition The swap definition, not null * @param date The calculation date, not null * @param yieldCurveNames The yield curve names, not null * @param data The initial yield curve data, not null * @param daysForward The number of days to roll forward, must be +/-1 * @param calendar The holiday calendar, not null * @param additionalData Any additional data that are needed for pricing (e.g. fixing series for swaps). * @return The theta */ MultipleCurrencyAmount getTheta(U definition, ZonedDateTime date, String[] yieldCurveNames, V data, int daysForward, Calendar calendar, W additionalData); }