Options

QuantLibXL - Optionlet 引導失敗

  • April 4, 2014

我正在嘗試使用 QuantLibXL 從 Cap/Floor 波動率表面引導 Optionlet 波動率表面。具體來說,數據來自ICAP:

   STK  ATM   0  0.25  0.5  [...]
1Y  0.31 77.95    81.9  71.8
18M 0.34 83.08    89.2  76.6
2Y  0.37 86.03    96.2  80.1
[...]

現在,我可以設置沒有錯誤qlCapFloorVolTermSurface,並且qlOptionletStripper1,但是當我觸發實際計算時,例如,qlOptionletStripper1CapFloorVolatilities我得到錯誤

qlOptionletStripper1CapFloorVolatilities - could not bootstrap optionlet
type: Put
strike: 25.000000 %
atm: 1.311340 %
price: 0.125286
annuity: 0.501145
expiry: March 22nd, 2017
error: root not bracketed f[0,24] -> [-1.3213e-002, -1]

我知道根搜尋算法無法在指定範圍內找到解決方案,但是*在實踐中可以做些什麼呢?*我錯過了什麼嗎?

附加資訊:

  • optionlet 剝離器將 IborIndex 作為參數,為此我使用了一個 Euribor 對象,該qlInterpolatedYieldCurve對像在 Bloomberg 中稱為“(45) - Euro”的複合收益率曲線上。
  • 奇怪的是,輸出中顯示的 ATM 速率與它應該的完全不匹配,即根據 optionletstripper1.cpp:

atmOptionletRate_

$$ i $$= iborIndex_->修復(optionletDates_$$ i $$);

使用 qlYieldTSZeroRate 檢索到的 2017 年 3 月 22 日的定價為 0.60310%,而不是 1.311340%。有任何想法嗎?

回答我自己的問題:

  • 從 ICAP 獲得的所有指示數字都需要除以 100,因為它們是百分比
  • 需要一個 IborIndex,它的OptionletStripper1期限應該等於 1Y。我已將其設置為 6M,這似乎會導致問題

哎喲!

引用自:https://quant.stackexchange.com/questions/10642