量化庫

在 quantlib (python) 中,有沒有一種方法可以為 swapratehelper 指定結算日,而不必同時給出 discountCurve?

  • May 12, 2022

使用以下 Python 程式碼,我正在設置美元 LIBOR 掉期報價。我發現預設情況下,結算日使用與索引相關的任何內容(在 C++ 中:) if (settlementDays_==Null<Natural>()) settlementDays_ = iborIndex->fixingDays();。如果我想明確設置settlementDays = 0,我該怎麼做?我試過只使用settlementDays = 0,但程式碼似乎不喜歡這裡的命名參數。我將如何設置它而不必指定discountCurve

我不想使用不同的曲線,也不太明白如何引用尚不存在的曲線。先感謝您!

s_helpers = [ SwapRateHelper(rate/100.0,
                      tenor, l_calendar,
                      Semiannual, l_pmt_conv, 
                      Thirty360(), 
                      USDLibor(Period(3, Months)))

       for tenor, rate in [(Period(1,Years), 2.395),
                           (Period(2,Years), 2.575),
                           (Period(3,Years), 2.651),
                           (Period(5,Years), 2.704),
                           (Period(7,Years), 2.734),
                           (Period(10,Years), 2.779),
                           (Period(30,Years), 2.822)] ]

因此,不能省略這些 Python 函式中的參數,因為它們沒有作為關鍵字參數公開。相反,我最終創建了自己的自定義 LIBOR 指數,結算日為 0,並將其用於掉期利率助手:

對於 _ _男高音,率

$$ (Period(1,Years), 2.395), (Period(2,Years), 2.575), (Period(3,Years), 2.651), (Period(5,Years), 2.704), (Period(7,Years), 2.734), (Period(10,Years), 2.779), (Period(30,Years), 2.822) $$] 我仍然想知道在我實際上有不同的折扣和預測曲線的情況之外指定 discountCurve 參數是否有意義?

在原始碼中,預設折扣曲線參數只是一個虛擬的 YieldTermStructure 句柄,所以我相信這對你有用:

SwapRateHelper(rate/100.0,
                      tenor, l_calendar,
                      Semiannual, l_pmt_conv, 
                      Thirty360(), 
                      USDLibor(Period(3, Months)),
                      QuoteHandle(), Period(0, Days),
                      YieldTermStructureHandle(), 0
)

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