aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/yieldcurve.py15
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