안녕하세요. 인텔리퀀트 팀입니다!
기존의 리밸런싱 주기를 직접 코드로 작성하느라 힘드셨던 분들이 많으셨을 겁니다.
이번 업데이트에서 리밸런싱 주기 설정을 편하게 해주는 함수들이 추가가 되었습니다.
이 함수들을 사용하여 리밸런싱 주기 설정을 보다 쉽게 작성하실 수 있습니다.
새롭게 추가된 리밸런싱 함수와 관련된 더 자세한 설명은 이곳 에서 확인하실 수 있습니다.
아래는 리밸런싱 주기 함수를 직접 전략 코드에 적용한 예제 코드로서 매월 말일에 리밸런싱을 수행합니다.
var stock_basket; // 주식 종목들을 관리하는 Basket 객체
var stock_weight = 0.95; // 주식 비중
var stock_num = 10; // 주식 종목 수
function initialize() {
stock_basket = new Basket(IQAccount.getDefaultAccount(), stock_num, IQEnvironment.aum * stock_weight);
stock_basket.setPortfolioBuilder(stockPortfolioBuilder);
// 리밸런싱 주기를 매월 마지막 날, 혹은 마지막 날 이전 가장 가까운 영업일로 설정
IQDate.addRebalSchedule(IQDate.setMonthlyEnd(1));
}
function onDayClose(now) {
if (IQDate.isRebalancingDay(now)) {
// 리밸런싱을 실행할 때 필요한 코드를 작성
logger.debug('Rebalancing!!');
}
}