互換
使用 quantlib 為浮動腿的不同支付和計算重置定價掉期
我知道 VanillaSwap 對象假設支付和計算重置是相同的,那麼我們有什麼辦法可以使用 quantlib 為具有不同重置和計算頻率的交換定價?(假設付款是半年一次,但重置是每年一次)。
我考慮過的幾個候選人是:
- NonstandardSwap:但是我認為這也不允許不同的付款和重置時間表。
- 交換:它需要 2 條腿,但腿本身是虛擬的,但是還有許多其他方法可以實現這一點,一種方法是使用 IborCoupon 但是似乎需要重複創建每條優惠券才能建構腿。
考慮到除了使用不同的付款和計算日期之外,其他一切都類似於 VanillaSwap,還有其他更簡單的方法來處理這個問題嗎?
目前沒有此程式碼。您可以做的是複製並修改
FloatingLeg
函式,ql/cashflows/cashflowvectors.hpp
以便它採用另一個頻率進行重置,並使用它與其他輸入一起建構優惠券。如果只需要 LIBOR 券,可以將修改後的函式中的模板參數去掉,IborCoupon
直接使用,降低複雜度。所以是的,您將重複創建優惠券,但您將只在函式中編寫一次程式碼。編寫完成後,您可以呼叫修改後的函式並將返回的分支傳遞給
Swap
建構子。固定腿可以由在FixedRateLeg
中聲明的類建構ql/cashflows/fixedratecoupon.hpp
。