diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/tests/test_tranche_basket.py | 22 |
1 files changed, 20 insertions, 2 deletions
diff --git a/python/tests/test_tranche_basket.py b/python/tests/test_tranche_basket.py index a3a13038..6383f6fd 100644 --- a/python/tests/test_tranche_basket.py +++ b/python/tests/test_tranche_basket.py @@ -1,6 +1,7 @@ import unittest import datetime -from analytics import DualCorrTranche +from analytics import DualCorrTranche, TrancheBasket +import numpy as np import pickle @@ -12,4 +13,21 @@ class TestPickle(unittest.TestCase): self.assertTrue(hash(a) == hash(self.bozeman)) def test_pv(self): - self.assertAlmostEqual(self.bozeman.upfront, 0.) + self.assertAlmostEqual(self.bozeman.upfront, 0.0) + + +class TestTopDown(unittest.TestCase): + eu30 = TrancheBasket("EU", 30, "5yr", value_date=datetime.date(2019, 8, 15)) + market_quotes = ( + eu30.tranche_quotes.running * eu30.accrued() + eu30.tranche_quotes.quotes + ) + + def test_bottomup(self): + self.eu30.build_skew() + upfronts = 1 - self.eu30.tranche_pvs().bond_price + self.assertTrue(np.allclose(upfronts[:-1], self.market_quotes[:-1])) + + def test_topdown(self): + self.eu30.build_skew("topdown") + upfronts = 1 - self.eu30.tranche_pvs(complement=True).bond_price + self.assertTrue(np.allclose(upfronts[1:], self.market_quotes[1:])) |
