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

상장한지 얼마 안된 종목을 걸러내는 방법에 오류가 납니다.

대풍 2019.12.06 19:23 조회수  223 추천 0

function stockFilter1(stock) {

    stock.loadPrevData(3,0,0)                                     // 데이터는 넉넉하게 3년치를 불러왔습니다

    if (stock.getAdjClose(250)===0){  return false }      //  <-------여기서 문제가 발생합니다. 250대신에 300 이상의 숫자를 넣으면 오류가 나네요

return true;

}


function onDayClose(now) {      

var universe = IQStock.filter(stockFilter1);    

logger.debug("상장한지 얼마안된 종목 거른 후 universe 갯수 = " + universe.length); 

return universe;

}


---------------------------------------
위처럼 stockfilter에서, 250일 이전에 종가가 0인 종목은 제외하는 방식으로
상장한지 1년 미만인 종목은 걸러내는 방법을 사용하고자 하는데.

250일도 괜찮고, 260일도 괜찮고, 290일까지도 괜찮은데,
300일째부터 종목 숫자가 0이 나옵니다.

혹시 몰라서    stock.loadPrevData(3,0,0)   도 넉넉하게 3년으로 잡아놓았는데...

이유가 뭔지 모르겠네요...ㅠ
댓글 2
안녕하세요 대풍님

메모리와 테스트 속도 문제로 인해
loadPrevData 에서 과거치를 아무리 많이 로드하더라도
과거치 보유 기간이 300영업일까지로 제한 두고 있습니다.
인텔리퀀트 2019.12.09 10:02
네 감사합니다 ^^
대풍 2019.12.09 11:01
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글