왕초보 퀀트투자 젠포트로 시작하기_03 [백테스트 하는 법]

안녕하세요 앱솔입니다.

왕초보 퀀트투자 젠포트로 시작하기 3번째 포스팅입니다.

저번 시간엔 젠포트 플랫폼에 대해 알아봤는데요. 이번엔 젠포트를 활용하여 백테스트 하는 법을 알려드리도록 하겠습니다.


글의 순서


백테스트의 종류

(1) 일봉 백테스트

일봉

일봉 백테스트는 일봉을 이용한 백테스트 방식입니다.

종목 차트의 일봉을 사용하여 내 전략이 과거에 어떻게 수행되었는지 테스트해 볼 수 있습니다. 현재 2007년부터 테스트가 가능합니다.

일봉 백테스트는 꽤 긴 기간을 테스트할 수 있지만 단순히 일봉 데이터만을 이용하기에 제대로 된 주가의 움직임을 파악하기는 어렵습니다. 주가가 저가를 먼저 찍고 고가를 찍었는지, 장 초반 고가를 찍고 하락하며 당일 저가를 만들고 종가로 마무리했는지 알 수 없죠. 이벤트 발생 시점을 모르기 때문에 백테스트 결과가 실전과 다르게 나올 수 있습니다.

또한 거래량은 호가 당 거래량이 아닌 하루 전체(일봉)의 거래량을 이용합니다. 종목의 하루 총 거래대금이 300만이라고 가정했을 때 내가 백테스트에서 거래하는 거래대금 300만이여도 모두 체결이 되죠. 실전에서 내 호가가 이렇게 전부 체결되기는 어렵습니다. 이런 부분은 실전과 괴리가 생길 수 있는 부분이니 감안하고 테스트 하시는 게 좋습니다.

+ 실전매매에서는 당일 실시간 매도가 가능한 기능인 목표가, 손절가가 백테스트 상에서는 당일 발동하지 않습니다. 일봉 백테스트에서 목표가,손절가 사용 시 제대로 된 백테스트가 이루어지지 않기 때문에 사용하시지 않는 걸 권장 드립니다.

(2) 월봉 백테스트

월봉 백테스트는 일봉 백테스트와 테스트 방식은 동일하나 일봉이 아닌 월봉을 이용하여 백테스트 하는 방식입니다.

(3) 틱 테스트

주가의 최소 변동 단위를 ‘틱’이라고 합니다.

틱 테스트는 한 틱 변할 때마다의 주가 데이터와 거래량 데이터를 이용하여 내 전략을 검증할 수 있죠.

호가 단위

EX) 10000원에 200주 거래 – 10100원에 221주 거래

이런 식으로 틱, 시간마다 거래 데이터가 존재해 주가의 움직임을 정확히 알 수 있습니다. 꽤나 정교한 테스트 방법이죠. 틱 테스트는 2017년부터 테스트가 가능합니다.


월봉 백테스트 하는 법

제일 쉬운 월봉 백테스트를 먼저 해보겠습니다.

전략 : 시가총액 1위 ~ 20위 6개월 리밸런싱

시가총액 1위부터 20위까지 6개월 보유 후 매도하고 다시 1위부터 20까지 매수하는 전략을 만들어 볼게요.

백테스트 하는 법

젠포트 바로가기

젠포트 홈페이지에서 포트 만들기를 눌러주세요.

백테스트 하는 법01

월봉을 눌러줍니다.

백테스트 하는 법04

운용 기간은 전체를 선택해 줍니다. 수수료는 키움증권(젠트레이더 제공 증권사) 기준 0.015% 입력해 주세요. 매수 가격기준은 0% 입력하시면 됩니다.

우리는 시가총액 1위부터 20위까지 매수할 것이니 최대 보유종목 수는 20종목으로 설정합니다. 리밸런싱은 6개월마다 하기로 했으니 6개월 설정해 주세요. 매도 가격기준도 0% 설정해 주면 됩니다.

백테스트 하는 법05

다음은 매수조건식 선택 부분을 보겠습니다.

처음 만들기를 하면 이렇게 아무 조건식도 입력되어 있지 않습니다. 조건식 추가하기를 눌러주세요.

백테스트 하는 법06

상단에 종가를 입력해 주세요. 아래 입력하기를 누르고 부등호를 >= 선택하고 우측에 0을 입력해 주세요. 이런 식으로 하면 종가 >= 0이라는 조건식이 완성됩니다.

무슨 조건식이냐요? 말 그대로 종가가 0원보다 크다 입니다.

주가는 당연히 0원 이상 아닌가요?

네 맞습니다. 그래서 종가 >=0 조건식을 입력한 것입니다. 모든 종목을 대상으로 매매를 할 거기 때문이죠. 모든 종들 중 시가총액 1위에서 20위 종목을 뽑아야 하는데 그것은 바로 아래에서 배울 우선순위라는 기능을 통해 뽑을 것입니다.

백테스트 하는 법07

조건식 선택 아래 매수종목 우선순위를 클릭해주세요.

백테스트 하는 법08

상단에 시가총액을 검색해서 선택한 후 입력하기를 눌러주세요.

우선순위는 조건식을 통해 선정된 종목의 매수 우선순위를 설정할 수 있는 기능입니다.우리는 아까 조건식으로 모든 종목을 선정했죠? 여기서 시가총액을 [내림차순] 우선순위를 사용하면 시가총액이 높은 종목 순서대로 매수를 할 것입니다.

기본 세팅에서 20종목을 선택했으니 시가총액 1위부터 20위까지 매수하는 전략이 완성되는 겁니다. 어떤가요? 별로 어렵지 않죠?

백테스트 하는 법09

백테스트 실행하기를 눌러주세요.

백테스트 결과

실시간으로 전략의 성과를 볼 수 있습니다.

다음으론 일봉 백테스트 하는 방법을 배워볼게요.


일봉 백테스트 하는 법

일봉 백테스트도 월봉과 크게 다르지 않습니다. 천천히 따라해 보세요.

일봉 백테스트에서는 펀더멘탈이 좋은 20종목을 한달간 보유하고 매도하는 전략을 만들어보겠습니다.

백테스트 하는 법02

일봉을 클릭하세요.

백테스트 하는 법10

전체를 누르면 2007년부터 백테스트가 가능하며 무료기준일을 누르면 오늘 기준 1년 기간을 무료로 테스트 할 수 있습니다. 수수료는 월봉과 똑같이 0.015% 입력해 주세요.

백테스트 하는 법11

매수 가격기준은 전일종가 0% 설정해 주세요.

종목당 매수비중은 1종목 당 매수할 비중을 선택하는 것입니다. 100% = 1종목, 50% = 2종목, 10% = 10종목, 5% = 20종목

우리는 20종목 전략을 만들 것이기 때문에 5%를 입력해 주세요.최대 보유종목 수도 20종목을 입력해 주세요.

다음 목표가 / 손절가에는 0 입력해 주시면 됩니다. 위에서 이미 설명드렸다 싶이 일봉 백테스트에서는 절대 목표가, 손절가는 사용하면 안됩니다.

종목 최대 보유일은 20일(영업일 기준 한달)을 설정해 주세요.

백테스트 하는 법 17

다 입력하셨다면 Step 3를 클릭하세요.

백테스트 하는 법07

아까처럼 종가 >=0 조건식을 입력하고 매수종목 우선순위를 눌러주세요.

백테스트 하는 법12

상단에 펀더멘탈을 입력하고 하단 입력하기를 누르고 매수우선순위입력을 눌러주세요.

백테스트 하는 법13

다음 백테스팅 실행하기를 누르세요.

백테스트 하는 법 18

실행하기를 누르면 백테스팅 실행 환경을 선택할 수 있는데 Foreground는 백테스팅 과정을 실시간으로 확인 가능합니다.Background는 백테스팅 진행 중 다른 작업이 가능하죠.Background로 돌리면 좀더 안정적인 백테스팅이 가능합니다.

이렇게 일봉 백테스트를 완료했고 다음은 틱 테스트를 해보도록 하겠습니다.


틱 백테스트 하는 법

틱 테스트는 일봉과 다른 조건은 동일하게 하되 목표가 손절가를 설정해서 테스트를 해보겠습니다.

백테스트 하는 법03

틱을 클릭해 주세요.

백테스트 하는 법14

나머지 조건은 동일하게 하고 목표가 손절가에 50%를 입력해 보겠습니다.

백테스트 하는 법13

백테스팅 실행하기를 누르면 끝 입니다.

월봉, 일봉, 틱 백테스트를 해봤는데 어떠셨나요? 처음에는 젠포트가 익숙하지 않아서 다소 어렵게 느껴질 수 있지만 제 가이드를 하나하나 따라 하다보면 금방 잘하실거예요 🙂

감사합니다.


같이 보면 좋은 글

젠포트 공개전략_01 [약수급 성장주 전략]
젠포트 공개전략_02 [Money flow index]
젠포트 공개전략_03 [매출+영업이익 성장률 전략]
젠포트 팁_01 시가총액 필터 올바르게 사용하는 방법


Leave a Comment