/**
* Copyright (C) 2014 - present by OpenGamma Inc. and the OpenGamma group of companies
*
* Please see distribution for license.
*/
package com.opengamma.basics.index;
import static com.opengamma.basics.currency.Currency.CHF;
import static com.opengamma.basics.currency.Currency.EUR;
import static com.opengamma.basics.currency.Currency.GBP;
import static com.opengamma.basics.currency.Currency.JPY;
import static com.opengamma.basics.currency.Currency.USD;
import static com.opengamma.basics.date.DayCounts.ACT_360;
import static com.opengamma.basics.date.DayCounts.ACT_365F;
import static com.opengamma.basics.date.HolidayCalendars.CHZU;
import static com.opengamma.basics.date.HolidayCalendars.EUTA;
import static com.opengamma.basics.date.HolidayCalendars.GBLO;
import static com.opengamma.basics.date.HolidayCalendars.JPTO;
import static com.opengamma.basics.date.HolidayCalendars.NYFD;
/**
* Standard Overnight index implementations.
* <p>
* See {@link OvernightIndices} for the description of each.
*/
final class StandardOvernightIndices {
// http://www.opengamma.com/sites/default/files/interest-rate-instruments-and-market-conventions.pdf
private static final String GBP_SONIA_NAME = "GBP-SONIA";
private static final String CHF_TOIS_NAME = "CHF-TOIS";
private static final String EUR_EONIA_NAME = "EUR-EONIA";
private static final String JPY_TONAR_NAME = "JPY-TONAR";
private static final String USD_FED_FUND_NAME = "USD-FED-FUND";
// GBP SONIA
public static final OvernightIndex GBP_SONIA = ImmutableOvernightIndex.builder()
.name(GBP_SONIA_NAME)
.currency(GBP)
.fixingCalendar(GBLO)
.publicationDateOffset(0)
.effectiveDateOffset(0)
.dayCount(ACT_365F)
.build();
// CHF TOIS
public static final OvernightIndex CHF_TOIS = ImmutableOvernightIndex.builder()
.name(CHF_TOIS_NAME)
.currency(CHF)
.fixingCalendar(CHZU)
.publicationDateOffset(0)
.effectiveDateOffset(1)
.dayCount(ACT_360)
.build();
// EUR EONIA
public static final OvernightIndex EUR_EONIA = ImmutableOvernightIndex.builder()
.name(EUR_EONIA_NAME)
.currency(EUR)
.fixingCalendar(EUTA)
.publicationDateOffset(0)
.effectiveDateOffset(0)
.dayCount(ACT_360)
.build();
// JPY TONAR
public static final OvernightIndex JPY_TONAR = ImmutableOvernightIndex.builder()
.name(JPY_TONAR_NAME)
.currency(JPY)
.fixingCalendar(JPTO)
.publicationDateOffset(1)
.effectiveDateOffset(0)
.dayCount(ACT_365F)
.build();
// USD FedFund
public static final OvernightIndex USD_FED_FUND = ImmutableOvernightIndex.builder()
.name(USD_FED_FUND_NAME)
.currency(USD)
.fixingCalendar(NYFD)
.publicationDateOffset(1)
.effectiveDateOffset(0)
.dayCount(ACT_360)
.build();
//-------------------------------------------------------------------------
/**
* Restricted constructor.
*/
private StandardOvernightIndices() {
}
}