コード例 #1
0
ファイル: test_date.py プロジェクト: aa403/pyql
    def test_conversion_from_pyql_to_datetime(self):

        date1 = Date(1, Jan, 2010)

        pydate1 = pydate_from_qldate(date1)

        expected_result = datetime.date(2010, 1, 1)

        self.assertEquals(expected_result, pydate1)
コード例 #2
0
    def test_conversion_from_pyql_to_datetime(self):

        date1 = Date(1, Jan, 2010)

        pydate1 = pydate_from_qldate(date1)

        expected_result = datetime.date(2010, 1, 1)

        self.assertEqual(expected_result, pydate1)
コード例 #3
0
ファイル: market.py プロジェクト: JohnnyBurst/pyql
def next_imm_date(reference_date, tenor):
    """
    Third Wednesday of contract month
    """
    dt = qldate_from_pydate(reference_date)
    for k in range(tenor):
        tmp = imm.next_date(dt)
        dt = pydate_to_qldate(tmp)
    return pydate_from_qldate(dt)
コード例 #4
0
ファイル: enums-2.py プロジェクト: sosh72/pyql
    def advance(cls, date, n, timeunit=None, calendar=None, convention=None):
        """
        Advance pydate according the specified calendar and convention
        
        :pydate:   e.g. 19600809, date(1964, 9, 29), '5-23-1993'
        :n:        integer
        :timeunit: e.g., enums.TimeUnits.Days

        usage
        -----
        
        Note 9/6/1980 is a weekend
    
        >>> Calendars.advance(19800906, 1)
        datetime.date(1980, 9, 8)
        
        """
        if not calendar:
            calendar = cls.TARGET()

        elif not hasattr(calendar, "advance"):
            return None

        if not convention:
            convention = BusinessDayConventions.Following

        if not timeunit:
            timeunit = TimeUnits.Days

        qldate = qldate_from_pydate(pydate(date))
        try:
            return pydate_from_qldate(calendar.advance(qldate, n, timeunit))

        except:
            try:
                return pydate_from_qldate(
                    calendar().advance(qldate, n, timeunit)
                )

            except:
                print("failure {}".format(qldate))
                return None
コード例 #5
0
ファイル: enums-2.py プロジェクト: sosh72/pyql
    def adjust(cls, date, calendar=None, convention=None):

        if not calendar:
            calendar = cls.TARGET()

        elif not hasattr(calendar, "adjust"):
            return None

        if not convention:
            convention = BusinessDayConventions.Following

        qldate = qldate_from_pydate(pydate(date))
        try:
            return pydate_from_qldate(calendar.adjust(qldate, convention))
        except:
            try:
                return pydate_from_qldate(calendar().adjust(qldate,
                                                            convention))
            except:
                return None