커뮤니티
내가 만든 전략들과 지식을 공유하고 토론합니다.

koa55님의 전략 "평균모멘텀스코어_시즈널리티" 을 변형해 보았습니다.

푸른주전자 2020.01.22 18:37 조회수  1323 추천 4

안녕하세요 푸른주전자입니다.


아래 koa55님의 글 "(블록알고리즘) 평균모멘텀스코어, 시즈널리티를 반영한 [저변동+모멘텀+벨류] 포트폴리오"  에서 공유해주신 알고리즘을 조금 변형해 보았습니다.


먼저, 평균 모멘텀 스코어를 12개월+3개월 합산으로 하여 자연스럽게 최근월에 좀더 비중이 가도록 변형하였습니다.

그리고,  portfolio1 에서 사용자 필터 12개월, 1개월 모멘텀을 12개월, 3개월 모멘텀으로 조정하고, 사용자 정의 지표에서 (볼린저 밴드 상단 - 중앙값)을 (볼린저 밴드 상단 / 하단) 로 바꾸었습니다.

portfolio2 에서 ETF종목을 국채10년 레버리지로 바꾸면서 3개월 모멘텀 필터를 추가 하였습니다.


나머지 부분은 koa55님께서 작성하신 알고리즘 그대로 입니다.



테스트는 2009-07-01 ~ 2020-01-22, 1000만원 기준입니다

수익률 : 726.50%

CAGR : 22.43%

표준편차 : 10.67%

MDD : 10.76%

샤프지수 : 1.71


성과지표는 상당히 만족스럽지만, 2015년 11월에 수익률이 너무 갑작스럽게 올라 좀더 확인이 필요할 것 같습니다.


전략 공유해주신 koa55님 감사합니다. 


======================================================================


볼린저밴드 기간(240)안에 신규 상장된 종목들이 잘 못된 값이 나와 문제를 해결하고자 "수정주가(240) > 0" 사용자 필터 추가후 


수익률 : 639.78%

CAGR : 21.14%

표준편차 : 10.74%

MDD : 11.61%

샤프지수 : 1.60




댓글 5
감사합니다!  성과가 많이 개선되었네요.
앞으로도 좋은 전략 공유하도록 노력하겠습니다 ^~^
koa55 2020.01.22 19:01
사용자정의 지표가 "상단밴드/중앙"이 아닌 "상단밴드/하단밴드"으로 되어있는데 의도하신 건가용?
koa55 2020.01.22 19:14
koa55님 답변이 늦어 죄송합니다. ^^

밴드 폭 전체의 값을 측정하고자 상단밴드/중앙이 아닌 상단밴드/하단밴드로 변경하였습니다.
푸른주전자 2020.01.23 08:34
koa55님

사실 상단밴드/중앙 이나 상단밴드/하단밴드 이나 순서를 따지기에 영향이 없을 것으로 생각 되었으나 막상 테스트 해보니 수익률 차이가 많이 나서, 블록을 스크립트로 변환하고 로그를 찍어 보니 블린저밴드 계산시 period(240) 안에 신규 상장된 종목들이 잘 못 계산되고 있었습니다.

신규 상장된 종목이
upper = 240이평 + 1*시그마 
middle = 240이평  => 이평값이 아주 작은 값으로 잘 못 나옴
lower = 240이평 - 1*시그마 => 마이너스 값 돌출
확인하였습니다

따라서, 알고리즘에서 portfolio1 부분에 사용자 필터 "수정종가(240) > 0" 추가하였습니다.
푸른주전자 2020.01.23 10:23
그런 문제가 있었군요. 앞으로 알고리즘 짤 때도 고려하도록 하겠습니다. 감사합니다!
koa55 2020.01.23 16:28
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글