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

팩터 계산 방법에 대한 질문

양석우 2021.11.09 21:33 조회수  351 추천 0

일단위로 제공되는 데이터(ex. 주식수, 시총, ..)와 분기별로 제공되는 데이터(ex. 매출액, 순이익, ..)를 가지고 팩터를 계산할 때 어떻게 해야할까요?

예를들어 분기별 리밸런싱하는 전략에서 "최근4분기 연환산 EPS의 전년동기시점 연환산 EPS대비 증가율"을 계산하고싶습니다.

현재분기의 EPS는 stock.getFundamentalNetProfit() / stock.getNoOfShare() 로 계산가능할텐데, 최근4분기 연환산 EPS의 계산을 위해 최근 4개 분기의 EPS값을 구해서 모두 더하려고 하는데, 최근 4개분기의 EPS값을 계산하려면 어찌해야하나요?


현재 대략 아래와 같은 코드로 계산을 해보았으나 적절하지 않은 계산인것 같아 질문드립니다.

for(var i = 0; i < 4; i++){

        curEPS = curEPS + stock.getFundamentalNetProfit(i) / stock.getNoOfShare(i*90);

}

댓글 4
증좌를 한 주식은 수익률이 매우 좋지 않아서 fscore 에서도 증좌한 주식은 점수를 주지 않습니다. 1년 전(252 영업일: stock.getNoOfShare(252)) 주식수와 오늘의 주식수를 비교하여 같은 것만 골라서 하시면 문제가 해결될것 같습니다. 
소포클레스 2021.11.10 11:50
일단위로 데이터를 제공하는 API의 인덱스값은 단순 날짜가 아니라 영업일 기준인가요? 그럼 getNoOfShare(5)는 딱 1주전 같은요일의 데이터로 보면 되는건가요?
그리고 이 경우에 정확히 전분기 재무제표 업데이트 시점의 EPS를 구하는것은 불가능한가요? 제가 기대하는 것은 
var prevEPS = stock.getFundamentalNetProfit(1) / stock.getNoOfShare(X) 여기서 X에 무엇이 들어가야 정확히 전분기 재무제표 업데이트 시점의 EPS를 구할 수 있는가 입니다.
양석우 2021.11.10 12:26
getNoOfShare(5)는 딱 1주일 전이 아닙니다. 영업일 기준임이기 때문에 오늘이 월요일이면 정확히 저번주 월요일은 아닙니다. 그렇기 때문에 정확히 전분기 재무제표 발표일의 주식수를 알수는 없습니다. 따라서 지난 1년간 증좌를 한 주식은 필터링 해서 제거 할것을 추천드립니다.
소포클레스 2021.11.10 13:27
안녕하세요 양석우 님

재무제표가 반영되는 시기도 4,6,9,12월 초라서 분기당 발표시점이 다르고,
백테스트의 모든 일자는 영업일 기준입니다.
따라서, 현재시점에서 과거 재무제표 업데이트 시점을 정확하게 구하기는 힘들 것 같습니다. 

감사합니다.
푸른주전자 2021.11.10 17:59
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글