•
onComplete()는 스크립트를 모두 실행시키고 난 후 종료하기 직전에 호출되는 함수입니다. 백테스팅 시에는 사용자가 정의한 성과분석, 통계값 등을 로그 화면에 표출하는 식으로 활용될 수 있는데, 실전투자에서는 이 함수를 통해 어느 포트폴리오(Basket)를 매매 목록으로 저장시킬 것인지 아래와 같은 방법으로 지정해야 합니다.
...
function onComplete() {
...
IQLive.addPortfolio(basket1,basket1_weight);
IQLive.addPortfolio(basket2,basket2_weight);
IQLive.addPortfolio(basket3,basket3_weight);
...
}
...
Plain Text
복사
(붉은색으로 된 변수를 사용자 전략에 맞게 수정)
•
위의 예제는 하나의 계좌에 연결된 3개의 Basket 객체(basket1, basket2, basket3)를 실전투자에 적용할 포트폴리오들로 명시하고 있습니다. 이 때 해당 계좌의 투자금액 중에 각 Basket들이 할당 받은 예산(budget)의 비중(weight) 정보인 basket1_weight, basket2_weight, basket3_weight를 함께 명시해 주어야 전체 계좌 투자금액 중 개별 종목의 투자 비중을 제대로 산출할 수 있습니다.
•
주의할 점은 각 Basket들의 비중을 합해서 1보다 크지 않도록 해야 한다는 것입니다. 합산 비중이 1보다 크면, 실제 매매 시 본인이 의도한 것보다 더 많은 수량을 보유하도록 매매 내역이 산출되어 매매 도중 현금이 부족할 수 있습니다.
⇒ 종목별 비중 계산 방식을 개선하여 반드시 정확하지 않아도 가능하게 되었습니다.