diff options
| -rw-r--r-- | python/markit/rates.py | 2 | ||||
| -rw-r--r-- | python/yieldcurve.py | 7 |
2 files changed, 6 insertions, 3 deletions
diff --git a/python/markit/rates.py b/python/markit/rates.py index 6fff3860..261e3db5 100644 --- a/python/markit/rates.py +++ b/python/markit/rates.py @@ -34,7 +34,7 @@ def downloadMarkitIRData(download_date=datetime.date.today(), MarkitData = {'deposits': list(deposits), 'swaps': list(swaps), 'effectiveasof': pd.Timestamp(effectiveasof).date()} - ql_yc = YC(currency=currency, MarkitData=MarkitData) + ql_yc = YC(currency=currency, MarkitData=MarkitData, evaluation_date=MarkitData['effectiveasof']) jp_yc = ql_to_jp(ql_yc) sql_str = "INSERT INTO {}_curves VALUES(%s, %s) ON CONFLICT DO NOTHING".format(currency) with conn.cursor() as c: diff --git a/python/yieldcurve.py b/python/yieldcurve.py index 17e21a3e..94f7ceb1 100644 --- a/python/yieldcurve.py +++ b/python/yieldcurve.py @@ -147,10 +147,13 @@ def roll_yc(yc, forward_date): dfs = np.array([yc.discount_factor(d, forward_date) for d in dates]) return YieldCurve.from_discount_factors(forward_date, dates, dfs, 'ACT/365F') -def YC(helpers = None, currency="USD", MarkitData=None): +def YC(helpers = None, currency="USD", MarkitData=None, evaluation_date=None): if helpers is None: - helpers = rate_helpers(currency, MarkitData) + helpers = rate_helpers(currency, MarkitData, evaluation_date) calendar = WeekendsOnly() + settings = Settings() + if evaluation_date: + settings.evaluation_date = Date.from_datetime(evaluation_date) return PiecewiseYieldCurve(BootstrapTrait.Discount, Interpolator.LogLinear, 0, calendar, helpers, Actual365Fixed()) |
