找出从给定日期开始的X年工作

时间:2013-10-26 16:53:27

标签: r xts quantmod

假设我在1990/01/10的EuroSTOXX 5O上买了欧洲电话,期限为9年。我想知道什么是成熟日期。 有什么想法吗?

我可以从quantmod包开始:

require(quantmod)
getSymbols("^STOXX50E", from = "1990-01-01")
maturity <- 9
dates <- index(STOXX50E)

问题在于我无法使用

dates[1] + maturity*365

dates[1] + maturity*252

找到到期日,因为工作日的数量因年而异。

有什么想法吗?

感谢。

1 个答案:

答案 0 :(得分:1)

我非常喜欢这个问题的lubridate包。

require(quantmod)
require(lubridate)
getSymbols("^STOXX50E", from = "1990-01-01")
maturity <- 9 # years

dates <- as.POSIXct(as.character(index(STOXX50E)), tz = "UTC") # needs to be in POSIXct format to work with lubridate, I believe.

maturity_dates <- dates + years(maturity) 

head(as.data.frame(list(dates = dates, 
                        maturity_dates = maturity_dates)))

  dates          maturity.dates
1 1990-01-01     1999-01-01
2 1990-01-02     1999-01-02
3 1990-01-03     1999-01-03
4 1990-01-04     1999-01-04
5 1990-01-05     1999-01-05
6 1990-01-08     1999-01-08