Exemplo n.º 1
0
 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");
     }
 }
Exemplo n.º 2
0
 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");
     }
 }
Exemplo n.º 3
0
        /// <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");
            }
        }