커뮤니티
내가 만든 정보와 전략들을 공유하고 토론합니다.
(블록 알고리즘) 퀀트전략 7개 (2015년 ~ 2020년) 살펴보기
Chris 2020.03.06 18:26 조회수  2712 추천 9

강환국의 '할수있다 퀀트투자'에 소개된 전략들을 블록알고리즘으로 테스트하며 전략토론방에 꽤 많은 글을 공유하였습니다.

블록 알고리즘을 만드는 실력도 꽤 늘었구요.

그래서 마지막으로 그 동안 게시한 글들을 살펴보면서 총정리를 해 보았습니다.


저의 주관적인 기준으로 테스트하였기 때문에,

전략은 '할수있다 퀀트투자'에서 가져왔지만 테스트한 조건들은 다릅니다.


총정리 테스트에 적용한 조건은 아래와 같습니다.

1. 거래수수료: 0.15%

2. 거래세: 0.3%

3. 거래가격 가정: 익일평균가

4. 투자비중: 0.9

5. 거래기간: 2015년 4월 1일 ~ 2020년 3월 4일 (최근 5년)

6. 리밸런싱: 분기 리밸런싱 (4월 1일 // 6월 1일// 9월 1일 // 12월 1일)

7. 초기투자금액: 1000만원

조건을 최대한 실제 거래와 비슷하게 하려고 노력하였습니다.


테스트는, 소형주를 기본으로 하였습니다.

"소형주 + 각 전략별 적용지표"

이렇게 보시면 되겠습니다.


아래는 테스트 결과입니다.

 

가장 높은 수익률은,

(소형주 + GP/A + F-스코어) 전략으로, 2015년 4월 1일 부터 2020년 3월 4일까지 약 5년 동안의 연평균 수익률이 53.40% 였습니다.

최근 5년 동안 그 어떤 전략보다도 2배 높은 수익률을 보인다는 점이 아주 인상적이였습니다.


이 테이블에 정리된 테스트들은 가장 좋은 수익률을 찾기위해 만든 것이 아닙니다.

종목수에 따른 수익률을 비교하기 위해 테스트한 것입니다.

1. 소형주 + 저 PBR 전략, 신마법공식 --> 30개 종목

2. 파마 + LSV 콤보 전략, 슈퍼가치전략, F-스코어 전략, 슈퍼퀄리티 전략 --> 10개 종목

3. 짬뽕 전략 --> 20개 종목

이렇게 가장 좋은 수익률을 기록한 종목수가 다릅니다.

결과에서 보면 알 수 있듯이 몇개의 종목이 가장 적절한지에 대한 명확한 답을 구할 수는 없었습니다.

"몇개의 종목으로 포트폴리오를 구성하는 것이 가장 적절한가?"에 대한 저의 답은

"전략에 따라 그리고 운용기간에 따라 다르다"입니다.

즉, 제 생각으로는 무엇인가를 예측할 수 있을 만한 패턴이 보이지 않기때문에,

과거의 테스트 데이터를 가지고 미래에 가장 적절한 운용 종목수를 구한다는 것은 불가능해 보입니다.


이번에는, 리밸런싱 주기에 따른 수익률 그리고 거래비용을 살펴보도록 하겠습니다.

 

"파마 + LSV 콤보 전략", "슈퍼가치전략"은 거래비용에도 불구하고 분기 리밸런싱때 보다 주밸런싱과 월밸런싱에서 좋은 수익률을 보여 주었습니다.

대부분 분기 밸런싱을 하는 것이 가장 효과적인 수익률을 기록하였습니다.

일년으로 리밸런싱을 하는 것보다 분기로 리밸런싱을 하는 것이 수익률의 개선 효과가 아주 크게 나타나서,

일년으로 테스트한 결과는 따로 정리하지는 않았습니다.


위의 테스트 결과를 보면 알 수 있듯 리밸런싱의 주기가 짧을 수록 거래에 들어가는 비용이 크게 늘어나는 것을 확인 할 수 있습니다.

저는 조심스럽게 "포트폴리오를 분기로 리밸런싱하는 것이 가장 효율적이다" 라고 말씀 드리고 싶습니다.

왜냐하면 리밸런싱을 하면서 종목을 교체하는 수고스러움 (시간과 노동의 투입), 리밸런싱을 하면서 종목을 교체하는 금전적비용 (수익률 감소) 등을 생각해 본다면, 분기 리밸런싱이 가장 효율적이기 때문입니다.


마지막으로 몇가지 저의 호기심에 테스트한 결과를 같이 공유합니다.

흥미롭게 봐주시면 좋겠습니다.


위의 7가지 전략을 모두 한 포트폴리오에 구성하여,

1. 7개의 동일비중

2. 7개 전략의 수익률에 따른 비중

위 두가지 조건에 따라 다르게 적용하여 테스트 한 결과입니다.


7개전략_동일비중_2015년 4월_2020년 3월_수익률그래프_분기리밸런싱

 


7개전략_수익률비중_2015년 4월_2020년 3월_수익률그래프_분기리밸런싱

 


7개전략_동일비중_2015년 4월_2020년 3월_성과지표_분기리밸런싱

 

7개전략_수익률비중_2015년 4월_2020년 3월_성과지표_분기리밸런싱

  


수익률이 각각 29.62% // 34.51% 입니다.

수익률에 따른 투자비중은,

수익률에 따른 투자비중 = (전략수익률 / 7개 전략 총수익률) - 0.01

을 사용하였습니다. 

 

7가지 전략들을 블록알고리즘으로 테스트 하면서 느낀 것은 아주 흥미롭고 재미있는 작업이였다는 것입니다.

엑셀로 테스트 할때는 힘들고 시도조차 생각지도 못했던 것이였는데 블록으로 만들어 놓고 몇가지 조건만 바꾸어 가며 시물레이션을 할 수 있다는 것이 매우 편리했습니다.

많은 분들이 여러가지 블록을 만드셔서 같이 공유해 주시면 좋을 것 같습니다.


결국 최후의 승자는 슈퍼 퀄리티 (소형주 + GP/A + F스코어)_10종목_분기리밸런싱 이 연평균수익률 53.40% 으로 우승하였습니다.

감사합니다.

댓글 11
감사합니다! 많은 도움이 되네요.
저도 리밸런싱 주기에 대한 고민이 많았는데  분기 리밸런싱이 괜찮은거 같네요.
TEO 2020.03.10 00:26
정말 궁금했던 내용들인데 너무도 감사드립니다. 
분기 리밸런싱이라하셨는데 4,6,9,12월 로 정하신 이유가 따로 있으신가요? 정확히 4개월 단위가 아닌것도 궁금하네요. 
rason 2020.03.16 07:36
인텔리퀀트의 재무데이터의 확정 업데이트가 3/31, 5/31, 8/31, 11/30 에 실행되어서, 가장 최근 재무데이터를 사용하기 위해서 4/1, 6/1, 9/1, 12/1 이렇게 리밸런싱을 하였습니다.
Chris 2020.03.16 14:35
답변 감사합니다^^ Chris님 글과 알고리즘은 다 챙겨보고 있습니다. 항상 감사드립니다.
rason 2020.03.16 22:57
분기 리밸런싱은 어떻게 수행하는 건가요? 년 또는 월 밖에 못찾겠어서...
Devourer 2020.03.17 10:33
위에 알고리즘 누르셔서 블록만든 것을 확인해 보시면 잘 아실 수 있는데요, 리스트 블록에 분기 리밸런싱을 수행할 날을 지정해서 블록을 만들었습니다.

캡쳐화면이 댓글에 등록이 되면 쉽게 보여드릴텐데, 알고리즘 누르셔서 블록 확인해 보세요^^
Chris 2020.03.17 10:45
좋은글 올려주셔서 감사합니다.
거래세를 0.15%로 잡으셨는데 소형주임을 감안하면 너무 낮다고 생각합니다.
과거글과 정리글에서 연평균 수익률이 많이 차이나는데 이유가 궁금합니다.
루아흐 2020.03.19 08:32
거래수수료를 말씀하시는 것이지요?
거래수수료를 0.15%는 실제 거래수수료와 비슷하게 설정한 것입니다. 블록알고리즘의 디폴트 값이기도 하구요. 너무 낮은건가요?
Chris 2020.03.19 09:10
과거글과 정리글에서 연평균수익률이 차이가 나는 것은 테스트조건이 다르기 때문입니다.
살펴보시면 아시겠지만, 거래수수료, 테스트기간, 리밸런싱주기 등이 다릅니다.
Chris 2020.03.19 09:13
이제 처음해보려는데 신기하네요! 열심히 하겠습니다.
채 미 2020.06.14 21:04
강환국 님 유튜브 보고 퀀트 투자 찾다가 chris님 글 많이 보았어요 감사합니다!
튀김땅콩 2020.11.08 07:55
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글