From 41fad2c2e88ef770b22c62c916cf6c5c68268836 Mon Sep 17 00:00:00 2001 From: Guillaume Horel Date: Wed, 29 Jun 2016 15:55:55 -0400 Subject: add basic example --- example.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 example.py (limited to 'example.py') 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) -- cgit v1.2.3-70-g09d2