public DailyTenorLibor(string familyName, int settlementDays, Currency currency, Calendar financialCenterCalendar, DayCounter dayCounter, Handle <YieldTermStructure> h) : base(familyName, new Period(1, TimeUnit.Days), settlementDays, currency, new JointCalendar(new UnitedKingdom(UnitedKingdom.Market.Exchange), financialCenterCalendar, JointCalendar.JointCalendarRule.JoinHolidays), Utils.liborConvention(new Period(1, TimeUnit.Days)), Utils.liborEOM(new Period(1, TimeUnit.Days)), dayCounter, h) { if (!(currency != new EURCurrency())) { throw new Exception("for EUR Libor dedicated EurLibor constructor must be used"); } }
public Libor(string familyName, Period tenor, int settlementDays, Currency currency, Calendar financialCenterCalendar, DayCounter dayCounter, Handle <YieldTermStructure> h) : base(familyName, tenor, settlementDays, currency, // http://www.bba.org.uk/bba/jsp/polopoly.jsp?d=225&a=1412 : // UnitedKingdom::Exchange is the fixing calendar for // a) all currencies but EUR // b) all indexes but o/n and s/n new UnitedKingdom(UnitedKingdom.Market.Exchange), Utils.liborConvention(tenor), Utils.liborEOM(tenor), dayCounter, h) { financialCenterCalendar_ = financialCenterCalendar; jointCalendar_ = new JointCalendar(new UnitedKingdom(UnitedKingdom.Market.Exchange), financialCenterCalendar, JointCalendar.JointCalendarRule.JoinHolidays); if (this.tenor().units() == TimeUnit.Days) { throw new Exception("for daily tenors (" + this.tenor() + ") dedicated DailyTenor constructor must be used"); } if (currency == new EURCurrency()) { throw new Exception("for EUR Libor dedicated EurLibor constructor must be used"); } }
/// <summary> /// /// </summary> /// <param name="familyName"></param> /// <param name="tenor"></param> /// <param name="settlementDays"></param> /// <param name="currency"></param> /// <param name="financialCenterCalendar"></param> /// <param name="dayCounter"></param> /// <param name="h"></param> /// <remarks> /// /// http://www.bba.org.uk/bba/jsp/polopoly.jsp?d=225&a=1412 : /// UnitedKingdom::Exchange is the fixing calendar for /// a) all currencies but EUR /// b) all indexes but o/n and s/n /// </remarks> public Libor(string familyName, Period tenor, int settlementDays, Currency currency, Calendar financialCenterCalendar, DayCounter dayCounter, Handle <YieldTermStructure> h) : base(familyName, tenor, settlementDays, currency, new UnitedKingdom(UnitedKingdom.Market.Exchange), Utils.liborConvention(tenor), Utils.liborEOM(tenor), dayCounter, h) { financialCenterCalendar_ = financialCenterCalendar; jointCalendar_ = new JointCalendar(new UnitedKingdom(UnitedKingdom.Market.Exchange), financialCenterCalendar, JointCalendar.JointCalendarRule.JoinHolidays); if (this.tenor().units() == TimeUnit.Days) { throw new ApplicationException("for daily tenors (" + this.tenor() + ") dedicated DailyTenor constructor must be used"); } if (currency == new EURCurrency()) { throw new ApplicationException("for EUR Libor dedicated EurLibor constructor must be used"); } }