File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -39,11 +39,18 @@ namespace QuantLib {
3939 const Date& TermStructure::referenceDate () const {
4040 if (!updated_) {
4141 Date today = Settings::instance ().evaluationDate ();
42- referenceDate_ = calendar ().advance (today, settlementDays (), Days);
42+ if (adjustReferenceDate_)
43+ referenceDate_ = calendar ().advance (today, settlementDays (), Days);
44+ else
45+ referenceDate_ = today;
4346 updated_ = true ;
4447 }
4548 return referenceDate_;
4649 }
50+
51+ void TermStructure::setAdjustReferenceDate (const bool b) {
52+ adjustReferenceDate_ = b;
53+ }
4754
4855 void TermStructure::update () {
4956 if (moving_)
Original file line number Diff line number Diff line change @@ -90,6 +90,10 @@ namespace QuantLib {
9090 // ! the settlementDays used for reference date calculation
9191 virtual Natural settlementDays () const ;
9292 // @}
93+ // ! \name Setter
94+ // ! adjust the reference date
95+ void setAdjustReferenceDate (const bool b);
96+ // @{
9397 // ! \name Observer interface
9498 // @{
9599 void update () override ;
@@ -108,6 +112,7 @@ namespace QuantLib {
108112 mutable Date referenceDate_;
109113 Natural settlementDays_;
110114 DayCounter dayCounter_;
115+ bool adjustReferenceDate_ = true ;
111116 };
112117
113118 // inline definitions
You can’t perform that action at this time.
0 commit comments