대체 데이터의 알파를 확인하기 위한 솔루션퀀트의 백테스트 모델링 과정을 소개합니다
백테스트 모델링이란
백테스트는 특정 투자 아이디어를 과거에 활용했을 때 어떤 성과를 나타냈는지 시뮬레이션 해보고 검증하는 것이다. 일반적으로 하나의 투자 아이디어는 구체화되는 과정에서 여러 알고리즘(코드)으로 변환될 수 있고 이를 모델링이라 한다. 백테스트 모델링을 통해 투자 아이디어와 전략이 타당한지, 향후 수익을 창출할 수 있는지 알아볼 수 있다.
대체 데이터를 활용한 백테스트 모델링
그럼 대체 데이터 백테스트는 무슨 말일까? 간단히 말하면 대체 데이터를 갖고 투자했을 때 어떤 성과를 보였을지 확인하는 것이다. 여기서 모델링 과정이 필요한대 하나의 데이터만으로도 수 많은 알고리즘을 만들 수 있고 가장 최적화된 알고리즘을 찾아내는 과정을 '대체 데이터 백테스트 모델링'이라 말할 수 있다.
백테스트 모델링의 세부 단계
솔루션퀀트의 백테스트 모델링은 기존 전통 금융 데이터뿐만 아니라 대체 데이터까지 결합해 진행된다. 전체 과정은 1) 대체 데이터 알고리즘 생성과 2) 머신러닝 프로세스로 구분된다.
1) 대체 데이터 알고리즘 생성:
우선 포트폴리오의 기본 윤곽을 잡아야 한다. 테스트 기간(시작일, 종료일)을 설정하고 어떤 주기로 리밸런싱할지를 정해야 한다. 지수 생성시 종목 가중 방법론도 정한다(스코어링에 가중을 두는 커스텀 산식을 주로 이용, 유니버스는 동일가중). 이외에도 포트폴리오를 대략적으로 설명할 수 있는 명칭과 요약정보, 시작일 기준값 등을 정한다.
본격적으로 알고리즘을 생성할 때는 유니버스와 전략을 설정한다. 유니버스는 주로 시장(코스피,코스닥)을 정하고 시가총액, 관리종목 제외 등 필터링하는 조건들을 주로 입력한다. 경우에 따라서는 전략 설정에서 담을 수 있는 팩터들(수출 퍼센타일 XX% 이상)을 필터링 조건으로 넣는다.
전략 설정에서는 유니버스 종목들을 스코어링 하는 목적으로 사용된다. 여러 팩터들을 산식으로 조합한다. 예를 들어 PBR 역수값, 수출 negposratio, 12MF OP consensus chg.(1M) 팩터를 퍼센타일이나 z-score로 변환하고 팩터별로 가중치를 반여해 최종 스코어를 계산한다.
최종적으로 리밸런싱 구간별로 유니버스 종목들의 스코어를 만들고 포트폴리오 설정에서 정해진 가중방식에 맞춰 그룹별 지수를 생성한다.
2) 머신러닝 프로세스:
알고리즘 생성은 모델러가 윤곽부터 세부 조건을 정해준다. 하지만 가중치 적용시 어떤 수치가 더 좋은 성과를 낼지 확인해보지 않고 미리 알 수 없다. 0.5가 좋을지 0.6이 좋을지, 0.55, 0.56 이런 세분화된 수치까지 확인하려면 많은 반복작업이 필요하다.
백테스트 모델링 프로세스에서 머신러닝은 모델러가 테스트해 보려는 수치와 변수들을 반복적으로 테스트해 훈련을 하고 알고리즘을 최적화하는데 사용된다.
백테스트 모델링을 통해 얻는 결과물
백테스트 모델링은 솔루션퀀트 운용상품을 견고하게 만드는 밑바탕이다. 수 많은 검증 과정을 통해 최적화된 상품을 만들 수 있고 투자에 대해 확신을 갖을 수 있다.