aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/exploration/test_cms.py4
-rw-r--r--python/exploration/test_swaption.py11
2 files changed, 9 insertions, 6 deletions
diff --git a/python/exploration/test_cms.py b/python/exploration/test_cms.py
index 1a67c48a..57677b43 100644
--- a/python/exploration/test_cms.py
+++ b/python/exploration/test_cms.py
@@ -9,6 +9,7 @@ corr = 0.8
r = []
maturity = pd.Timestamp("2020-01-19")
today = pd.Timestamp.today()
+
for d in pd.bdate_range("2018-01-19", today, closed="left", normalize=True):
yc.link_to(YC(evaluation_date=d.date()))
yc.extrapolation = True
@@ -17,8 +18,9 @@ for d in pd.bdate_range("2018-01-19", today, closed="left", normalize=True):
cms_spread_coupon_ln = quantlib_model(d, cms30y2y, yc, cap, corr, maturity)
rate1 = cms_spread_coupon_ln.rate
cms_spread_coupon_n = quantlib_model(d, cms30y2y, yc, cap, corr, maturity,
- VolatilityType.Normal)
+ VolatilityType.Normal)
rate2 = cms_spread_coupon_n.rate
rate3 = globeop_model(d, cms30y2y, yc, cap, corr - 0.075, maturity)
r.append((d, rate1, rate2, rate3))
+
df = pd.DataFrame(r, columns=['date', 'QL_ln', 'QL_n', 'Globeop']).set_index('date')
diff --git a/python/exploration/test_swaption.py b/python/exploration/test_swaption.py
index 45a53e47..6199e987 100644
--- a/python/exploration/test_swaption.py
+++ b/python/exploration/test_swaption.py
@@ -4,7 +4,7 @@ from quantlib.indexes.swap.usd_libor_swap import UsdLiborSwapIsdaFixAm
from quantlib.instruments.make_swaption import MakeSwaption
from quantlib.pricingengines.api import BlackSwaptionEngine
from quantlib.instruments.swap import Receiver
-from quantlib.time.api import Period, Years, Days
+from quantlib.time.api import Period, Years, Days, Date
from quantlib.settings import Settings
from quantlib.experimental.risk.sensitivityanalysis import parallel_analysis
@@ -12,12 +12,12 @@ helpers = rate_helpers("USD", evaluation_date=datetime.date.today())
yc = YC(helpers)
index1 = UsdLiborSwapIsdaFixAm(Period(2, Years), yc)
index2 = UsdLiborSwapIsdaFixAm(Period(10, Years), yc)
-swaption1 = (MakeSwaption(index1, Period(2, Years), strike=0.020805).
+swaption1 = (MakeSwaption(index1, Date(8, 6, 2020), strike=0.019475).
with_underlying_type(Receiver).
- with_nominal(10_000_000)())
-swaption2 = (MakeSwaption(index2, Period(10, Years), strike=0.0212).
+ with_nominal(225_000_000)())
+swaption2 = (MakeSwaption(index2, Date(8, 6, 2020), strike=0.0206).
with_underlying_type(Receiver).
- with_nominal(10_000_000)())
+ with_nominal(50_000_000)())
pe1 = BlackSwaptionEngine(yc, 0.2815)
pe2 = BlackSwaptionEngine(yc, 0.2830)
swaption1.set_pricing_engine(pe1)
@@ -46,6 +46,7 @@ delta, gamma = parallel_analysis([h.quote for h in helpers],
[swaption1], [])
print("NPV: ", swaption1.npv)
+print("NPV2: ", swaption2.npv)
print("DV01: ", dv01(swaption1, helpers))
print("theta: ", theta(swaption1))
print("vega: ", swaption1.vega / 100)