gpt4 book ai didi

c++ - 如何使用 QuantLib 计算单名债券价格?

转载 作者:行者123 更新时间:2023-11-30 03:55:48 25 4
gpt4 key购买 nike

我想计算债券的价格,使用称为时间函数的贴现因子和固定息票。

我从 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));

哪里datesvector<Date> (必须包括曲线开始的第一个日期,通常是今天的日期),discountsvector<double>包含相应的折扣因子(包括 1 作为第一个)和 dayCounter将用于将日期转换为时间; Actual360()应该没问题。

上面的例子使用了对数线性插值;您可以通过替换 LogLinear 来更改它使用不同的(查看 <ql/math/interpolations/> 文件夹中可用的)。

关于c++ - 如何使用 QuantLib 计算单名债券价格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28882100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com