Search

iQ Live 알고리즘 등록·설정 변경 FAQ

스튜디오에서 개발한 알고리즘을 백테스트 실행하는 것과 iQ Live에 등록했을 때 실전투자용으로 실행하는 것은 어떤 차이가 있나요?

인텔리퀀트의 퀀트 엔진에서 백테스트와 라이브 실행은 기본적으로는 큰 차이가 없고, 백테스트로 검증한 알고리즘 소스코드를 변경할 필요 없이 실전투자에 (거의) 그대로 사용될 수 있도록 개발되었습니다. 다만, 백테스트는 과거의 기간으로 실행하는 것이다 보니 시뮬레이션 시작일과 종료일을 과거~최근 거래일 중에 마음대로 선택할 수 있는 것에 비해, 실전투자에서는 iQ Live에서 매일 정해진 시간(오후 6시 이후)에 알고리즘을 자동으로 실행하는데, 시작일 = 등록일 (또는 그 이후로 변경된 날짜), 종료일 = 당일로 지정하여 매일 종료일을 하루씩 늘려 가며 실행합니다.

알고리즘의 실전투자 검증 과정에서 Error: IQLive.addPortfolio() was never called. 라는 에러가 뜨는데 뭐가 문제 인가요?

iQ Live에서 실전투자에 필요한 포트폴리오를 제대로 추출하기 위해서는, 알고리즘에 여러 개 존재할 수 있는 포트폴리오 바스켓들 중 실전투자에서 필요한 것들만 정확히 지정해 주어야 하는데, 이를 위해 onComplete() 함수 내에 IQLive.addPortfolio() 를 추가해 주어야 합니다. 이 함수가 포함되어 있지 않을 때 발생하는 에러입니다.

iQ Live에 알고리즘을 등록하기 위해서 검증 과정을 거쳐야 하는 이유가 무엇인가요?

스튜디오에서 투자 알고리즘을 개발하여 백테스트를 통해 성과를 검증하고 나서 iQ Live에 등록하면, 해당 알고리즘의 소스코드는 실전투자에도 (거의) 변경 없이 그대로 사용되어 매일 일정한 시각에 자동 실행됩니다. iQ Live에서 실전투자에 필요한 포트폴리오를 제대로 추출하기 위해서는, 알고리즘에 여러 개 존재할 수 있는 포트폴리오 바스켓들 중 실전투자에서 필요한 것들만 정확히 지정해 주어야 하는데, 이를 위한 코드가 제대로 포함 되었는지 확인하는 과정이 꼭 필요합니다.

복수 계좌를 사용한 알고리즘은 iQ Live에서 제대로 실행되지 못할 수도 있다는데 왜 그런거죠?

아마도 복수 계좌를 사용한 대부분의 알고리즘들은 여러 개의 전략을 비교, 분석하는 용도로 많이 활용되고 있을 것입니다. 실전 투자에서는 그 중 1개의 계좌만 연동시킬 수 있는데, 이 경우 스크립트 내에 생성한 여러 개의 계좌 중 어느 계좌로 할 것인지 지정하는 것이 혼동을 줄 수 있습니다. 따라서, 가급적이면 원하는 투자 전략을 단일 계좌를 사용한 알고리즘으로 재작성하고 실전투자에 활용하는 것을 권장하고 있습니다. 하지만, IQLive.addPortfolio() 함수에서 포트폴리오 바스켓을 동일한 계좌에 속한 것들로만 지정한다면 복수 계좌를 사용하는 알고리즘도 문제 없이 실전투자에 사용할 수 있습니다.

스튜디오의 내 알고리즘 목록 중에 iQ Live에 등록한 알고리즘의 실전투자 부분에 ‘재검증’ 표시가 생겼는데, 무슨 의미인가요?

‘재검증’ 표시는 실전투자를 위해 iQ Live에 알고리즘을 등록한 이후에 알고리즘의 내용이 바뀐 경우에 표시됩니다. 실전투자 전략을 업데이트하려는 의도였다면 재검증을 마친 후 업데이트를 진행하시면 됩니다.

스튜디오의 내 알고리즘 목록에서 실전투자 부분에 ‘재검증’ 표시 또는 ‘업데이트’ 표시가 있는 알고리즘은 반드시 iQ Live에 업데이트를 진행해야 하나요?

의도하지 않은 단순한 알고리즘 코드 편집 등의 이유로도 ‘재검증’ 표시가 뜰 수 있기 때문에 원하지 않으면 재검증-업데이트를 진행하지 말고 무시해도 됩니다.

iQ Live 페이지의 알고리즘 목록에 보이는 ‘투자시작(변경)’ 날짜와 각 알고리즘의 설정 화면에서 보이는 ‘투자시작일’이 다른 경우는 무엇 때문인가요?

투자시작일은 iQ Live에 알고리즘을 등록할 때 첫 실행일로 지정된 날짜를 나타냅니다. 이 때 목록에 보이는 투자시작(변경) 날짜는 그와 동일한 날짜가 나타납니다. 만일 나중에 알고리즘을 업데이트하거나 설정 화면에서 투자금액을 변경하게 되면, 투자시작일 외에 투자변경일이 어떻게 적용되는지 설정 화면에 표시되며, 알고리즘 목록의 투자시작(변경)에도 투자변경일 날짜로 업데이트되어 나타납니다. 이후로는 이 투자변경일이 새로운 알고리즘 실행 시작일로 사용됩니다.

iQ Live에 등록된 알고리즘을 업데이트 했더니 바로 리밸런싱 되어 포트폴리오가 새로 나왔습니다. 왜 그런 것인가요?

iQ Live에 등록된 알고리즘의 소스코드를 변경하여 업데이트하면 시간이 오후 6시 전/후 여부에 따라 당일 또는 익일로 투자시작(변경)일이 바뀌게 됩니다. 이후에 첫번째 알고리즘 실행에서 새로운 포트폴리오가 나오는 경우가 많이 있습니다. 이 경우는 알고리즘 코드 또는 블록의 설정에서 실행 시작일에 진입을 하도록 되어 있어서 마치 투자변경한 그 날짜가 투자 첫 날인 것처럼 인식되기 때문에 포트폴리오가 새로 추출된 것입니다.

iQ Live에 등록된 알고리즘의 투자금액 설정을 중간에 변경하면 어떻게 되나요?

iQ Live에 등록된 알고리즘의 설정에서 입력해 주는 투자금액은 투자시작일 또는 투자변경일에 맞춰 초기화되는 투자금액을 의미합니다. (백테스트 실행 시 입력하는 초기 투자금액과 같은 의미입니다.) iQ Live에 등록된 알고리즘의 소스코드를 변경하는 것과 마찬가지로 설정화면에서 투자금액만 변경해도 투자변경일이 바뀝니다. 만일 시작일에 포트폴리오를 새로 추출하도록 알고리즘에 설정되어 있다면, 알고리즘 업데이트와 마찬가지로 투자변경일에 변경된 투자금액 기준으로 새로운 포트폴리오가 추출이 되어 리밸런싱을 진행할 수 있는 준비가 됩니다.