퀀트투자

슬리피지를 고려한 전략 구성

unius 2022. 8. 8. 13:02
728x90
반응형

자동매매를 할때 필수적으로 고려해야 하는 것이 있다. 바로 슬리피지(Slippage)이다.

슬리피지의 사전적인 의미는 매매주문시에 발생하는 체결오차 현상으로 원하는 가격에 현물, 선물을 매수할 수 없을 때 발생하는 비용을 의미한다. 하지만 자동매매를 고려하는 트레이더들에게 이와같은 사전적인 정의는 크게 와닿지 않는다. 따라서 이글에서는 슬리피지의 정의를 다시해보고 이를 유발하는 원인들을 정리해보려고 한다.

 

젠포트를 이용한 자동매매시 발생하는 슬리피지를 나름의 방식으로 이해하기 쉽게 다시 정의하자면 다음과 같다.

자신이 구성한 전략의 백테스트 결과와 실전매매 적용시의 결과 사이의 차이라고 할 수가 있다. 이와 같이 정의하고 나면 슬리피지를 유발하는 근본적인 원인이 무엇인지에 대한 질문이 바로 나오게 된다.

 

첫번째는 거래비용 효과이다. 거래비용에는 매도 및 매수주문의 체결시에 증권사에서 부과하는 증권거래수수료와 매도주문의 체결시에 부과하는 세금인 증권거래세가 있다. 현재 증권거래세는 어느 증권사를 통해서 거래를 하든 동일하게 0.23%가 부과된다. 반면에 증권사마다 자체적으로 부과하는 증권거래수수료는 증권사마다 다르다. 증권사의 거래수수료는 많게는 10배 이상 차이가 나기도 하므로 이로 인해서 슬리피지가 발생하게 된다. 즉, 뉴지스탁을 통해 백테스트할 때 수수료 비율을 얼마로 입력하는 지에 따라서 테스트 결과에 많은 차이가 발생한다.

대부분의 증권사 수수료가 소수점 이하의 수수료율이기에 백테스트 해보기전에는 그에 따른 차이를 무시하기 쉽지만 한번이라도 수수료율에 따라 백테스트 결과가 얼마나 달라지는지 확인하고 나면 생각이 달라지게 된다. 젠포트에서 새로운 전략 만들기를 시작하면 기본 수수료율이 0.1%가 설정되는데 키움증권을 사용한다면 0.015%를 입력하고 돌려보면 그 차이를 보다 확실하게 알 수가 있다.

 

두번째는 거래량(또는 거래대금)이다. 이것은 굳이 실전매매를 돌려보지 않고 일봉 기반의 백테스트와 틱 기반의 백테스트만 비교해보아도 보다 쉽게 차이를 알 수가 있다. 일봉 기반의 백테스트는 일거래량을 기준으로 하고 틱 기반 백테스트는 틱 기반. 즉, 체결가격별 거래량을 기반으로 테스트를 수행하므로 일봉 기반 백테스트에서는 거래가 된 것이 틱 기반 백테스트에서는 거래가 되지 않는 경우가 발생할 수가 있다. 따라서 단지 일봉 백테스트 결과가 잘 나왔다고 하더라도 틱 기반 백테스트도 수행해봐야 한다.

일반적으로 많은 트레이더들이 거래량(또는 거래대금)에 따른 슬리피지를 제거하기 위해서 {거래대금} 팩터를 사용해서 대상 종목을 필터링한다.

 

세번째는 가격이다. 즉, 매도 및 매수를 위해 제출한 주문이 내가 원하던 가격보다 불리한 가격에 체결되는 현상을 말한다. 이와같은 현상은 경험상 목표가와 손절가와 같은 요소들을 적용한 전략에서 발생하는 듯하다. 거래대금 팩터를 잘 활용한다면 전략마다 차이가 작을 수는 있지만 목표가나 손절가를 빠르게 도달했다가 이탈하는 경우에는 실전매매에서는 원하는 가격에 체결하기 어려운 경우가 많다. 목표가나 손절가 도달시 지정가로 주문을 제출하도록 설정하는 경우에는 이와같은 상황에서 체결에 실패하기 쉽고 시장가로 제출하도록 설정하는 경우에는 원치않는 불리한 가격에 체결이 이루어지는 현상이 발생해서 백테스팅과 큰 차이를 유발시키게 된다. 특히나 보유일이 1~2일 정도의 단타전략인 경우는 일봉 백테스트와 틱 백테스트의 차이가 심하게 차이나는 경우를 경험하기도 했다.

 

따라서 젠포트를 이용해서 전략을 셍성하고 백테스팅을 돌리고 실전에 적용하기 전에 위와같은 슬리피지를 유발하는 원인을 이해하고 전략을 구성하는 지혜가 필요해 보인다.

 

728x90
반응형