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 class OISForwardRateProvider implements ForwardRateProvider<IndexON> {
/**
* Singleton instance.
*/
private static final OISForwardRateProvider INSTANCE = new OISForwardRateProvider();
/**
* Singleton constructor.
*/
private OISForwardRateProvider() {
}
/**
* Returns a singleton.
* @return a singleton.
*/
public static OISForwardRateProvider getInstance() {
return INSTANCE;
}
@Override
public <T extends DepositIndexCoupon<IndexON>> double getRate(
final MulticurveProviderInterface multicurves,
final T coupon,
final double fixingPeriodStartTime,
final double fixingPeriodEndTime,
final double fixingPeriodYearFraction) {
return multicurves.getSimplyCompoundForwardRate(coupon.getIndex(), fixingPeriodStartTime, fixingPeriodEndTime, fixingPeriodYearFraction);
}
}