diff options
Diffstat (limited to 'python/tests/test_swaption.py')
| -rw-r--r-- | python/tests/test_swaption.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/python/tests/test_swaption.py b/python/tests/test_swaption.py index 46ba83b0..c3b008c6 100644 --- a/python/tests/test_swaption.py +++ b/python/tests/test_swaption.py @@ -10,7 +10,7 @@ class TestPutCallParity(unittest.TestCase): index = Index.from_name("ig", 27, "5yr", trade_date = datetime.date(2016, 10, 25)) index.spread = 74 - exercise_date = datetime.date(2016, 12, 21) + exercise_date = datetime.date(2017, 3, 15) strike = 82.5 def test_parity(self): @@ -21,7 +21,16 @@ class TestPutCallParity(unittest.TestCase): df = self.index._yc.discount_factor(payer.exercise_date_settle) self.assertAlmostEqual(payer.pv - receiver.pv, df * (self.index.forward_pv(self.exercise_date)/self.index.notional - - g(self.index, self.strike, self.exercise_date))) + 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") + 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, + df * (self.index.forward_pv(self.exercise_date)/self.index.notional - + g(self.index, self.strike, self.exercise_date, payer._forward_yc))) if __name__=="__main__": unittest.main() |
