본문 바로가기
시스템트레이딩

백테스트 시 포함해야 할 적절한 과거 데이터의 양은?

by 오늘밤날다 2022. 9. 28.

 

충분한 거래 횟수를 확보할 수 있을 만큼의 과거 데이터를 포함해야 한다

 

많은 삽질을 경험해가면서 내가 내린 나에게 맞는 결론이다. 충분한 거래 횟수라는 것이 어느 정도를 의미하는 것인가에 대해서는 전략마다 다르지만 분봉이나 틱 차트를 이용하는 트레이딩 전략을 구상한다고 가정했을 때 약 3~4년의 기간 동안 연간 약 100회가량의 거래 횟수 정도는 확보할 수 있어야 하며 그 결과로 만들어지는 수익 곡선이 충분히 안정적이어야만 실전에 투입했을 때 계좌의 변동성을 감내할 수 있지 않을까 한다. 물론 이러한 기간과 거래 횟수는 나라는 사람의 투자성향과 전략에 맞는 방법이라서 결국은 사람마다 다를 수밖에 없을 것이다.

 

 

여러 가지 전략들을 만들어보면서 어느 순간 짧은 기간의 최근 데이터를 가지고 백테스트하는 것이 수익이 더 극대화된다는 것을 알게 되었다. 이 사실을 알게 된 것이 나에게는 엄청난 독이 되었는데 수익을 극대화하려는 탐욕스러운 마음에 독을 마시고 있다는 사실을 외면했고 많은 시간이 지난 후에야 비로소 무언가 잘못되고 있다는 것을 알게 되었다.

 

 

 

나의 이런 탐욕이 극한까지 치솟았던 것은 작년말이었다. 실험적으로 모든 트레이딩 전략들을 직전 6개월 데이터로 최적화한 후에 1개월가량 운영해 보기로 했고 결심하게 되기까지의 과정을 글로도 남겼다 (2021.12.01 - [시스템트레이딩] - 최적화기간에 대한 고민). 그렇게 바꾼 전략들의 진입과 청산은 실전에서 이전과는 달리 매우 이질적인 기분이었다. 이해할 수 없는 시점에서 진입하고 청산하는 행위를 반복했고 결국 2주 만에 모든 전략들의 파라미터를 원래대로 복구했다. 이후 여러가지 방법들로 전진 최적화를 해봤고 6개월 기간 최적화를 접은 것은 옳은 선택이었다는 걸 알게 됐다. 너무나 적은 기간 동안의 샘플만이 확보된 상황이라 변화무쌍한 시장이 보여주는 다양한 패턴들에는 무참히 깨질 수밖에 없었다.

 

 

작년 말에 실험했던 결과물 중 하나다. 왜 모니터링도 아니고 실제 계좌를 걸고 그런 도박을 했는지 지금 생각해도 이해가 되지 않는다. 아마 그것 또한 지나친 탐욕이 불러온 참사가 아니었을까?

과거 6개월 기간 최적화 적용 전략의 최후

 

 

여담이지만 직전 6개월 데이터 이외에도 12개월, 18개월, 24개월 데이터 등 여러 가지 실험을 해봤다. 거래빈도에 따라 다르지만 내가 보유한 전략들은 24개월로도 조금 부족한 느낌이었고 36개월 정도는 되어야 어느 정도 만족할만한 결과가 나왔다. 36개월이라서 최적이라기보다는 충분한 샘플수, 거래빈도를 확보하게 되는 시점이 그 정도가 아니었을까 싶다. 

 

 

 

 

 

 

이놈을 살려? 말어?

 

전략1의 백테스트 결과 (2017~)

 

이런 기준에 따라서 전략들을 대부분 정리했는데 유일하게 살아남아있는 전략이다. 실은 워낙 거래가 없어서 까마득하게 잊고 있었다. 이 전략은 백테스트 상 5년 9개월 동안 217번의 거래, 수익 곡선도 우상향 하는 흐름으로 보인다. 다만 여전히 마음 깊숙한 곳에서 이 전략이 과연 미래에도 우상향 하는 흐름을 만들어줄 수 있을까 하는 고민이 남아있다. 더 많은 과거 데이터를 포함할 경우에도 파라미터를 크게 변화시키지 않은 상황에서 수익 곡선이 우상향 해준다면 괜찮지 않을까? 하고 생각했지만...

 

 

전략1의 백테스트 결과 (2011~)

 

더 많은 과거 데이터들을 포함했는데 결과는 좋지 못했다. 어그러진 과거 수익곡선을 우상향 곡선으로 만들기 위해 여러 가지 변수들을 넣어가며 다림질하는 것이 의미 있는 행위일까 하는 의문이 든다. 왜냐하면 여전히 거래 횟수의 밀도가 매우 부족하기 때문에 결국 과최적화로 만들어지는 억지의 우상향 곡선이 될 것 같은 기분이다.

 

 

이런 전략들이 실전에 투입했을 때는 가끔 괜찮은 수익을 내주기도 한다. 매순간 시장은 변화하고 있기 때문에 과거와 현재의 흐름은 다를 수밖에 없으며 최근 시장에 잘 맞는 전략은 분명히 존재한다. 이런 전략들이라도 실전에서 수익 곡선이 무너질 때 재빠르게 비중을 조절하고 어떤 시점에 운영을 중단할지에 대한 계획이 있다면 운 좋게 시장의 흐름과 전략의 성격이 잘 맞아떨어질 때 괜찮은 결과를 낼 수도 있다. 그러나 그 반대의 경우에는 무참하게 수익 곡선이 망가지기 쉽다. 문제는 탐욕이란 놈이 사고를 지배하게 되면 이런 전략에 베팅 비중을 그대로 유지하고 MDD를 깨는 흐름이 나오더라도 쉽사리 포트 아웃을 결정하지 못했다. '최적화 이후 망가짐'을 반복할 때마다 더 최근 수익 곡선을 되살리기 위한 방향으로 최적화를 하게 되는 과정을 쳇바퀴 돌듯이 반복하면서 계좌뿐만 아니라 멘탈도 와르르 무너지는 결과를 낳게 된다.

 

 

 

 

 

 

 

 

방심은 금물

전략2의 백테스트 결과

 

위의 전략은 실제로 꾸준하게 수익을 내주고 있는 전략 중 하나이다. 백테스트에서 5년 9개월 동안 1,127번의 거래횟수를 만들어냈다. 연간 250일의 영업일을 가정하면 총 1,437일 중에서 78%의 영업일에 거래를 참여한다고 볼 수도 있겠다. 이 수준의 밀도라면 내 경험 상 더 많은 과거 데이터를 포함할 필요가 없다. 또한 최적화 시 포함할 과거 기간을 조금 감소시키고 최근 시장의 변동성에 맞게 전략을 업데이트하는 것이 더 좋은 성과를 보일 수도 있다.

 

 

그러나 위 수익곡선은 어느 시점에 다시 최적화를 마친 결과물이고 실제 운영 중에 약 두 달 가까이 심하게 고꾸라지는 흐름을 보였었다. 결국엔 백테스트에서 이러한 높은 거래빈도와 상대적으로 매끄러워 보이는 수익 곡선을 가진 전략도 어느 순간 침체기를 겪고 무너지기도 하기 때문에 언제 비중을 감소시키고 운영을 중단시킬지에 대한 기준은 반드시 필요하다고 생각한다.