summaryrefslogtreecommitdiffstats
path: root/example.py
diff options
context:
space:
mode:
authorGuillaume Horel <guillaume.horel@serenitascapital.com>2016-06-29 15:55:55 -0400
committerGuillaume Horel <guillaume.horel@serenitascapital.com>2016-06-29 15:55:55 -0400
commit41fad2c2e88ef770b22c62c916cf6c5c68268836 (patch)
tree1d76e3621258d68f3be6109dfca115857520a9a3 /example.py
parentc34e1e0988738fe697dba5ea628203eea17c24a0 (diff)
downloadpyisda-41fad2c2e88ef770b22c62c916cf6c5c68268836.tar.gz
add basic example
Diffstat (limited to 'example.py')
-rw-r--r--example.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/example.py b/example.py
new file mode 100644
index 0000000..99d3bbe
--- /dev/null
+++ b/example.py
@@ -0,0 +1,29 @@
+from pyisda.zerocurve import ZeroCurve, BadDay
+import sys
+sys.path.append("/home/share/CorpCDOs/code/python")
+from yieldcurve import getMarkitIRData
+import datetime
+import array
+from pyisda.cdsone import upfront_charge, spread_from_upfront
+
+if __name__ == "__main__":
+ markit_data = getMarkitIRData()
+ date = datetime.date.today()
+ periods, rates = zip(*markit_data['deposits'])
+ periods = list(periods)
+ rates = list(rates)
+ periods_swaps, rates_swaps = zip(*markit_data['swaps'])
+ types = 'M' * len(periods) + 'S' * len(periods_swaps)
+ rates = array.array('d', rates)
+ periods.extend(periods_swaps)
+ rates.extend(rates_swaps)
+ zc = ZeroCurve(date, types, periods, rates, 'ACT/360', '6M',
+ '3M', 'ACT/360', 'ACT/360', BadDay.MODIFIED)
+ upf = upfront_charge(date, date, date, datetime.date(2016, 6, 29),
+ datetime.date(2016, 3, 21), datetime.date(2021, 6, 20),
+ 0.05, zc, 0.04368871, 0.3)
+ spread = spread_from_upfront(date, date, date, datetime.date(2016, 6, 29),
+ datetime.date(2016, 3, 21), datetime.date(2021, 6, 20),
+ 0.05, zc, -0.02675, 0.3)
+ print(upf)
+ print(spread)