RQuantLib提前日期功能的问题

时间:2018-09-18 02:37:14

标签: r

我对R还是比较陌生,因此对我的编码之旅非常有价值,所以首先:感谢所有贡献者

我正在编写一些有关期权交易的代码,但是某些RQuantLib函数存在问题。我正在尝试使用“美国/纽约”日历向日期“添加”日期。如果您运行下面的代码,则可以看到该值与businessDaysBetween函数的预期值不同(请注意日期和返回的天数或作为参数):

library(RQuantLib)

# This shows there is only one business day between the dates using the "UnitedStates/NYSE" calendar
businessDaysBetween(calendar = "UnitedStates/NYSE", from = as.Date("2010-06-20"), to = as.Date("2010-06-22"))

# And this next line of code should advance the date to "2010-06-22" but doesn't...
advance(calendar = "UnitedStates/NYSE", dates = as.Date("2010-06-20"), n = 1, timeUnit = 0)

在帮助我的过程中,任何帮助将不胜感激!

最好

L

1 个答案:

答案 0 :(得分:0)

好的,所以对我来说不是一个好的开始。我意识到了问题所在:如果不是工作日,提前会移动到您提供日期之后的第一个工作日。

如果有用,我编写了以下函数来做到这一点。如果其他人知道更好的解决方法,请告诉我们!

GenerateClosestBusinessDay <- function(date) {
  d <- 0
  repeat {
    if (isBusinessDay(calendar = cal, dates = as.Date(date + d))) {
      return(as.Date(date + d))
      break
    } else {
      d <- d + 1
    }
  }
}