QuantLib
A free/open-source library for quantitative finance
Reference manual - version 1.20
Public Types | Public Member Functions | List of all members
Thirty360 Class Reference

30/360 day count convention More...

#include <ql/time/daycounters/thirty360.hpp>

+ Inheritance diagram for Thirty360:

Public Types

enum  Convention {
  USA, BondBasis, European, EurobondBasis,
  Italian, German
}
 

Public Member Functions

 Thirty360 (Convention c=Thirty360::BondBasis, bool isLastPeriod=false)
 
- Public Member Functions inherited from DayCounter
 DayCounter ()
 
bool empty () const
 Returns whether or not the day counter is initialized.
 
std::string name () const
 Returns the name of the day counter. More...
 
Date::serial_type dayCount (const Date &, const Date &) const
 Returns the number of days between two dates.
 
Time yearFraction (const Date &, const Date &, const Date &refPeriodStart=Date(), const Date &refPeriodEnd=Date()) const
 Returns the period between two dates as a fraction of year.
 

Additional Inherited Members

- Protected Member Functions inherited from DayCounter
 DayCounter (const ext::shared_ptr< Impl > &impl)
 
- Protected Attributes inherited from DayCounter
ext::shared_ptr< Implimpl_
 

Detailed Description

30/360 day count convention

The 30/360 day count can be calculated according to US, European, Italian or German conventions.

US (NASD) convention: if the starting date is the 31st of a month, it becomes equal to the 30th of the same month. If the ending date is the 31st of a month and the starting date is earlier than the 30th of a month, the ending date becomes equal to the 1st of the next month, otherwise the ending date becomes equal to the 30th of the same month. Also known as "30/360", "360/360", or "Bond Basis"

European convention: starting dates or ending dates that occur on the 31st of a month become equal to the 30th of the same month. Also known as "30E/360", or "Eurobond Basis"

Italian convention: starting dates or ending dates that occur on February and are grater than 27 become equal to 30 for computational sake.

German convention: starting dates or ending dates that occur on the last day of February become equal to 30 for computational sake, except for the termination date. Also known as "30E/360 ISDA"

Examples
BermudanSwaption.cpp, Bonds.cpp, CDS.cpp, ConvertibleBonds.cpp, Gaussian1dModels.cpp, MulticurveBootstrapping.cpp, and Repo.cpp.