当前位置: 首页>>代码示例>>Python>>正文


Python UnitedKingdom.adjust方法代码示例

本文整理汇总了Python中quantlib.time.calendars.united_kingdom.UnitedKingdom.adjust方法的典型用法代码示例。如果您正苦于以下问题:Python UnitedKingdom.adjust方法的具体用法?Python UnitedKingdom.adjust怎么用?Python UnitedKingdom.adjust使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在quantlib.time.calendars.united_kingdom.UnitedKingdom的用法示例。


在下文中一共展示了UnitedKingdom.adjust方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_adjust_business_day

# 需要导入模块: from quantlib.time.calendars.united_kingdom import UnitedKingdom [as 别名]
# 或者: from quantlib.time.calendars.united_kingdom.UnitedKingdom import adjust [as 别名]
    def test_adjust_business_day(self):

        ukcal = UnitedKingdom()

        bank_holiday_date = Date(3, May, 2010)  # Early May Bank Holiday

        adjusted_date = ukcal.adjust(bank_holiday_date)
        following_date = bank_holiday_date + 1
        self.assertTrue(following_date == adjusted_date)

        adjusted_date = ukcal.adjust(bank_holiday_date, convention=Preceding)
        following_date = bank_holiday_date - 3  # bank holiday is a Monday
        self.assertTrue(following_date == adjusted_date)

        adjusted_date = ukcal.adjust(bank_holiday_date, convention=ModifiedPreceding)
        following_date = bank_holiday_date + 1  # Preceding is on a different
        # month
        self.assertTrue(following_date == adjusted_date)
开发者ID:AlexArgus,项目名称:pyql,代码行数:20,代码来源:test_calendar.py

示例2: ScheduleMethodTestCase

# 需要导入模块: from quantlib.time.calendars.united_kingdom import UnitedKingdom [as 别名]
# 或者: from quantlib.time.calendars.united_kingdom.UnitedKingdom import adjust [as 别名]
class ScheduleMethodTestCase(unittest.TestCase):

    def setUp(self):
        self.from_date = Date(1, Jan, 2011)
        self.to_date = Date(31, Dec, 2011)
        self.tenor = Period(4, Weeks)
        self.calendar = UnitedKingdom()
        self.convention = Following
        self.termination_convention = Preceding
        self.rule = Twentieth

        self.schedule = Schedule.from_rule(
            self.from_date, self.to_date, self.tenor, self.calendar,
            self.convention, self.termination_convention, self.rule
        )

    def test_size(self):

        self.assertEqual(15, self.schedule.size())
        self.assertEqual(15, len(self.schedule))

    def test_dates(self):

        expected_dates_length = self.schedule.size()
        dates = list(self.schedule.dates())

        self.assertEqual(expected_dates_length, len(dates))

    def test_iter_dates(self):

        expected_dates_length = self.schedule.size()
        dates= [date for date in self.schedule]

        self.assertEqual(expected_dates_length, len(dates))

    def test_at(self):

        expected_date = self.calendar.adjust(self.from_date, Following)
        self.assertEqual(expected_date, self.schedule.at(0))
        self.assertEqual(expected_date, self.schedule[0])

        next_date = self.calendar.adjust(
            self.from_date + Period(4, Weeks), Following
        )
        expected_date = Date(20, next_date.month, next_date.year)

        self.assertEqual(expected_date, self.schedule.at(1))
        self.assertEqual(expected_date, self.schedule[1])

    def test_previous_next_reference_date(self):
        from_date = Date(3, Sep, 2011)
        to_date = Date(15, Dec, 2011)
        tenor = Period(1, Months)
        calendar = UnitedKingdom()
        convention = Following
        termination_convention = Following
        rule = Forward

        fwd_schedule = Schedule.from_rule(from_date, to_date,
                tenor, calendar, convention, termination_convention, rule)

        expected_date = Date(5, Sep, 2011)
        self.assertEqual(expected_date, fwd_schedule.next_date(from_date))

        rule = Backward

        bwd_schedule = Schedule.from_rule(from_date, to_date,
                tenor, calendar, convention, termination_convention, rule)

        expected_date = Date(15, Nov, 2011)
        self.assertEqual(expected_date, bwd_schedule.previous_date(to_date))

    def test_schedule_from_dates(self):
        dates = [Date(3, Sep, 2011),
                 Date(5, Nov, 2011),
                 Date(15, Dec, 2011)]
        tenor = Period(1, Months)
        calendar = UnitedKingdom()
        convention = Following
        termination_convention = Following
        rule = Forward

        schedule = Schedule.from_dates(dates,
                calendar, convention, termination_convention, tenor, rule)

        expected_date = Date(3, Sep, 2011)
        self.assert_(expected_date == schedule.next_date(Date(3, Sep, 2011)))

        expected_date = Date(5, Nov, 2011)
        self.assert_(expected_date == schedule.next_date(Date(4, Sep, 2011)))

        expected_date = Date(15, Dec, 2011)
        self.assert_(expected_date == schedule.next_date(Date(6, Nov, 2011)))
开发者ID:enthought,项目名称:pyql,代码行数:95,代码来源:test_schedule.py


注:本文中的quantlib.time.calendars.united_kingdom.UnitedKingdom.adjust方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。