2016-10-27 56 views
0

用戶是否可以在Quantlib中更改浮動腿的未來固定日期和齒輪比?C++ Quantlib Vanilla Swap:設置浮動腿的未來固定日期和齒輪比例

首先,當Quantlib計算浮動腿的NPV時,它將進入couponpricer.hpp以調用內聯函數BlackIborCouponPricer::swapletPrice()。在這個函數裏面,有一個叫做gearing_的參數。這個參數在我的情況下自動設置爲1。如果我需要將其改爲其他值,請說0.8,我應該在哪裏進行此更改?其次,我所有的未來修復日期都與浮動腿時間表中生成的日期向量相同。即固定日期與應計期間開始日期相同。是否有可能將這些固定日期更改爲與應計開始日期不同,例如在應計開始日期之前的2個工作日內受正常工作日慣例調整影響?或者,我可以通過日期向量來存儲這些固定日期嗎?

非常感謝。

回答

1

VanillaSwap不把齒輪作爲構造參數(我想這個想法是保持簡單)。相反,您可以使用FixedLegIborLeg類分別創建固定和浮動腿,並將它們傳遞給Swap實例。您可以在SwapTest::testInArrears()test-suite/swap.cpp文件中看到該示例。

至於修復日期:當您構建要傳遞到IborLegIborIndex實例時,可以將大量修復日期傳遞給其構造函數。如果您使用的是可用索引(如EuriborUSDLibor),但它們已經使用了2個固定日期(以及正確的日曆和工作日慣例)。

+0

關於修復日期的進一步問題:我將'IborIndex'設置爲3m長的'USDLibor'。我生成固定腿和浮動腿的時間表,分別爲開始日期(15,4,2016)和結束日期(18,4,2017),中間長度分別爲12米和3米。生成的時間表如預期的那樣。但是,當我通過價格掉期時,Quantlib抱怨說'2017年4月18日至2017年4月18日期間無法計算遠期匯率:使用實際/ 360天計數的非正面時間(0)'。如果我將開始日期更改爲(18,4,2016)。這個問題解決了。 – Ben10

+0

是否按預期計劃,或最後是否有重複日期? –

+0

另外,這可能應該是一個不同的問題,所以如果其他人遇到同樣的問題,就更容易找到它。 –