Usage:
=qlYieldTSDiscount(<YCName>,
<Dates>,
<AllowExtrapolation>)
Name of the yield curve from which discount factors will be calculated
Sequence of dates at which to compute discount factors. Relative (“30D”, “3M, “1Y”) or absolute (in Excel convention) dates are accepted.
Boolean to signify if extrapolation past the end of the curve is permited
Returns a sequence of discount factors.
The following example shows computation of discount curve bootstrapped from OIS (see qlOISRateHelper – create a Rate Helper referencing an overnight index swap) data.
# Copyright (C) 2012-2018 Bojan Nikolic <bojan@bnikolic.co.uk>
from qlww import *
def mkOISHelp(term, rate):
index=qlEonia("eonia"+term,
N());
oishelp=qlOISRateHelper("OISHelp"+term,
2,
term,
property_t(rate),
index,
N() );
return oishelp;
helpers=StringVector()
helpers.push_back(mkOISHelp("1M", 0.2))
helpers.push_back(mkOISHelp("3M", 0.2))
helpers.push_back(mkOISHelp("6M", 0.5))
helpers.push_back(mkOISHelp("12M", 0.5))
dcc=P("Actual/365 (Fixed)");
yc=qlPiecewiseYieldCurve(UU("yc"),
P(2),
"TARGET",
helpers,
dcc,
PropertyVector(),
PropertyVector(),
P(0.0001),
P("ZeroYield"),
P("ForwardFlat"))
periods=[str(i)+"M" for i in range(1,12)]
discounts=qlYieldTSDiscount(yc,
PropV(periods),
N())
for i in range(len(discounts)):
print("Discount at " + periods[i] +
" is: " + str(discounts[i]))