매개 변수 날짜가 Op-Ex 금요일 인 경우 true를 반환해야하는 간단한 함수를 작성하려고합니다.특정 날짜가 금요일 만기 옵션 만료인지 확인 timeDate 패키지의
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에 버그가 뭔가를 기대, 뭔가 잘못하고?
내 컴퓨터에서 코드가 올바르게 작동합니다. – Andrie