본문 바로가기
systrader79 칼럼/투자의 기초 (필독)

퀀트 전략의 기초 (5) - 마켓 타이밍 (111)

by systrader79 2021. 8. 27.
반응형

이번에는 지난 포스팅에 이어, 시스템 트레이딩의 universal 한 진입과 청산의 원칙에 입각하여 마켓 타이밍 전략을 더 개선시켜보겠습니다.

1. 진입과 청산의 핵심 원칙

* 시스템 트레이딩에서 철칙으로 여겨지는 universal 한 진입과 청산의 핵심 원칙이 있습니다. 이 원칙은, 전략의 형태나 원리와 무관하게 적용되어야 하는 아주 중요한 원칙인데요, 이 원칙에 입각하여 전략을 디자인하면, 그렇지 않은 경우에 비해 성과는 반드시 향상되게 되어 있습니다. 그 정도로 중요한 원칙입니다. 이 원칙이 무엇일까요?

 

* 그것은 바로,

진입은 신중하게, 청산은 신속하게

입니다. 즉, 진입은 매우 까다로운 조건을 충족시켰을 때만 신중하게 진입해야 하지만, 빠져나올 때는 조금이라도 수상하면 민감하게 청산해야 한다는 의미입니다.

 

* 이 원리는 어떤 의미에서, 비대칭적인 원리라고 할 수 있습니다. 진입이 신중하면, 청산도 신중하게 하던지, 아니면 청산을 민감하게 하려면 진입도 민감하게 하던지라고 생각할 수가 있겠지만, 사실은 그렇지 않다는 것이지요.

 

* 손실을 보는 대부분의 투자자들은 무의식적으로 이 개념을 무시하거나 정반대로 투자하는 경향을 보입니다. 매수를 할 때는 아주 즉흥적으로 하지요. 종목에 대한 분석, 리스크 관리에 대한 사전 계획, 매수와 매도의 계획에 대한 심사숙고 없이 그냥 코스닥이 불기둥을 뽑으면 그냥 질러버립니다.

 

* 하지만, 정작 시장에서 빠져나와야 할 때는 칼같이 빠져나오지 못하고 오히려 반대로 극도로 신중하게 접근을 하게 되지요. 잡주에 물타기 하다가 대주주 된 후, 상폐를 맞았다는 주식 게시판의 비극이 바로 여기서 비롯되는 것입니다.

 

* 명심하십시오. '진입은 신중히, 청산은 칼같이' , 바꾸어 말하면, '진입조건은 까다롭게, 청산 조건은 민감하게' 라는 원칙을 기억하시고, 여러분의 트레이딩에 적용해보시면, 엄청난 성과의 향상이 있을 것입니다.

2. 마켓 타이밍 전략 적용

* 지난 포스팅에서 살펴 본 low PER 포트폴리오의 마켓 타이밍 전략을 색다르게 조합하여 테스트해보겠습니다. 방법은 다음과 같습니다.

 

* 진입 조건 : A and B / 청산 조건 : A or B

  • A : 코스피 종가 > 코스피 20일 이동 평균선
  • B : 코스닥 종가 > 코스닥 10일 이동 평균선

 진입을 할 때는 코스피와 코스닥 모두 이동 평균선 위에 있어야 하지만 (조건을 엄격하게 적용), 빠져 나올 때는 2가지 조건 중 하나만 충족되어도 빠져 나오는 시스템입니다. 즉, 장이 확실하게 좋을 때 신중하게 매수하되, 장이 조금이라도 안좋으면 신속하게 매도하라는 의미이지요.

 

* 결과는 다음과 같습니다. 기존의 결과와 비교하면 성과가 훨씬 더 개선된 것을 볼 수 있지요? 2008년 금융 위기, 2020년 코로나 구간까지 포함했음에도 불구하고, MDD 가 10%도 안되는 것을 볼 수 있습니다.

 

3. 고찰

* 지금 살펴 본 마켓 타이밍 전략은, 엄청나게 단순한 전략입니다. 코스피가 20일이면 코스닥도 20일이어야 하지 않냐? 코스닥이 10일이면 코스피도 10일이어야 하지 않냐? 라는 의문을 제기하실 수도 있습니다. 맞습니다. 이 전략은 그냥 제가 일부러 아무런 최적화 없이 만든 전략입니다.

 

* 그럼에도 불구하고, 시스템 트레이딩의 철직에 입각하여 전략을 디자인했더니 시너지 효과가 난 것을 확인할 수 있었지요? 여러분들도 이제 이 원리에 입각해서 한 번 단순한 마켓 타이밍 전략을 이리 저리 테스트해보시기 바랍니다. 간단한 방법으로 제안을 드리면,

  • 코스피 20일 대신 10일로 동일하게 교체하고 테스트
  • 코스닥 10일 대신 20일로 동일하게 교체하고 테스트
  • 진입과 청산의 주기를 비대칭적으로 테스트 : 진입 조건의 기간은 길게, 청산 조건의 기간은 짧게 (ex : 코스피, 코스닥 진입시 20일 조건, 청산시 10일 조건)

극도로 단순한 이동 평균선 만으로도 이렇게 다양한 테스트를 할 수 있습니다.

* 마켓 타이밍이나 기술적 트레이딩이 가미되는 것을 극도로 싫어하는 분들은 또 이런 알레르기 반응을 보일 수도 있겠습니다만,

야, 야, 야! 너 또 지금 이리저리 수치를 변화시키면서, 과최적화하려는 거 아니야?

 

오히려, 정 반대로 얘기하고 싶습니다.
수치를 아무리 이리저리 바꿔도 단순 바이앤 홀딩에 비해 성과가 훨씬 향상되는 것을 볼 수 있으니, 그 어떤 마켓 타이밍 전략을 써도 안 쓴 것보다는 구조적으로 나을 수 밖에 없음을 확인하는 것이죠.

  • 과최적화를 하는 것이 아니라 오히려 과최적화를 배제하는 과정이라고 할 수 있습니다. 이런 과정을 통해서 여러분이 선택한 전략이, 최고의 성과를 보이는 전략이건, 그저 무난하게 우상향하는 전략이건 상관없이, 전략이 구조적인 원리에 입각하여 개선되었음을 백테스팅으로 확인했다는 것이 중요합니다.
  • 바로 이것이 백테스팅의 궁극적인 목적이라고 할 수 있습니다. 과최적화를 하기 위함이 아니라, 논리에 입각한 전략의 성과 개선이 내 예상대로 나왔음을 확인하는 것이지요. 이것이 확인된다면, 이는 과최적화가 아닌 로버스트한 최적화 과정임을 입증하는 것입니다.

제가 추천드린 방식으로 다양한 방식으로 여러분만의 마켓 타이밍 전략을 만들어보시고, 카페 게시판에서 자유롭게 토론하면 좋겠습니다~

반응형

댓글3

  • Favicon of https://samramansang.tistory.com BlogIcon 2021.09.06 23:21 신고

    이런 심플한 로직이야말로 과최적화를 배제하기 위한 최선의 방법이라 생각합니다.!
    답글

  • Favicon of https://paramid.tistory.com BlogIcon 파라미도 2021.09.14 14:33 신고

    얼마전에 주식과 퀀트에 관심을 가지고 systrader79님의 카페와 블로그를 오가며 열심히 공부중입니다.
    좋은정보 알려주셔서 정말 감사합니다.
    답글

  • vics 2021.09.15 14:56

    흥미롭네요. 매도포지션을 취해야할 때 보유 주식은 유지하고 인버스etf로 헷징을 하는 전략은 어떨까요?
    답글