도움말
인텔리퀀트의 사용방법과 메뉴얼입니다.
IQDate 객체
영업일 조회, 리밸런싱 주기 설정 등 날짜와 관련된 기능을 제공하는 객체입니다.
이전 영업일을 가져오는 함수입니다.
파라미터
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 객체
샘플
var today = new Date();
var nextWorkingDay = IQDate.getNextWorkingDay(today);
logger.debug(‘nextWorkingDay: ‘ + nextWorkingDay);
date 날짜로부터 years 년, months 월, days 일 이전의 달력 날짜를 조회하는 함수
파라미터
date : 기준이 되는 날짜. JavaScript Date 객체
years : 몇 년 전
months : 몇 개월 전
days : 몇 일 전
결과
date 날짜로부터 years 년, months 월, days 일 이전의 달력 날짜. JavaScript Date 객체
샘플
IQDate.getPastCalendar(now, 1, 3, 0) //현재(now)로부터 정확히 1년 3개월 전 날짜
날짜 규칙을 매일로 설정합니다.
결과
날짜 규칙을 매일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setDaily()) // 리밸런싱 주기를 매일로 설정합니다
날짜 규칙을 특정 요일로 설정합니다.
파라미터
weekday : 특정 요일. 1(월요일) ~ 5(금요일) 범위에서 지정
결과
날짜 규칙을 매주 특정 요일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setWeekly(1)); // 리밸런싱 주기를 매주 월요일로 설정합니다
날짜 규칙을 매월 day 일로 설정합니다.
파라미터
day : 달력 상의 매월 특정 일 (28 이하로 지정하는 것을 권장)
결과
날짜 규칙을 매월 특정 일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyStart(15)); // 리밸런싱 주기를 매월 15일로 설정 
날짜 규칙을 매월 말일로부터 이전 day_offset 번째 날짜로 설정합니다.
파라미터
day_offset : 매월 말일로부터 이전 특정 번째 일 (28 이하로 지정하는 것을 권장). 예를 들어, day_offset 을 1 로 설정하는 경우 매월 말일로 설정됩니다. (3월 31일, 4월 30일, …)
결과
날짜 규칙을 매월 말일로부터 특정 일로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyEnd(2)); // 리밸런싱 주기를 매월 말일의 전일로 설정
날짜 규칙을 매월 day_offset 번째 거래일로 설정합니다
파라미터
day_offset : 지정된 거래일수(20 이하로 지정하는 것을 권장)
결과
날짜 규칙을 매월 지정된 거래일수에 해당하는 날짜의 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyTradingDays(5)) //매월 5번째 거래일에 리밸런싱하도록 설정
날짜 규칙을 매월 말일로부터 day_offset 번째 이전 거래일로 설정
파라미터
day_offset : 매월 말일로부터 지정된 이전 거래일수(20 이하로 지정하는 것을 권장)
결과
날짜 규칙을 매월 말일로부터 지정된 이전 거래일수에 해당하는 날짜의 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setMonthlyTradingDaysEnd(5)) //매월 말일로부터 5번째 이전 거래일에 리밸런싱하도록 설정
날짜 규칙을 매년 특정 날짜(월, 일)로 설정합니다.
파라미터
month : 특정 날짜의 월 (1월 = 1, …, 12월 = 12)
day : 특정 날짜의 일
결과
날짜 규칙을 매년 특정 날짜로 설정한 DateRule 객체를 생성하여 반환
샘플
IQDate.addRebalSchedule(IQDate.setYearly(5, 31)); // 리밸런싱 주기를 매년 5월 31일로 설정
리밸런싱을 원하는 날짜 규칙을 설정하여 추가합니다
파라미터
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 객체
결과
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
		// 리밸런싱 수행
	}
}