作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想计算债券的价格,使用称为时间函数的贴现因子和固定息票。
我从 QuantLib 1.5 中找到的示例 (bond.cpp) 看起来相当复杂。我删除了零债券和 float 息债券,只留下固定息债券计算部分。
我不明白的部分是我应该如何根据我的表格定义 RATE HELPERS 和 CURVE BUILDING 部分:
仪器类型 |到期日 |报价 |折扣系数
CD 03/04/2015 0.25 0.9999
CD 03/18/2015 0.254 0.9998
CD 06/17/2015 0.266 0.9997
CD 09/16/2015 0.38 0.9996
CD 12/16/2015 0.57 0.9995
.....
SWAP 03/04/2019 1.33 0.94
SWAP 03/04/2020 1.66 0.92
SWAP 03/04/2021 1.74 0.89
我应该怎么做才能在 QuantLib 中构建折扣曲线?
最佳答案
您应该直接使用您的折扣因子,而忘记费率助手和曲线构建。
当您想暗示某个报价的曲线时使用后者;但是如果你已经计算了折扣因子,你可以只使用 InterpolatedDiscountCurve
类模板并直接构建曲线,如:
#include <ql/termstructures/yield/discountcurve.hpp>
...
boost::shared_ptr<YieldTermStructure> discountCurve(
new InterpolatedDiscountCurve<LogLinear>(dates, discounts,
dayCounter));
哪里dates
是 vector<Date>
(必须包括曲线开始的第一个日期,通常是今天的日期),discounts
是 vector<double>
包含相应的折扣因子(包括 1 作为第一个)和 dayCounter
将用于将日期转换为时间; Actual360()
应该没问题。
上面的例子使用了对数线性插值;您可以通过替换 LogLinear
来更改它使用不同的(查看 <ql/math/interpolations/>
文件夹中可用的)。
关于c++ - 如何使用 QuantLib 计算单名债券价格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28882100/
在Bond C# manual ,它注意到以下内容: These following changes will break wire compatibility and are not recomme
我是一名优秀的程序员,十分优秀!