본문 바로가기

시스템 트레이딩/트레이딩 이야기

[주식투자] 엑셀로 간단한 변동성돌파 백테스트 해보기 - KODEX KOSPI ETF

 이전에 설명한 단순 종가베팅에 이어 오늘은 한번 그 유명한 래리 윌리엄스의 변동성 돌파의 백테스트를 해보려고 합니다. (제목에는 이전에 말씀드린것처럼 주식과 투자 키워드를 넣어봤습니다. 조회수야 올라가라~ ㅎㅎ)

 

 변동성 돌파는 저에게 매우 특별한 트레이딩 기법입니다. 변동성 돌파에서 영감을 받아 전략을 개발하게 되었고 이 전략을 공부하면서 저에게 전환점이 오게 됐습니다 ㅎㅎ

 

 변동성 돌파는 장중 가격이 일정한 기준치를 넘어설때 매수를 하게 되는데요, 실시간으로 시장을 감시하고 있어야 하기 때문에 사람이 손으로 하기에는 정말 힘이 듭니다. 그러다 보니 시스템트레이딩과 정말 잘 맞는 전략 중 하나라고 생각합니다.

 

먼저 변동성 돌파의 매수가격은 다음과 같이 정의하게 됩니다.

돌파가격 = 오늘 시가 + k x (전일고가 - 전일저가)

 

정말 간단하죠? 여기에서 k는 임의의 숫자입니다. 보통 0.5를 쓰게 됩니다.

 

오늘도 백테스트를 위해 KODEX KOSPI ETF의 자료를 준비했습니다. 일봉데이터는 HTS에서도 받으실 수 있답니다 ^^

 

차례대로 따라 할 수 있도록 준비했습니다 ㅎㅎ

 

 

오늘은 2002년부터 무려 18년치의 데이터입니다!
매수가격은 k에 0.5를 주어서 위와 같이 계산하였습니다.
매도 가격은 다음날 시가입니다.
오늘 고가가 매수가격을 돌파 했는지 확인해 줍니다. 고가가 매수가격보다 높으면 당연히 매수가격에서 매수할 기회가 발생했겠죠?
그럼 수익률을 계산해 보겠습니다. 매수신호가 발생했다면 수익률은 매도가격 / 매수가격입니다. 매수신호가 발생하지 않았다면 수익률은 1이겠죠?
지금까지 넣어준 값들을 모든 날짜에 적용하고 누적수익을 계산해보도록 하겠습니다.
엄청난 누적수익이 나왔습니다. 정말 안정적으로 우상향하는 모습에 제 가슴이 벅차오릅니다. 20년 가까운 시간동안 30배의 수익을 거둡니다.

 

하지만 아직 좋아하긴 너무 이릅니다. 바로 수수료의 존재 때문인데요, ETF 거래를 할 때는 매수할 때, 매도할 때 똑같이 증권사에 수수료를 내야 합니다. 제가 주로 사용하는 키움증권의 수수료인 0.015%의 수수료를 낸 결과를 볼까요?

 

 

제 가슴이 다 미어집니다 ㅜㅜ 

 

네 누적수익이 무려 반토막이 나버렸습니다. 0.015%의 수수료도 긴 시간 동안 누적되면 정말 엄청난 영향을 끼치게 됩니다.

 

 그런데 여기서 끝이 아닙니다. ㅜㅜ 

 

 이건 변동성 돌파의 뼈아픈 단점이라고도 할 수 있는데요, 아마 눈치채신 분들도 계시겠지만, 주식의 가격은 정수입니다. 그리고 호가는 5원 단위일 수도 있고 10원 단위일 수도 있고 제각각입니다. 이게 무엇을 뜻할까요?

 

 네 우리는 대부분의 거래동안 돌파 가격대로 매수를 하는 것이 불가능합니다. 돌파매매의 원리를 생각하면 우리는 원하는 가격을 돌파할 때 매수를 할 것이기 때문에 더 비싸게 살 수밖에 없습니다. 너무 충격적인가요? ㅜㅜ 사실 저도 공부하면서 정말 충격적이었습니다. 마법의 전략을 알게 된 것 같아 너무 좋았는데 이 사실을 알고 나서 정말 끙끙 앓았네요 ㅎㅎ 

 

 그리고 우리가 시스템 트레이딩을 할 때 항상 알아두셔야 하는 것은 슬리피지(slippage)의 존재입니다. 위에서 말한 것도 일종의 슬리피지인데요, 슬리피지란 우리가 의도한 가격과는 다르게 거래가 체결되는 것을 의미합니다. 보통 저런 이유 말고도 인터넷 속도의 문제, 코드 상의 오류 등의 문제 때문에 발생하게 되는데요, 나중에 본격적인 시스템 트레이더가 된다면 슬리피지를 줄이기 위해 정말 피나는 노력을 하셔야 한답니다. (저도 정말 고생하고 있습니다 ㅜㅜ)

 

 마지막으로 제 비기(?)가 살짝 담긴 변동성 돌파 마지막 백테스트를 보여드리겠습니다. 

 

 

 

 이 백테스트 결과는 수수료도 포함된 결과인데요, 이전보다 누적수익이 대폭 향상됐음을 알 수 있습니다. 이 정도로 수익률이 높게 나오면 슬리피지도 극복이 가능하도록 기대할 수 있답니다. 여기까지 따라 하셨다면 이것저것 건드려보면서 이 결과도 충분히 만드실 수 있을 거라고 생각합니다 ㅎㅎ 

 

 다음 시간에는 어떤 방식으로 이렇게 성능을 향상시켰는지에 대해 이야기하고 개선된 전략의 성능을 통계적으로 평가해보도록 하겠습니다 :)