量化庫

具有偏移開始日期的 Quantlib FRA

  • July 24, 2015

我是 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。

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