示例#1
0
    def test_IMM(self):

        set_eval_date(date(2012, 7, 2))

        cdate = imm.IMM.contract_date('ED3')

        self.assertTrue(cdate == date(2013, 3, 20))
示例#2
0
    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
            )
示例#3
0
 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()
         )
示例#4
0
 def test_IMM(self):
     
     set_eval_date(date(2012, 7, 2))
     
     cdate = imm.IMM.contract_date('ED3')
     
     self.assertTrue(
         cdate == date(2013, 3, 20)
     )
示例#5
0
 def test_settings_functional(self):
     
     dt = date(1960, 8, 9)
     
     set_eval_date(dt)
     
     self.assertEquals(
         dt,
         get_eval_date()
         )
示例#6
0
    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)
示例#7
0
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))