/** * Copyright (C) 2011 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.analytics.financial.interestrate.payments.provider; import com.opengamma.analytics.financial.instrument.index.IndexON; import com.opengamma.analytics.financial.interestrate.payments.derivative.DepositIndexCoupon; import com.opengamma.analytics.financial.provider.description.interestrate.MulticurveProviderInterface; public final class OvernightForwardRateProvider implements ForwardRateProvider<IndexON> { /** * Singleton instance. */ private static final OvernightForwardRateProvider INSTANCE = new OvernightForwardRateProvider(); /** * Singleton constructor. */ private OvernightForwardRateProvider() { } public static OvernightForwardRateProvider getInstance() { return INSTANCE; } @Override public <T extends DepositIndexCoupon<IndexON>> double getRate(MulticurveProviderInterface multicurves, T coupon, double fixingPeriodStartTime, double fixingPeriodEndTime, double fixingPeriodYearFraction) { return multicurves.getSimplyCompoundForwardRate( coupon.getIndex(), fixingPeriodStartTime, fixingPeriodEndTime, fixingPeriodYearFraction); } }