Help
How to use IntelliQuant and the manuals.

4. 계좌와 주문

인텔리 퀀트에서는 실제 환경과 유사한 계좌를 생성하여 시뮬레이션을 진행합니다.
따로 설정하지 않아도 기본적으로 하나의 계좌가 생성되며, 필요하다면 스크립트에서 여러 계좌를 추가로 생성하여 시뮬레이션 할 수 있습니다.

기본 계좌에 주문내기

시뮬레이션이 시작되기 전에 자동으로 내부적으로 하나의 계좌를 생성합니다.
이 계좌만 사용하신다면 별도의 계좌 설정을 하지 않아도 됩니다.
기본적으로 제공하는 계좌의 최초 설정 금액은 시뮬레이션이 시작될 때 사용자가 지정할 수 있습니다.

다음과 같은 방법으로 주문을 낼 수 있습니다.

IQAccount.getDefaultAccount().buy('A035420', 1);
IQAccount.getDefaultAccount().sell( 'A035420', 1);

그러나 여러 종목을 포트폴리오를 구성하여 여러 종목에 분산 투자 하는 경우에는 위에서 처럼 직접 주문을 내기 보다는 Basket 객체를 통하여 주문 내는것을 권장 합니다.

예수금 및 잔고 조회

예수금은 다음과 같이 조회할 수 있습니다. (\u0040Deprecated IQAccount.getDefaultAccount().balance)
logger.debug('cash : ' + IQAccount.getDefaultAccount().cash);

그리고 잔고는 다음과 같이 조회할 수 있습니다.
var eggs = IQAccount.getDefaultAccount().getEggs();

여기서 리턴되는 eggs는
code, quantity, mean 3개의 값을 같는 객체의 배열입니다.

for(var i=0; i < eggs.length; i++) {
  var egg = eggs[i];
  logger.debug(i + "번째 egg. 종목코드" +  egg.code + ", 수량:" + egg.quantity + ", 평균 매수 가격:" + egg.mean);
}

계좌 평가

예수금을 포함한 계좌의 잔고 평가 금액은 getTotalEquity() 함수를 이용하여 조회할 수 있습니다.

IQAccount

인텔리퀀트에서 계좌를 나타내는 Account 객체들은 IQAccount라는 객체를 통해 제공 됩니다.
이 IQAccount에서 기본 계좌를 가져올 수 있고, 추가로 계좌를 등록할 수도 있습니다.

계좌의 추가

IQAccount.addAccount('1111-1111-20', 100000000); //1억의 예수금을 가진 계좌를 추가합니다.
전체 Account는 IQAccount.accounts 배열을 통해 가져올 수 있습니다.