aboutsummaryrefslogtreecommitdiffstats
path: root/python/test_cds.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/test_cds.py')
-rw-r--r--python/test_cds.py42
1 files changed, 42 insertions, 0 deletions
diff --git a/python/test_cds.py b/python/test_cds.py
new file mode 100644
index 00000000..2d4ef978
--- /dev/null
+++ b/python/test_cds.py
@@ -0,0 +1,42 @@
+""" Unittests for the CDS related classes. """
+from quantlib.settings import Settings
+from quantlib.quotes import SimpleQuote
+from quantlib.termstructures.yields.api import FlatForward
+from quantlib.termstructures.credit.api import SpreadCdsHelper, UpfrontCdsHelper, PiecewiseDefaultCurve
+from quantlib.time.api import (UnitedStates, Date, Actual365Fixed, Following, Quarterly,
+ TwentiethIMM, March, Period)
+from yieldcurve import YC
+import pdb
+
+def create_helper():
+
+ calendar = UnitedStates()
+
+ todays_date = Date(31, March, 2014)
+
+ Settings.instance().evaluation_date = todays_date
+ recovery_rate = 0.4
+ upfronts = [0.01, 0.02, 0.04, 0.06]
+
+
+ tenors = [Period(str(i) +"Yr") for i in [2, 3, 5, 7]]
+ tenors = Period("2Yr")
+
+ ts_curve = YC()
+
+ helpers = UpfrontCdsHelper(0.05, 0.05, tenors, 0, calendar, Quarterly,
+ Following, TwentiethIMM, Actual365Fixed(),
+ recovery_rate, ts_curve)
+ pdb.set_trace()
+ #trait = ['HazardRate', 'DefaultDensity', 'SurvivalProbability']:
+ #interpolator = ['Linear', 'LogLinear', 'BackwardFlat']:
+ curve = PiecewiseDefaultCurve('HazardRate','BackwardFlat',
+ reference_date=todays_date,
+ helpers=[helpers], daycounter=Actual365Fixed())
+ print(curve.survival_probability(Date(10, 3, 2015)))
+ return curve
+
+if __name__=="__main__":
+ curve = create_helper()
+ prob = curve.survival_probability(Date(10, 3, 2017))
+ pdb.set_trace()