量化庫
如何將零曲線轉換為折扣曲線
我創建了一個
Zero-Curve
如下 -from QuantLib import * spot_dates = [Date(1, 1, 2015), Date(1, 6, 2015), Date(1, 12, 2015), Date(1, 4, 2016), Date(1, 8, 2016)] spot_rates = [0, 0.02, 0.04, 0.06, 0.08] us_calendar = UnitedStates() zero_curve = ZeroCurve(spot_dates, spot_rates, Actual365Fixed(), us_calendar, Linear(), Compounded, Annual)
現在我希望將其轉換
zero_curve
為discount-curve
.是否
QuantLib
提供任何直接功能來實現相同的功能。謝謝你的幫助
儘管您可以以不同的方式(從即期匯率、折扣因子、自舉工具和擬合工具)建構曲線,但正如 Luigi 所說,一旦成功建構曲線實例,折扣方法將為您提供日期的折扣因子或年份分數。
使用您的程式碼的範例:
dfs = [zero_curve.discount(dt) for dt, rate in zero_curve.nodes()] print(dfs)
$$ 1.0, 0.9918411458168641, 0.9647467581357048, 0.9297902787888683, 0.8852611853613657 $$ 要為不是曲線節點的點指定所需的插值方法,可以使用 ZeroCurve 和 Piecewise 類的不同替代方法(LogLinearZeroCurve、CubicZeroCurve、PiecewiseLogLinearDiscount、PiecewiseLogCubicDiscount、PiecewiseLinearZero 等)