목차
개요
IQLive는 iQ 스튜디오 전략을 실전투자(Live)로 연결할 때 사용하는 전역 싱글톤 객체입니다.
시뮬레이션에서 검증한 Basket 포트폴리오를 실전 매매 목록에 등록하는 기능을 제공합니다. IQLive 관련 코드는 반드시 onComplete() 함수 안에서만 사용해야 합니다.
주의사항
IQLive는 실전투자 연동 기능입니다. 실제 자산에 영향을 미치므로 시뮬레이션에서 충분히 검증한 전략에 한해 사용하세요.
메서드 목록
메서드 | 반환 타입 | 설명 |
addPortfolio(basket, weight) | 없음 | Basket을 실전투자 매매 목록에 등록 |
addPortfolio(basket, weight)
Basket 포트폴리오를 실전투자 매매 목록에 등록합니다.
여러 Basket을 비중(weight)과 함께 등록할 수 있으며, 등록된 비중의 합이 1.0이 되도록 설계하는 것이 일반적입니다.
파라미터
파라미터 | 타입 | 설명 |
basket | Basket | 실전투자에 연결할 Basket 객체 |
weight | number | 해당 바스켓의 투자 비중 (0~1). 전체 비중 합계가 1.0이 되도록 설계 |
반환값
없음.
사용 위치
addPortfolio()는 반드시 onComplete() 함수 안에서만 호출해야 합니다.
Sample
var stock_port, bond_port;
function initialize() {
stock_port = new Basket(IQAccount.getDefaultAccount(), 20, IQEnvironment.aum * 0.7);
bond_port = new Basket(IQAccount.getDefaultAccount(), 1, IQEnvironment.aum * 0.3);
stock_port.setPortfolioBuilder(stockBuilder);
bond_port.setPortfolioBuilder(bondBuilder);
IQDate.addRebalSchedule(IQDate.setMonthlyStart(1));
}
function onDayClose(now) {
if (!IQDate.isRebalancingDay(now)) return;
var totalEquity = IQAccount.getDefaultAccount().getTotalEquity();
stock_port.setBudget(totalEquity * 0.7);
bond_port.setBudget(totalEquity * 0.3);
stock_port.buildPortfolio();
bond_port.buildPortfolio();
}
// 시뮬레이션 종료 시 호출되는 함수
function onComplete() {
IQLive.addPortfolio(stock_port, 0.7); // 주식 바스켓 70% 비중으로 실전 등록
IQLive.addPortfolio(bond_port, 0.3); // 채권 바스켓 30% 비중으로 실전 등록
}
JavaScript
복사
onComplete() 함수
onComplete()은 iQ 스튜디오 전략 코드에서 시뮬레이션 종료 시점에 자동으로 호출되는 예약 함수입니다. IQLive.addPortfolio()는 반드시 이 함수 안에서 호출해야 합니다.
function onComplete() {
// 시뮬레이션 종료 후 실전 포트폴리오 등록
IQLive.addPortfolio(myBasket, 1.0);
}
JavaScript
복사
주의사항
•
IQLive.addPortfolio()는 onComplete() 함수 밖에서 호출하면 정상적으로 동작하지 않습니다.
•
weight 파라미터의 합계는 1.0으로 맞추는 것을 권장합니다.
•
실전투자 연결 전 iQ Live 서비스 이용 약관 및 운영 정책을 반드시 확인하세요.
관련 API
•
Basket 객체 — 실전투자에 등록할 포트폴리오 바스켓
•
IQDate 객체 — 리밸런싱 스케줄 관리
•
IQEnvironment 객체 — 초기 AUM 및 시뮬레이션 환경 설정
