IQDate 객체
영업일 조회, 리밸런싱 주기 설정 등 날짜와 관련된 기능을 제공하는 객체입니다.
이전 영업일을 가져오는 함수입니다.
파라미터
date : 이전 영업일을 구하려고 하는 특정 날짜. JavaScript Date 객체
date : 이전 영업일을 구하려고 하는 특정 날짜. JavaScript Date 객체
결과
파라미터로 들어간 date 이전 영업일을 반환. JavaScript Date 객체
파라미터로 들어간 date 이전 영업일을 반환. JavaScript Date 객체
샘플
var today = new Date(); var prevWorkingDay = IQDate.getPrevWorkingDay(today); logger.debug(‘prevWorkingDay: ‘ + prevWorkingDay);
다음 영업일을 가져오는 함수입니다.
파라미터
date : 다음 영업일을 구하려고 하는 특정 날짜. JavaScript Date 객체
date : 다음 영업일을 구하려고 하는 특정 날짜. JavaScript Date 객체
결과
파라미터로 들어간 date 다음 영업일을 반환. JavaScript Date 객체
파라미터로 들어간 date 다음 영업일을 반환. JavaScript Date 객체
샘플
var today = new Date(); var nextWorkingDay = IQDate.getNextWorkingDay(today); logger.debug(‘nextWorkingDay: ‘ + nextWorkingDay);
date 날짜로부터 years 년, months 월, days 일 이전의 달력 날짜를 조회하는 함수
파라미터
date : 기준이 되는 날짜. JavaScript Date 객체
years : 몇 년 전
months : 몇 개월 전
days : 몇 일 전
date : 기준이 되는 날짜. JavaScript Date 객체
years : 몇 년 전
months : 몇 개월 전
days : 몇 일 전
결과
date 날짜로부터 years 년, months 월, days 일 이전의 달력 날짜. JavaScript Date 객체
date 날짜로부터 years 년, months 월, days 일 이전의 달력 날짜. JavaScript Date 객체
샘플
IQDate.getPastCalendar(now, 1, 3, 0) //현재(now)로부터 정확히 1년 3개월 전 날짜
날짜 규칙을 매일로 설정합니다.
결과
날짜 규칙을 매일로 설정한 DateRule 객체를 생성하여 반환
날짜 규칙을 매일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setDaily()) // 리밸런싱 주기를 매일로 설정합니다
날짜 규칙을 특정 요일로 설정합니다.
파라미터
weekday : 특정 요일. 1(월요일) ~ 5(금요일) 범위에서 지정
weekday : 특정 요일. 1(월요일) ~ 5(금요일) 범위에서 지정
결과
날짜 규칙을 매주 특정 요일로 설정한 DateRule 객체를 생성하여 반환
날짜 규칙을 매주 특정 요일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setWeekly(1)); // 리밸런싱 주기를 매주 월요일로 설정합니다
날짜 규칙을 매월 day 일로 설정합니다.
파라미터
day : 달력 상의 매월 특정 일 (28 이하로 지정하는 것을 권장)
day : 달력 상의 매월 특정 일 (28 이하로 지정하는 것을 권장)
결과
날짜 규칙을 매월 특정 일로 설정한 DateRule 객체를 생성하여 반환
날짜 규칙을 매월 특정 일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyStart(15)); // 리밸런싱 주기를 매월 15일로 설정
날짜 규칙을 매월 말일로부터 이전 day_offset 번째 날짜로 설정합니다.
파라미터
day_offset : 매월 말일로부터 이전 특정 번째 일 (28 이하로 지정하는 것을 권장). 예를 들어, day_offset 을 1 로 설정하는 경우 매월 말일로 설정됩니다. (3월 31일, 4월 30일, …)
day_offset : 매월 말일로부터 이전 특정 번째 일 (28 이하로 지정하는 것을 권장). 예를 들어, day_offset 을 1 로 설정하는 경우 매월 말일로 설정됩니다. (3월 31일, 4월 30일, …)
결과
날짜 규칙을 매월 말일로부터 특정 일로 설정한 DateRule 객체를 생성하여 반환
날짜 규칙을 매월 말일로부터 특정 일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyEnd(2)); // 리밸런싱 주기를 매월 말일의 전일로 설정
날짜 규칙을 매월 day_offset 번째 거래일로 설정합니다
파라미터
day_offset : 지정된 거래일수(20 이하로 지정하는 것을 권장)
day_offset : 지정된 거래일수(20 이하로 지정하는 것을 권장)
결과
날짜 규칙을 매월 지정된 거래일수에 해당하는 날짜의 DateRule 객체를 생성하여 반환
날짜 규칙을 매월 지정된 거래일수에 해당하는 날짜의 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyTradingDays(5)) //매월 5번째 거래일에 리밸런싱하도록 설정
날짜 규칙을 매월 말일로부터 day_offset 번째 이전 거래일로 설정
파라미터
day_offset : 매월 말일로부터 지정된 이전 거래일수(20 이하로 지정하는 것을 권장)
day_offset : 매월 말일로부터 지정된 이전 거래일수(20 이하로 지정하는 것을 권장)
결과
날짜 규칙을 매월 말일로부터 지정된 이전 거래일수에 해당하는 날짜의 DateRule 객체를 생성하여 반환
날짜 규칙을 매월 말일로부터 지정된 이전 거래일수에 해당하는 날짜의 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyTradingDaysEnd(5)) //매월 말일로부터 5번째 이전 거래일에 리밸런싱하도록 설정
날짜 규칙을 매년 특정 날짜(월, 일)로 설정합니다.
파라미터
month : 특정 날짜의 월 (1월 = 1, …, 12월 = 12)
day : 특정 날짜의 일
month : 특정 날짜의 월 (1월 = 1, …, 12월 = 12)
day : 특정 날짜의 일
결과
날짜 규칙을 매년 특정 날짜로 설정한 DateRule 객체를 생성하여 반환
날짜 규칙을 매년 특정 날짜로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setYearly(5, 31)); // 리밸런싱 주기를 매년 5월 31일로 설정
리밸런싱을 원하는 날짜 규칙을 설정하여 추가합니다
파라미터
dateRule : 날짜 규칙을 설정하는 DateRule 객체
dateRule : 날짜 규칙을 설정하는 DateRule 객체
결과
파라미터로 전달받은 dateRule에 설정된 리밸런싱 규칙을 추가
파라미터로 전달받은 dateRule에 설정된 리밸런싱 규칙을 추가
샘플
IQDate.addRebalSchedule(IQDate.setWeekly(1)); // 매주 월요일 리밸런싱 IQDate.addRebalSchedule(IQDate.setMonthlyStart(15)) // 매월 15일 리밸런싱 추가
addRebalSchedule 함수로 추가한 리밸런싱 DateRule 들을 모두 제거하고 초기화 합니다.
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyStart(1)); // 리밸런싱 주기를 매월 1일로 설정 IQDate.resetRebalSchedule(); // 리밸런싱 주기 초기화 IQDate.addRebalSchedule(IQDate.setMonthlyStart(15)); // 리밸런싱 주기를 매월 15일로 재설정
date 가 미리 설정한 리밸런싱 일자에 해당하면 true 값을 반환합니다. 만일 리밸런싱 설정 일자가 휴일에 해당하는 경우가 발생하면, 리밸런싱 규칙 별로 아래와 같은 대체 영업일을 리밸런싱 해당일로 판단합니다.
- setWeekly(w): 지정된 w요일이 휴일인 경우가 발생하면, 그 다음 영업일에 리밸런싱
- setMonthlyStart(d): 해당 월의 d일이 휴일인 경우, 그 다음 영업일에 리밸런싱
- setMonthlyEnd(d): 해당 월말로부터 d번째 일이 휴일인 경우, 그 이전 영업일에 리밸런
- setYearly(m, d): 해당년도 m월 d일이 휴일인 경우, 그 다음 영업일에 리밸런싱
파라미터
date : 리밸런싱 일자에 해당하는지 확인하려는 날짜. JavaScript Date 객체
date : 리밸런싱 일자에 해당하는지 확인하려는 날짜. JavaScript Date 객체
결과
addRebalSchedule에 의해 등록된 리밸런싱 규칙에 따라, 파라미터로 전달받은 date가 리밸런싱 날짜에 해당하면 true를, 그렇지 않으면 false를 반환
addRebalSchedule에 의해 등록된 리밸런싱 규칙에 따라, 파라미터로 전달받은 date가 리밸런싱 날짜에 해당하면 true를, 그렇지 않으면 false를 반환
샘플
function initialize() { IQDate.addRebalSchedule(IQDate.setMonthlyStart(1)); // 매월 1일 리밸런싱 설정 } function onDayClose(now) { // 주의: onDayClose 함수는 now가 영업일일 때만 호출됨 if (IQDate.isRebalancingDay(now)) { // now가 1/2, 2/1, 3/2, 4/1, 5/2, …, 12/1 일 때 true // 리밸런싱 수행 } }