def test_creation(self): # Market information settings = Settings(calendar = TARGET()) calendar = settings.calendar settlement_date = Date(18, September, 2008) # must be a business day settlement_date = calendar.adjust(settlement_date); # must be a business day settings.evaluation_date = pydate_from_qldate( calendar.advance(settlement_date, -2, Days) ) quotes = [0.0096, 0.0145, 0.0194] tenors = [3, 6, 12] rate_helpers = [] deposit_day_counter = Actual365Fixed() convention = ModifiedFollowing end_of_month = True for quote, month in zip(quotes, tenors): tenor = Period(month, Months) fixing_days = 3 helper = DepositRateHelper( quote, tenor, fixing_days, calendar, convention, end_of_month, deposit_day_counter ) rate_helpers.append(helper) ts_day_counter = ActualActual(ISDA) tolerance = 1.0e-15 ts = term_structure_factory( 'discount', 'loglinear', settlement_date, rate_helpers, ts_day_counter, tolerance ) self.assertIsNotNone(ts) self.assertEquals( Date(18, September, 2008), ts.reference_date) # this is not a real test ... self.assertAlmostEquals(0.9975, ts.discount(Date(21, 12, 2008)), 4)
def test_creation(self): # Market information settings = Settings(calendar=TARGET()) calendar = settings.calendar settlement_date = Date(18, September, 2008) # must be a business day settlement_date = calendar.adjust(settlement_date) # must be a business day settings.evaluation_date = pydate_from_qldate( calendar.advance(settlement_date, -2, Days)) quotes = [0.0096, 0.0145, 0.0194] tenors = [3, 6, 12] rate_helpers = [] deposit_day_counter = Actual365Fixed() convention = ModifiedFollowing end_of_month = True for quote, month in zip(quotes, tenors): tenor = Period(month, Months) fixing_days = 3 helper = DepositRateHelper(quote, tenor, fixing_days, calendar, convention, end_of_month, deposit_day_counter) rate_helpers.append(helper) ts_day_counter = ActualActual(ISDA) tolerance = 1.0e-15 ts = term_structure_factory('discount', 'loglinear', settlement_date, rate_helpers, ts_day_counter, tolerance) self.assertIsNotNone(ts) self.assertEquals(Date(18, September, 2008), ts.reference_date) # this is not a real test ... self.assertAlmostEquals(0.9975, ts.discount(Date(21, 12, 2008)), 4)
def test_using_settings(self): settings = Settings() ql_date_today = Date(12, January, 2012) evaluation_date = pydate_from_qldate(ql_date_today) # have to set the evaluation date before the test as it is a global # attribute for the whole library ... meaning that previous test_cases # might have set this to another date settings.evaluation_date = evaluation_date self.assertTrue( evaluation_date == settings.evaluation_date ) self.assertTrue(settings.version.startswith('1'))