2016-09-30 54 views
1

當我使用Quantlib對香草利率掉期進行定價時,每個現金流量的支付日期總是與應計期間結束日期相同。下面是我通常使用建立一個香草交換方式:C++ Quantlib交換支付日期

Schedule fixedSchedule(previousResetDate, maturity, 6 * Months, NullCalendar(), ModifiedFollowing, ModifiedFollowing, DateGeneration::Backward, false); 
Schedule floatSchedule(previousResetDate, maturity, 3 * Months, NullCalendar(), ModifiedFollowing, ModifiedFollowing, DateGeneration::Backward, false); 
VanillaSwap swap(VanillaSwap::Receiver, nominal, fixedSchedule, fixedRate, Thirty360(), floatSchedule, libor, spread, Actual360()); 

在實踐中,也有一些掉期可能從發生當期結束日期不同的付款日期。例如,在應計結束日期後2天,然後應用營業日常規調整。我只是想知道是否可以在Quantlib中以這種方式設置付款日期?

非常感謝。

回答

1

沒有,在這個時候有沒有辦法得到你想要的行爲。我想這需要將相關代碼添加到FixedRateLegIborLeg類中,因爲這是計劃拆分和優惠券創建的地方。

0

您可以隨時給自己的付款日期,如:

Schedule(std::vector<Date> { Date(1, Jan, 2016 }, Date(1, Jan, 2017 } }); 

,做是構造:

Schedule(const std::vector<Date>&, 
      const Calendar& calendar = NullCalendar(), 
      const BusinessDayConvention 
           convention = Unadjusted, 
      boost::optional<BusinessDayConvention> 
       terminationDateConvention = boost::none, 
      const boost::optional<Period> tenor = boost::none, 
      boost::optional<DateGeneration::Rule> rule = boost::none, 
      boost::optional<bool> endOfMonth = boost::none, 
      const std::vector<bool>& isRegular = std::vector<bool>(0)); 
+0

感謝您的解決。我通過將付款日期向量傳遞給Schedule來嘗試此構造函數。但是,似乎Quantlib只是使用這個向量作爲現金流量日期以及應計開始和結束日期。因此,問題沒有解決。有什麼辦法可以將應計結束日期和付款日期分開,比如說2個工作日? – Ben10