パラメータの日付が Op-Ex Friday の場合に true を返す (はずの) シンプルな関数を作成しようとしています。
require(timeDate)
require(quantmod)
getSymbols("^GSPC", adjust=TRUE, from="1960-01-01")
assign("SPX", GSPC, envir=.GlobalEnv)
names(SPX) <- c("SPX.Open", "SPX.High", "SPX.Low", "SPX.Close",
"SPX.Volume", "SPX.Adjusted")
dates <- last(index(SPX), n=10)
from <- as.numeric(format(as.Date(min(dates)), "%Y"))
to <- as.numeric(format(as.Date(max(dates)), "%Y"))
isOpExFriday <- ifelse(
isBizday(
timeDate(as.Date(dates)),
holidayNYSE(from:to)) & (as.Date(dates) == as.Date(
format(timeNthNdayInMonth(timeFirstDayInMonth(dates), nday=5, nth=3)))
), TRUE, FALSE)
これで、結果は になります[1] "2011-09-16"
。しかし、代わりに私は得ます[1] "2011-09-15"
:
dates[isOpExFriday]
[1] "2011-09-15"
timeDate パッケージが設計上行っていないことを期待して何か間違ったことをしていますか、それとも timeDate にバグがありますか?