aboutsummaryrefslogtreecommitdiffstats
path: root/python/tests/test_swaption.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/tests/test_swaption.py')
-rw-r--r--python/tests/test_swaption.py13
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()