diff options
| -rw-r--r-- | R/RQuantLib.patch | 77 |
1 files changed, 0 insertions, 77 deletions
diff --git a/R/RQuantLib.patch b/R/RQuantLib.patch deleted file mode 100644 index b39f969f..00000000 --- a/R/RQuantLib.patch +++ /dev/null @@ -1,77 +0,0 @@ -diff -urN projects/RQuantLib-orig/NAMESPACE projects/RQuantLib/NAMESPACE ---- projects/RQuantLib-orig/NAMESPACE 2011-09-10 09:11:15.000000000 -0400 -+++ projects/RQuantLib/NAMESPACE 2013-09-16 18:30:38.190089857 -0400 -@@ -31,6 +31,7 @@ - "FittedBondCurve", - ##--calendars.R - "isBusinessDay", "businessDay", -+ "nextIMMDate", - "isHoliday", - "isWeekend", - "isEndOfMonth", -diff -urN projects/RQuantLib-orig/R/calendars.R projects/RQuantLib/R/calendars.R ---- projects/RQuantLib-orig/R/calendars.R 2010-08-07 12:03:16.000000000 -0400 -+++ projects/RQuantLib/R/calendars.R 2013-09-16 18:06:13.000000000 -0400 -@@ -29,6 +29,13 @@ - names(val) <- dates - val - } -+ -+nextIMMDate <- function(dates=Sys.Date()) { -+ stopifnot(class(dates)=="Date") -+ val <- .Call("nextIMMDate", dates, PACKAGE="RQuantLib") -+ val -+} -+ - businessDay <- function(calendar="TARGET", dates=Sys.Date()) { ## may get deprecated one day - isBusinessDay(calendar, dates) - } -diff -urN projects/RQuantLib-orig/src/calendars.cpp projects/RQuantLib/src/calendars.cpp ---- projects/RQuantLib-orig/src/calendars.cpp 2013-02-17 16:16:25.000000000 -0500 -+++ projects/RQuantLib/src/calendars.cpp 2013-09-16 18:06:49.000000000 -0400 -@@ -130,6 +130,27 @@ - return R_NilValue; - } - -+RcppExport SEXP nextIMMDate(SEXP dateSexp){ -+ -+ try { -+ Rcpp::DateVector dates = Rcpp::DateVector(dateSexp); -+ int n = dates.size(); -+ QuantLib::Date immdate; -+ for(int i=0; i<n; i++) { -+ QuantLib::Date day( dateFromR(dates[i]) ); -+ immdate = QuantLib::IMM::nextDate(day); -+ dates[i] = Rcpp::Date(immdate.month(), immdate.dayOfMonth(), immdate.year()); -+ } -+ return Rcpp::wrap(dates); -+ -+ } catch(std::exception &ex) { -+ forward_exception_to_r(ex); -+ } catch(...) { -+ ::Rf_error("c++ exception (unknown reason)"); -+ } -+ return R_NilValue; -+} -+ - RcppExport SEXP isHoliday(SEXP calSexp, SEXP dateSexp){ - - try { -diff -urN projects/RQuantLib-orig/src/curves.cpp projects/RQuantLib/src/curves.cpp ---- projects/RQuantLib-orig/src/curves.cpp 2013-02-17 16:16:25.000000000 -0500 -+++ projects/RQuantLib/src/curves.cpp 2013-09-17 10:10:31.842149882 -0400 -@@ -83,10 +83,11 @@ - true, /*fixingDays,*/ depositDayCounter)); - return depo; - } else if (type == RQLSwap) { -- QuantLib::Frequency swFixedLegFrequency = QuantLib::Annual; -+ QuantLib::Frequency swFixedLegFrequency = QuantLib::Semiannual; - QuantLib::BusinessDayConvention swFixedLegConvention = QuantLib::Unadjusted; -- QuantLib::DayCounter swFixedLegDayCounter = QuantLib::Thirty360(QuantLib::Thirty360::European); -- boost::shared_ptr<QuantLib::IborIndex> swFloatingLegIndex(new QuantLib::Euribor6M); -+ QuantLib::DayCounter swFixedLegDayCounter = QuantLib::Thirty360(QuantLib::Thirty360::USA); -+ boost::shared_ptr<QuantLib::IborIndex> swFloatingLegIndex(new -+ QuantLib::USDLibor(QuantLib::Period(3, QuantLib::Months))); - boost::shared_ptr<QuantLib::Quote> quote(new QuantLib::SimpleQuote(r)); - boost::shared_ptr<QuantLib::RateHelper> swap(new QuantLib::SwapRateHelper( - QuantLib::Handle<QuantLib::Quote>(quote), |
