固定收益

為什麼 QuantLib 假設貼現因子的零利率是連續的?

  • February 6, 2016

https://github.com/lballabio/QuantLib/blob/0ec43027834220baf0a554d68de79a159a2c5489/ql/termstructures/yield/zeroyieldstructure.hpp

inline DiscountFactor ZeroYieldStructure::discountImpl(Time t) const {
   if (t == 0.0)     // this acts as a safe guard in cases where
       return 1.0;   // zeroYieldImpl(0.0) would throw.

   Rate r = zeroYieldImpl(t);
   return DiscountFactor(std::exp(-r*t));
}

該程式碼是零利率的適配器,因為 QuantLib 通過折扣因子來做所有事情。它將零利率轉換為折扣係數。

我不明白為什麼我們總是假設一切都是不斷複合的?例如,如果我有債券,我可能更喜歡半年復利。

問:當給定零利率時,我們總能假設它是連續複利的,有什麼原因嗎?這是否意味著如果我們有一組零利率貼現,除了連續複利之外的任何東西都是無效的?

這不是假設;這是一個要求。基類ZeroYieldStructure要求派生類實現一個zeroYieldImpl返回連續複合利率的方法,因為這就是它在discountImpl. 我不記得我們實施此功能時的討論——那是幾年前的事了——但我假設(不是雙關語)我們想保持簡單,所以我們只介紹了最常見的情況。

約束不是財務上的;這僅僅是由於實施。如果您有一組零利率和其他一些複利約定,那也沒關係。但在這種情況下,您必須使用其他公式計算折扣(在庫的上下文中,編寫您自己的適配器類或擴展現有的適配器類以管理不同的約定)。

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