/** * Copyright (C) 2013 - present by OpenGamma Inc. and the OpenGamma group of companies * * Please see distribution for license. */ package com.opengamma.financial.convention.initializer; import static com.opengamma.financial.convention.initializer.PerCurrencyConventionHelper.LIBOR; import static com.opengamma.financial.convention.initializer.PerCurrencyConventionHelper.getConventionName; import static com.opengamma.financial.convention.initializer.PerCurrencyConventionHelper.getIds; import org.threeten.bp.LocalTime; import com.opengamma.core.id.ExternalSchemes; import com.opengamma.financial.convention.IborIndexConvention; import com.opengamma.financial.convention.businessday.BusinessDayConvention; import com.opengamma.financial.convention.businessday.BusinessDayConventions; import com.opengamma.financial.convention.daycount.DayCount; import com.opengamma.financial.convention.daycount.DayCounts; import com.opengamma.id.ExternalId; import com.opengamma.master.convention.ConventionMaster; import com.opengamma.util.money.Currency; /** * The conventions for Switzerland. */ public class CHConventions extends ConventionMasterInitializer { /** Singleton. */ public static final ConventionMasterInitializer INSTANCE = new CHConventions(); private static final BusinessDayConvention MODIFIED_FOLLOWING = BusinessDayConventions.MODIFIED_FOLLOWING; private static final DayCount ACT_360 = DayCounts.ACT_360; private static final ExternalId CH = ExternalSchemes.financialRegionId("CH"); private static final ExternalId CHGB = ExternalSchemes.financialRegionId("CH+GB"); /** * Restricted constructor. */ protected CHConventions() { } //------------------------------------------------------------------------- @Override public void init(final ConventionMaster master) { addIborIndexConvention(master); } protected void addIborIndexConvention(final ConventionMaster master) { final String liborConventionName = getConventionName(Currency.CHF, LIBOR); final IborIndexConvention liborIndex = new IborIndexConvention( liborConventionName, getIds(Currency.CHF, LIBOR), ACT_360, MODIFIED_FOLLOWING, 2, true, Currency.CHF, LocalTime.of(11, 00), "CH", CHGB, CH, ""); addConvention(master, liborIndex); } }