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 배열을 통해 가져올 수 있습니다.