假设我在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
找到到期日,因为工作日的数量因年而异。
有什么想法吗?
感谢。
答案 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