코스닥 종가 베팅 (overnight position) 백테스트

2 minute read

코스닥 ETF 종가 베팅을 youtube에서 알게 됐다. 연복리수익률(CAGR)이 16%, 최대낙폭(MDD)이 -16%라고 들어서 괜찮은 전략이라 생각했다. 자동 매매 프로그램을 짜기 전에 백테스트를 직접 해서 검증하려고 한다.

종가 베팅(overnight position)이란?

장이 마감하기 전에 주식을 산다. 다음 장이 열리자마자 판다. 아침에는 주식이 오를 거란 기대감으로 주식을 사고 저녁에는 내일은 더 떨어질 거라는 절망감에 판다. 반대로 행동해서 수익을 취하는 전략이다. 아침에 기대감으로 비싼 주식을 사는 투자자들에게 팔고 저녁에는 실망해서 싼 가격에 주식을 산다.

주식 시장이 열리지 않을 때만 보유하는 시니컬한 전략이다. 영어로는 overnight position이라 부르는 것 같다.

백테스트 결과 CAGR, MDD

[2015-10-01 Thu]–[2023-09-30 Sat] 8년간의 데이터로 백테스트했다. 데이터는 investing.com에서 받았다. 데이터 정제는 ’백테스트에 사용할 investing 주식 데이터 정제(data cleansing)’ 글을 참고한다.

코로나19로 인한 2020년 주가 대폭락(2020 stock market crash)을 회색으로 표시했다. 주가 그래프부터 살펴보자.

nil

안타깝게도 박스권이다. 아름다운 우상향 그래프가 아니다.

연복리수익률(Compound Annual Growth Rate, CAGR)을 구하려면 누적 수익률(cumulative return)을 먼저 구해야한다. 구하고 그래프를 그려봤다.

nil

최고는 2.026859498180219 이다. 1을 투자했을 때, 기준이므로 2배가 약간 넘는다. 마지막 값은 1.7852043206435881 이다. 8년간 투자 기준으로 계산해야 하기에 이 값으로. CAGR을 계산한다. 이제 CAGR을 구해보자.

1.7852043206435881 ^ (1/8) - 1 = 0.07513002661

CAGR은 7%가 나온다.

연도별 누적 수익률은 어떻게 나올까?

year cumulative return
2015 0.08055180471379031
2016 0.20171296494133073
2017 0.2692987191516574
2018 -0.1107918469929483
2019 0.11313801844032634
2020 0.22415046794137594
2021 -0.024917466977072422
2022 -0.14188185932337183
2023 0.06832165790409439

nil

한해 데이터가 모두 쌓이지 않은 2015년과 2023년을 제외한다면 4번 이익을 보고 3번 손해를 본다. 특히 14% 손실이 나는 2022년에 이 전략을 믿고 계속 투자할 수 있을까 의문이 든다.

이제 MDD(Maximum Drawdown)를 확인해 보자.

nil

MDD는 약 -21%가 나온다.

연도별 MDD를 구해보자.

year MDD
2015 -0.040020934767421405
2016 -0.049775739677225206
2017 -0.032231544386349474
2018 -0.17053996843196179
2019 -0.09040057866208501
2020 -0.15225001541206515
2021 -0.10075974493438535
2022 -0.18168425565777752
2023 -0.0595799976192331

nil

2022년에 -18까지 떨어진다.

왜 이렇게 차이가 나는 걸까? 연복리수익률(CAGR)이 16%, 최대낙폭(MDD)이 -16%라고 했는데 계산 결과 CAGR이 7%, MDD가 -21%가 나온다.

거래수수료를 빼고 계산하면 저렇게 나온다.

거래수수료 계산은 중요하다

거래 수수료는 0.0003으로 계산했다. 살 때와 팔 때의 수수료인 0.015%를 2로 곱한 값이다. Kodex 코스닥150(229200)로 백테스트했기에 증권거래세 0.20%는 제외했다.

주식 개장하는 날마다 매수와 매도를 한다. 즉 매일 거래를 두 번 한다. 백테스트에서 거래 횟수는 2000번 정도로 빈번하다. 이런 주식 매매 전략에서는 거래수수료 계산이 반드시 들어가야 한다. 거래수수료가 들어가 있지 않다면 결과를 의심해 봐야 한다.

거래수수료를 빼고 CAGR과 MDD를 계산해 보자.

nil

3.220027864898258 ^ (1/8) - 1 = 0.15739727027

마지막 날 누적 수익률은 222% 이며 CAGR은 약 16%가 나온다.

nil

MDD도 -16%로 나온다.

거래 수수료를 넣고 계산하면 CAGR이 16%에서 7%로 떨어지고 MDD도 -16%에서 -22%로 떨어진다. 거래 빈도가 높은 전략일수록 그 차이가 확연하다.

수익률이 안 좋은 특정 요일을 빼고 투자한다면?

목요일과 금요일을 뺀 월화수 수익률이 좋다는 걸 보고 백테스트을 해봤다.

nil

1이 월요일, 5가 금요일이다. 맞다. 월화수가 좋고 목금이 안 좋다.

nil

누적 수익률이 2.0530234146439525이 나온다. 1.7852043206435881 보다 좋아졌다.

2.0530234146439525 ^ (1/8) - 1 = 0.09408039979

CAGR은 9%로 훨씬 더 좋아졌다.

nil

MDD도 -13%로 훨씬 더 낮아졌다.

코스닥 종가 베팅을 한다면 월화수만 투자하는 게 훨씬 더 유리하다.

마치며

장이 열려있는 동안에는 주식을 보유하지 않는 시니컬한 전략인 코스닥 종가 베팅 백테스트를 했다. 거래 수수료를 계산에 넣지 않으면 CAGR이 16%, MDD는 -16가 나온다. 하지만 거래 수수료를 넣어서 계산하면 CAGR이 7%, MDD가 -21%가 나온다. 2000번 정도의 거래가 일어나기에 거래 수수료를 빼고 계산하는 건 말이 안 된다. 월화수만 거래하면 CAGR이 9%, MDD가 -13%로 훨씬 더 좋아진다. 만약 코스닥 종가 베팅을 한다면 월화수에만 종가에 주식을 사서 다음 장이 열리면 파는 전략을 취할 계획이다.