diff options
Diffstat (limited to 'python/yieldcurve.py')
| -rw-r--r-- | python/yieldcurve.py | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/python/yieldcurve.py b/python/yieldcurve.py index 3d26fd02..6f57b3d1 100644 --- a/python/yieldcurve.py +++ b/python/yieldcurve.py @@ -161,21 +161,24 @@ def roll_yc(yc, forward_date): def YC(helpers=None, currency="USD", MarkitData=None, evaluation_date=None, - fixed=False): + fixed=False, extrapolation=False): if helpers is None: helpers = rate_helpers(currency, MarkitData, evaluation_date) calendar = WeekendsOnly() + settings = Settings() if evaluation_date: - settings = Settings() settings.evaluation_date = Date.from_datetime(evaluation_date) if fixed: - return PiecewiseYieldCurve.from_reference_date( + _yc = PiecewiseYieldCurve.from_reference_date( BootstrapTrait.Discount, Interpolator.LogLinear, settings.evaluation_date, helpers, Actual365Fixed()) else: - return PiecewiseYieldCurve(BootstrapTrait.Discount, - Interpolator.LogLinear, - 0, calendar, helpers, Actual365Fixed()) + _yc = PiecewiseYieldCurve(BootstrapTrait.Discount, + Interpolator.LogLinear, + 0, calendar, helpers, Actual365Fixed()) + if extrapolation: + _yc.extrapolation = True + return _yc def jpYC(effective_date, currency="USD", MarkitData=None): |
