Quantlib
使用 QuantLibXL 為具有可變罷工領的債券定價
我正在嘗試為具有上限和下限利率的浮動利率債券定價。頂蓋和底板的撞擊各不相同,但都是事先知道的。
我正在嘗試使用 QuantLibXL 來做到這一點,但我在每一步都遇到了麻煩。如果您能對我的一般方法發表評論,我將不勝感激,然後我會盡力填補空白。
我目前的方法是使用
qlFloatingRateBond
並傳遞一系列罷工(每張優惠券一個),用於兩個Caps
參數Floors
。然後我想我必須qlBlackCapFloorEngine
用作定價引擎,對嗎?後者需要一個
OptionletVolatilityStructure
,我使用qlOptionletStripper1
. 我在這裡遇到的問題是,AFAIK Bloomberg 的 VCUB 只返回與 ATM 罷工相關的每個期權期限的上限波動率,而qlOptionletStripper1
想要“絕對”的波動率。你在這裡有什麼建議? 更新:返回的波動性實際上與 ATM 罷工無關,而是絕對的。非常感謝你。
回答我自己的問題:
- 對 Caps 和 Floors 參數使用
qlFloatingRateBond
並傳遞一系列罷工(每張優惠券一個)- 用作
BondEngine
定價引擎- 使用
IborCouponPricer
等於“IborByBlack”的類型參數作為優惠券定價器 - 此定價器也將一個OptionletVolatilitySurface
作為輸入OptionletVolatilitySurface
可以由 a 中的aOptionletStripper1
創建CapFloorVolTermSurface
,(注意。我們必須使用 將對象StrippedOptionletAdapter
塑造OptionletStripper1
成 aOptionletVolatilitySurface
)- 使用數據創建一個
CapFloorVolTermSurface
,例如來自 ICAP(在 Bloomberg 終端上,這些可以在 中找到VOLS
),確保 IborIndex 參數與輸入數據具有相同的期限,即 1Y