커뮤니티
내가 만든 정보와 전략들을 공유하고 토론합니다.
IQ Live 서비스 이용가이드
관리자 2018.11.28 09:57 조회수  1220


인텔리퀀트 실전투자 서비스(IQ Live)는  기존에 사용자가 매번 스크립트를 직접 실행해서 포트폴리오 변경내역을 확인하고 매매할 종목을 정리해야 했던 번거로움을 해소해 드리고자, 인텔리퀀트에서 서버를 별도로 할당하여 자동으로 실행해 드리는 서비스입니다.

사용자들이 기존에 작성하여 활용 중이신 전략 스크립트를 최소한의 변경 또는 추가만으로 자동 실행이 가능하도록 실전투자 서비스를 준비했습니다.

(여기서, 자동 실행이란 알고리즘 스크립트를 자동으로 실행하는 것까지를 의미하고, 자동 매매 기능은 추후 제공하기 위해 준비하고 있습니다.)


본 이용가이드는 백테스팅용으로 작성된 스크립트를 실전투자용으로 바로 사용하기 위해 필요한 내용들을 안내하기 위함입니다.


1. 실전투자용 알고리즘 등록 및 실행


  - 실전투자용 알고리즘 개요

  • 실전투자에 등록한 알고리즘이 실제로 실행되는 시간은 매 거래일 장마감 후 오후 6시경입니다. 이 시점을 경계로 스크립트 등록 또는 수정사항 변경 등의 적용 날짜가 달라집니다.
  • 알고리즘 스크립트의 실행을 위한 투자 시작일과 투자금액 설정
    : 실전투자용 스크립트를 실행할 때 사용자의 실제 계좌 잔고나 투자금액의 변화를 정확히 반영할 수 없기 때문에항상 투자 시작일로부터 실행 당일까지의 기간에 대해 초기투자금액으로 스크립트를 실행시키는 방식을 택하였습니다. 이는 마치 백테스팅 할 때 시작일과 종료일을 지정하고 초기투자금액을 입력 받아서 실행을 하는 것과 같은 방식입니다. 따라서, 실전투자 도중 투자금액을 변경하거나 알고리즘을 수정하는 경우, 변경된 내용을 적용하는 첫 날을 새로운 시작일로 하고, 당시의 평가금액을 새로운 초기투자금액으로 대체하여 스크립트를 실행합니다.
  • 복수의 Basket 객체를 정의하여도 모든 Basket객체를 실제 투자에 사용하지는 않는 경우가 있기 때문에, 실제로 매매 목록으로 산출되어야 하는 포트폴리오를 어떤 Basket들로부터 구성할 것인지 사용자가 직접 명시해 주도록 했습니다.


- onComplete()에 포함시킬 스크립트 샘플

onComplete()는 스크립트를 모두 실행시키고 난 후 종료하기 직전에 호출되는 함수입니다백테스팅 시에는 사용자가 정의한 성과분석, 통계값 등을 로그 화면에 표출하는 식으로 활용될 수 있는데실전투자에서는 이 함수를 통해 어느 포트폴리오(Basket)를 매매 목록으로 저장시킬 것인지 아래와 같은 방법으로 지정하여야 합니다.


...
function onComplete() {
                ...
    IQLive.addPortfolio(basket1basket1_weight);
    IQLive.addPortfolio(basket2basket2_weight);
    IQLive.addPortfolio(basket3basket3_weight);
                ...
}
...

(붉은색으로 된 변수를 사용자 전략에 맞게 수정)


위의 예제는 하나의 계좌에 연결된 3개의 Basket 객체(basket1, basket2, basket3)를 실전투자에 적용할 포트폴리오들로 명시하고 있습니다.

이 때 해당 계좌의 투자금액 중에 각 Basket들이 할당 받은 예산(budget)의 비중(weight) 정보인 basket1_weight, basket2_weight, basket3_weight를 함께 명시해 주어야 전체 계좌 투자금액 중 개별 종목의 투자 비중을 제대로 산출할 수 있습니다.

주의할 점은 각 Basket들의 비중을 합해서 1보다 크지 않도록 해야 한다는 것입니다. 합산 비중이 1보다 크면, 실제 매매 시 본인이 의도한 것보다 더 많은 수량을 보유하도록 매매 내역이 산출되어 매매 도중 현금이 부족할 수 있습니다.


 - 등록 시 설정 화면




내 알고리즘’ 메뉴의 전략 알고리즘 목록 중 실전투자에 사용하려는 알고리즘의 등록’ 버튼을 누르면, 실전투자 목록에 알고리즘 등록이 먼저 되고위와 같은 설정 화면이 바로 나타납니다.

초기투자금액실전투자에 투입한 본인의 투자금액 입력

투자시작일: 알고리즘이 최초 실행되는 날짜로서 기본값으로 당일 날짜가 설정되어 있습니다.. 만일 등록 시점이 이미 오후 6시가 지났다면, 투자시작일은 당일이 아니라 익일(다음날)로 나타납니다.

투자변경일: 알고리즘의 '투자시작일'을 당일 이후의 날짜 중에서 선택하여 변경할 수 있습니다. 알고리즘이 실제로 실행 시작되기 전까지는 직접 설정창을 열어 재변경이 가능합니다.



 




 

- 실행 시작 및 중지

고리즘을 등록하고 초기 설정을 마쳤더라도실전투자 메뉴의 알고리즘 목록에서 실행 시작’ 버튼을 눌러야 실제로 알고리즘이 실행됩니다또한알고리즘을 언제든지 중지시켰다가 다시 실행시킬 수 있습니다.


- 실전투자 알고리즘 등록 해제

실전투자를 위해 등록한 알고리즘을 더 이상 사용하지 않으려면, ‘등록해제’를 눌러서 실전투자 목록에서 제거할 수 있습니다. 여기서 알고리즘을 제거하더라도, 내 알고리즘에 있는 스크립트 원본은 영향을 받지 않습니다.

 



 

2. 알고리즘 변경스크립트 업데이트 및 투자금액 변경(증액/감액)


- 알고리즘 변경 시 주의사항

실전투자에 등록한 알고리즘 스크립트는 내 알고리즘’ 목록에 있는 해당 스크립트의 복사본입니다따라서등록 이후에 실전투자용 알고리즘을 수정하고 싶은 경우에도 내 알고리즘에 있는 해당 스크립트를 먼저 수정하고 업데이트를 해 주어야 실전투자 실행용 스크립트에도 반영이 됩니다.

알고리즘이 업데이트되거나 투자금액을 변경하는 경우마치 새로운 스크립트로 새로운 투자시작일('투자변경일')에 변경된 투자금액으로 투자하는 것과 마찬가지이므로해당 설정 값을 변경시켜 주어야 합니다.

알고리즘 변경 시 특히 주의할 점은만일 본인의 알고리즘 로직에서 투자시작일에 새 포트폴리오를 구성하도록 되어 있으면, 새로 설정한 투자변경일이 정기 리밸런싱 시점이 아니더라도 포트폴리오가 새로 산출될 수 있다는 점입니다.

 

- 설정 변경 화면

 




알고리즘을 업데이트하거나, 실전투자 메뉴에서 알고리즘의 설정 아이콘을 누르면 위와 같이 설정을 변경할 수 있는 화면이 나타납니다.

현재평가금액: 스크립트를 투자시작일부터 실행시켜온 결과로써 전일 또는 당일의 계좌 평가금액을 보여줍니다. 실전투자에 이용중인 실제 계좌의 총평가금액에 대한 추정치로 이해하면 되겠습니다.

투자금액변경: 투자금액을 변경하는 경우에 수정, 입력해 줍니다. 스크립트 소스코드 업데이트의 경우에도 현재의 평가금액을 새로운 투자금액으로 설정해 주어야 합니다. 실제 계좌의 총평가금액과 차이가 많이 나는 경우에는 실제 계좌의 총평가금액으로 설정해 주는 것을 권장합니다.

투자변경일: 알고리즘을 업데이트하거나 투자금액을 변경하는 시점에 따라 당일 또는 익일부터 변경되어 실행하도록 투자변경일이 강제 설정됩니다. 결과적으로, 변경된 투자금액이 새로운 투자원금으로, 투자변경일은 새로운 실행 시작일로 하여 스크립트가 실행됩니다.



 

3. 알림 받기

현재는 텔레그램을 통해 포트폴리오 변경사항 알림 서비스를 제공하고 있습니다.


- 텔레그램 설정 방법

(1) 텔레그램 앱을 실행하고 대화방에서 사용자명으로 @iqlivebot 검색

(2) 검색된 @iqlivebot의 시작 버튼 클릭 (또는 /start 전송)

(3) 인텔리퀀트 홈페이지에 등록된 사용자 이메일 등록

(4) 발송된 이메일을 확인하여 승인 링크 클릭

(5) 텔레그램으로 승인완료 메세지가 도착하면 승인과정 완료


- 알림 서비스 내용

  • 매일 오후 8시, 실전투자 알고리즘 실행 결과에 따른 포트폴리오 내역 메시지 발송
  • 사용자 별로 실전투자 실행 중인 모든 알고리즘에 대해 각각 포트폴리오 정보와 매매할 내역 제공
  • 초기투자금액과 당일 현재 평가금액 (추정치) 제공 -> 실제 증권계좌의 평가금액과 비교하면서 포트폴리오 관리할 수 있음
  • 리밸런싱이 발생하지 않아도 알고리즘대로 포트폴리오를 잘 관리할 수 있도록 목표 포트폴리오 내역은 매일 반복 발송



4. 실전투자용 스크립트에서 주의해야 할 점


   전략 알고리즘을 분석용으로 작성하여 백테스팅 할 때와 달리실전투자에 적용할 때 주의할 점을 정리해 보겠습니다.

  • 블록 알고리즘은 현재로서는 실전투자에 활용할 수 없습니다.
  • 알고리즘 스크립트에서 복수의 계좌(Account)를 사용하고 있는 경우에는 실전 매매에 이용하기에 곤란한 상황이 발생할 수 있습니다. 따라서, 분석 및 비교 테스트용으로 복수 계좌를 사용하여 검증을 마치셨다면, 실전용으로는 한 개의 계좌만을 사용한 전략으로 수정하신 후 적용하는 것을 권장합니다.
  • 알고리즘을 실행하는 시간은 매 거래일 장마감 후 오후 6시경입니다. 만일 알고리즘을 새로 등록하거나, 소스코드 업데이트, 투자금액 변경 등을 당일 실행 때부터 적용하고자 한다면, 반드시 오후 6시 이전에 등록/수정을 완료해 주어야 합니다.



    * 이용하시면서 궁금하시거나 이해되지 않는 부분 있으시면 자유게시판을 통해 질문해 주시면 감사하겠습니다.

     
    태그
    최신 게시글