커뮤니티
내가 만든 전략들과 지식을 공유하고 토론합니다.

리밸런싱 함수 추가

IntelliQuant 2019.08.05 13:32 조회수  384

안녕하세요. 인텔리퀀트 팀입니다!


기존의 리밸런싱 주기를 직접 코드로 작성하느라 힘드셨던 분들이 많으셨을 겁니다.

이번 업데이트에서 리밸런싱 주기 설정을 편하게 해주는 함수들이 추가가 되었습니다.

이 함수들을 사용하여 리밸런싱 주기 설정을 보다 쉽게 작성하실 수 있습니다.

새롭게 추가된 리밸런싱 함수와 관련된 더 자세한 설명은 이곳 에서 확인하실 수 있습니다.


아래는 리밸런싱 주기 함수를 직접 전략 코드에 적용한 예제 코드로서 매월 말일에 리밸런싱을 수행합니다.

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!!');
    }
}