def test_IMM(self): set_eval_date(date(2012, 7, 2)) cdate = imm.IMM.contract_date('ED3') self.assertTrue(cdate == date(2013, 3, 20))
def test_swapcurve(self): evaldate = date(2004, 9, 20) set_eval_date(evaldate) futures = dict(zip( ("ED1", "ED2", "ED3", "ED4", "ED5", "ED6", "ED7", "ED8"), (96.2875, 96.7875, 96.9875, 96.6875, 96.4875, 96.3875, 96.2875, 96.0875) )) depos = dict(zip( ("1W", "1M"), (.0382, 0.0372) )) swaps = dict(zip( ("3y", "5y", "10Y", "15Y"), (0.0398, 0.0443, 0.05165, 0.055175) )) rh = curves.RateHelperCurve(EURiborCurve("6M", Annual)) rh.update(depos, futures, swaps, evaldate) self.assertTrue( abs(rh.discount(10.) - 0.597) < 0.001 )
def test_settings_null(self): set_eval_date() #if you run on the weekend, date will roll forward self.assertTrue( get_eval_date() >= date.today() )
def test_IMM(self): set_eval_date(date(2012, 7, 2)) cdate = imm.IMM.contract_date('ED3') self.assertTrue( cdate == date(2013, 3, 20) )
def test_settings_functional(self): dt = date(1960, 8, 9) set_eval_date(dt) self.assertEquals( dt, get_eval_date() )
def test_swapcurve(self): evaldate = date(2004, 9, 20) set_eval_date(evaldate) futures = dict( zip(("ED1", "ED2", "ED3", "ED4", "ED5", "ED6", "ED7", "ED8"), (96.2875, 96.7875, 96.9875, 96.6875, 96.4875, 96.3875, 96.2875, 96.0875))) depos = dict(zip(("1W", "1M"), (.0382, 0.0372))) swaps = dict( zip(("3y", "5y", "10Y", "15Y"), (0.0398, 0.0443, 0.05165, 0.055175))) rh = curves.RateHelperCurve(EURiborCurve("6M", Annual)) rh.update(depos, futures, swaps, evaldate) self.assertTrue(abs(rh.discount(10.) - 0.597) < 0.001)
from pybg.settings import PySettings, set_eval_date from pybg.enums import Frequencies import pybg.curves as curves from pybg.curvetypes import USDLiborCurve, EURiborCurve from datetime import date import pybg.instruments.callbond as C evaldate = date(2004, 9, 20) set_eval_date(evaldate) futtenors, futspots = ( ("ED1", "ED2", "ED3", "ED4", "ED5", "ED6", "ED7", "ED8"), (96.2875, 96.7875, 96.9875, 96.6875, 96.4875, 96.3875, 96.2875, 96.0875) ) depotenors, depospots = ( ("1W", "1M", "3M", "6M", "9M", "1y"), (.0382, 0.0372, 0.0363, 0.0353, 0.0348, 0.0345) ) swaptenors, swapspots = ( ("2y", "3y", "5y", "10Y", "15Y"), (0.037125, 0.0398, 0.0443, 0.05165, 0.055175) ) futures = dict(zip(futtenors, futspots)) depos = dict(zip(depotenors, depospots))