diff options
Diffstat (limited to 'python/tests')
| -rw-r--r-- | python/tests/test_swaption.py | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/python/tests/test_swaption.py b/python/tests/test_swaption.py index 1fd71d27..bc71d012 100644 --- a/python/tests/test_swaption.py +++ b/python/tests/test_swaption.py @@ -4,7 +4,7 @@ import datetime import sys sys.path.append('..') from analytics.index import g -from analytics import Index, Swaption +from analytics import Index, Swaption, BlackSwaption class TestPutCallParity(unittest.TestCase): index = Index.from_name("ig", 27, "5yr", @@ -23,13 +23,13 @@ class TestPutCallParity(unittest.TestCase): df * (payer.forward_pv - g(self.index, self.strike, self.exercise_date, payer._forward_yc))) - def test_parity_pvblack(self): - payer = Swaption(self.index, self.exercise_date, self.strike) - receiver = Swaption(self.index, self.exercise_date, self.strike, "receiver") + def test_parity_black(self): + payer = BlackSwaption(self.index, self.exercise_date, self.strike) + receiver = BlackSwaption(self.index, self.exercise_date, self.strike, "receiver") payer.sigma = 0.416 receiver.sigma = 0.416 df = self.index._yc.discount_factor(payer.exercise_date_settle) - self.assertAlmostEqual(payer.pv_black - receiver.pv_black, + self.assertAlmostEqual(payer.pv - receiver.pv, df * (payer.forward_pv - g(self.index, self.strike, self.exercise_date, payer._forward_yc))) @@ -38,7 +38,7 @@ class TestPutCallParity(unittest.TestCase): payer.sigma = 0.2 pv = 30 * 1e-4 payer.pv = pv - self.assertAlmostEqual(payer.pv, payer.pv) + self.assertAlmostEqual(payer.pv, pv) self.assertAlmostEqual(payer.sigma, 0.3756828) def test_hy(self): @@ -47,7 +47,7 @@ class TestPutCallParity(unittest.TestCase): index.price = 103.875 exercise_date = datetime.date(2017, 3, 15) strike = 102.5 - payer = Swaption(index, exercise_date, strike, strike_is_price = True) + payer = Swaption(index, exercise_date, strike) payer.pv = 1.948 * 1e-2 self.assertAlmostEqual(payer.sigma, 0.4144886488) @@ -65,29 +65,27 @@ class TestBreakeven(unittest.TestCase): igstrike = 80 def test_hypayer(self): - payer = Swaption(self.hyindex, self.exercise_date, - self.hystrike, strike_is_price=True) + payer = Swaption(self.hyindex, self.exercise_date, self.hystrike) payer.sigma = .4 payer.notional = 1e7 self.assertAlmostEqual(payer.breakeven, 100.66971148766) def test_hyreceiver(self): receiver = Swaption(self.hyindex, self.exercise_date, - self.hystrike, "receiver", strike_is_price=True) + self.hystrike, "receiver") receiver.sigma = .4 receiver.notional = 1e7 self.assertAlmostEqual(receiver.breakeven, 103.9609977905) def test_igpayer(self): - payer = Swaption(self.igindex, self.exercise_date, - self.igstrike, strike_is_price=False) + payer = Swaption(self.igindex, self.exercise_date, self.igstrike) payer.sigma = .4 payer.notional = 1e7 self.assertAlmostEqual(payer.breakeven, 88.39037813) def test_igreceiver(self): receiver = Swaption(self.igindex, self.exercise_date, - self.igstrike, "receiver", strike_is_price=False) + self.igstrike, "receiver") receiver.sigma = .4 receiver.notional = 1e7 self.assertAlmostEqual(receiver.breakeven, 73.698281555) |
