aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--python/yieldcurve.py13
1 files changed, 10 insertions, 3 deletions
diff --git a/python/yieldcurve.py b/python/yieldcurve.py
index 79366cef..3d26fd02 100644
--- a/python/yieldcurve.py
+++ b/python/yieldcurve.py
@@ -160,15 +160,22 @@ def roll_yc(yc, forward_date):
return YieldCurve.from_discount_factors(forward_date, dates, dfs, 'ACT/365F')
-def YC(helpers=None, currency="USD", MarkitData=None, evaluation_date=None):
+def YC(helpers=None, currency="USD", MarkitData=None, evaluation_date=None,
+ fixed=False):
if helpers is None:
helpers = rate_helpers(currency, MarkitData, evaluation_date)
calendar = WeekendsOnly()
if evaluation_date:
settings = Settings()
settings.evaluation_date = Date.from_datetime(evaluation_date)
- return PiecewiseYieldCurve(BootstrapTrait.Discount, Interpolator.LogLinear,
- 0, calendar, helpers, Actual365Fixed())
+ if fixed:
+ return PiecewiseYieldCurve.from_reference_date(
+ BootstrapTrait.Discount, Interpolator.LogLinear,
+ settings.evaluation_date, helpers, Actual365Fixed())
+ else:
+ return PiecewiseYieldCurve(BootstrapTrait.Discount,
+ Interpolator.LogLinear,
+ 0, calendar, helpers, Actual365Fixed())
def jpYC(effective_date, currency="USD", MarkitData=None):