量化庫
具有偏移開始日期的 Quantlib FRA
我是 quantlib 的新手。我正在嘗試建構 PiecewiseYieldCurve。我一直在研究 FRA 的實施。FRA 的開始日期似乎必須是從估值日期算起的整數月。如何實施開始日期發生變化的 FRA。
例如,
估值日期:2012年1月9日
第一個 3m FRA 的開始日期:2012 年 3 月 19 日
前 3m FRA 的速率:0.01
謝謝
FRArateHelper 採用許多建構子。你應該看看那些服用 Period 的。
週期的定義是:
class Period { public: Period() : length_(0), units_(Days) {} Period(Integer n, TimeUnit units) : length_(n), units_(units) {} explicit Period(Frequency f); Integer length() const { return length_; } TimeUnit units() const { return units_; } Frequency frequency() const; Period& operator+=(const Period&); Period& operator-=(const Period&); Period& operator/=(Integer); void normalize(); private: Integer length_; TimeUnit units_; };
Period 封裝了一個時間幀,該幀可以用Days來指定。在您的範例中,您可能想要執行以下操作:
int days = Actual360(Mar 19, 2012 - Jan 9, 2012) Period p = Period(days, Days) FRARateHelper(0.01, p, ...)
虛擬碼應該為您提供足夠的資訊來完成您的程式碼。您將決定一個計天約定,並使用它來計算天數,然後使用 Period 類來啟動 FRArateHelper。