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

리밸런싱 문의(매수후 보유) 등

칸트 2021.12.29 19:58 조회수  243 추천 1


리밸런싱을 하지 않고 바이 앤 홀딩을 스크립트에서 어떻게 해야 할까요.

리밸런싱(연간, 분기, 월간 등)은 예시들이 있어 따라할 수가 있는데

도움말과 전략게시판, 자유게시판 검색을 하였는데, 잘 찾지 못하거나 응용이 미숙합니다.


간단한 함수를 만들어 넣어보고 실제 결과값(하.. 로그 디버그 ㅋㅋ)을 해보았는데요.

구문을 잘 짠건지, 확인을 하며 수정해 가니 초보로서 배우는 맛도 있었습니다.

많은 분들의 도움 덕분입니다. 고맙습니다.


시총 구분 없이 매월 리밸런싱을 할 때에,

(다른 분들도 해보셨지만) 손익계산서 지표(매출, 영업이익, 당기순이익 등)는 연환산(최근 4분기)이 의외로 안 좋네요.

연율화(최근 분기*4)가 훨씬 더 나았습니다. -저로선 직관의 함정이었습니다.

또 소포클레스님의 성장성 지표 게시글(981번글)을 보고는 따라 해보았습니다.

팬더믹으로 인한 20년 3월을 기점으로 전/후 1년을 비교해 보았는데-해당 지표들이 시장 특이점으로 인해 변화되는지를-

짧은 두 구간의 공통적인게 YoY당기순이익증가율과 PIR(영업이익증가/시가총액)이 좋았습니다.

좋은 지표를 소개해주셔서 고맙습니다.


저는 개별기업에 투자하는데요. 제 기업 투자기준에 맞는 것을 몇 가지 지표로 만들어 구현해보니, 퀀트에서는 효과가 그렇게 나오지 않았습니다.

(리밸런싱이 있어서 그런건가 싶기도 하고.. 보통 1년 이상 보유하니까요.)

다른 세상을 접하고, 마구잡이로 공부하고 있지만 아직 응용단계에도 도달하지 못했습니다. 쌓이다 보면 언젠가 저만의 전략을 짜볼 수 있겠죠.

하여튼 이러한 툴을 만드신 인텔리퀀트, 소포클레스님 등 많은 유저분들께 고맙습니다.

(그러고 보니 요즘 프로핏님이 보이지 않으시네요.)


댓글 4
매수 상태를 확인할 변수를 만들어서 매수상태 일때 리벨런싱을 안하게 하면 되지 않을까요?
잃지않기 2021.12.31 12:48
안녕하세요. 칸트님 
바이 앤 홀딩을 스크립트를 보내드립니다.
먼저 initialize 함수에서 모든 addRebalSchedule 함수를 삭제하시고  마지막에 아래의 스크립트를 추가하세요.
    IQDate.addRebalSchedule(IQDate.setYearly(12, 1)); // 리밸런싱 주기를 매년 12월 1일로 설정    

그리고 onDayClose 함수의 첫 부분을 아래와 같이 하시면 됩니다.
function onDayClose(now) {
    var thisYear = IQIndex.getIndex("001").getDate(0).getFullYear() ;
    if ( isFirst === true || (IQDate.isRebalancingDay(now) &&  thisYear % 3 === 0)) {
      ...중간생략
    }
}

여기서 핵심은 thisYear % 3 === 0 부분입니다. 3년에 한번 리발란싱 하는 예제입니다. % 3을 % 5로 바꾸시면 5년에 한번 12월 1일에 리발란싱 합니다.

만약 리발란싱 없이 바이 앤 홀딩을 영구적으로 하시려면 % 3을 % 100으로 바꾸시면 됩니다.
자바스크립트에서 %는 몫을 구하는 함수입니다.
감사합니다.
소포클레스 2022.01.03 15:39
소포클레스님 고맙습니다. 잘 되네요. ^^
한국장(지수)의 특성인지, 시클리컬이 많아서 그런지 몰라도 바이앤홀드는 안 좋게 나오네요.
월간과 연간은 큰 차이가 없고.. i/s는 대략 감이 오네요. b/s도 크게 다를바 없을 것 같지만 해봐야겠네요.
잃지않기님도 고맙습니다. ^^
칸트 2022.01.03 20:45
결과가 좋지 않으니 안타깝습니다. 하지만 앞으로 좋은 전략을 발견하실거라고 생각합니다.
소포클레스 2022.01.07 11:13
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글