Quantlib 中的匹配到期香草掉期

Matched-maturity vanilla swap in Quantlib

如果这个问题已经在别处得到解答,首先表示歉意。

我正在使用 QuantLib(通过 Excel)建立“标准”债券定价 sheet:价格、收益率、样条和匹配期限 ASW。

我可以为债券定价,并成功建立了预测 (Euribor) 和贴现 (EONIA) 曲线。我可以使用 qlMakeVanillaSwap() 来定义 tenor 的 spot-start 交换(例如“1y”,“2Y”等)并且它工作正常。然而,我正在努力定义一个“中断日期”掉期,即从 T+2 开始到给定日期结束的掉期(因此通常在第一次付款时有一个短存根),以匹配债券到期日。我能找到的所有例子都有整数年期。

如果有人能指出正确的方法(可以是 python、C++ 或 Excel),我将不胜感激。还是我必须走下为掉期创建明确的固定和浮动利率时间表的路线?

答案似乎是:是的,我确实必须使用 qlSchedule() 创建明确的固定和浮动利率计划,但事实证明它并不太繁重。注意。我正在定价香草 EUR ABB 与 6m Euribor 掉期。

至于定价,qlMakeVanillaSwap() 似乎在一次调用中做了一些有用的事情,但前提是您的掉期有整个期限(例如“1y”)。我在 QuantLibXL 下载包附带的示例 sheet 中找到了我想做的事情的答案。

qlMakeVanillaSwap() 正在做的另一件事(除了创建时间表之外)是设置定价引擎(用于对现金流进行贴现)。在较长的版本中,您必须 (a) 使用 qlInstrumentSetPricingEngine() 自行设置和 (b) 将该调用的结果传递给 qlVanillaSwapFairRate() 的 Trigger 参数,以建立计算顺序。