aboutsummaryrefslogtreecommitdiffstats
path: root/python/yieldcurve.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/yieldcurve.py')
-rw-r--r--python/yieldcurve.py15
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):