diff options
Diffstat (limited to 'python')
| -rw-r--r-- | python/yieldcurve.py | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/python/yieldcurve.py b/python/yieldcurve.py index 78ad3801..b524a04c 100644 --- a/python/yieldcurve.py +++ b/python/yieldcurve.py @@ -43,16 +43,17 @@ def get_futures_data(date = datetime.date.today()): quotes = [float(line.split(",")[1]) for line in fh] return quotes -def YC(date = datetime.date.today()): - m = libor_market('USD(NY)') - calendar = Calendar.from_name(m.calendar) - MarkitData = getMarkitIRData() - prev_day = calendar.advance(today(), -1, Days) - futures = get_futures_data(qldate_to_pydate(prev_day).date()) +def YC(date = datetime.date.today(), MarkitData=None, futures = None): + if not MarkitData: + MarkitData = getMarkitIRData(date) + if not futures: + calendar = Calendar.from_name('TARGET')## need to figure out which is the right calendar to use + prev_day = calendar.advance(pydate_to_qldate(date), -1, Days) + futures = get_futures_data(qldate_to_pydate(prev_day).date()) m = libor_market('USD(NY)') quotes = [('ED',i+1, v) for i, v in enumerate(futures)] quotes += [('SWAP', k, v) for k, v in MarkitData['swaps'].items()] - m.set_quotes(today(), quotes) + m.set_quotes(date, quotes) m.bootstrap_term_structure() return m |
