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

NaN 또는 Infinty 관련

최준성 2021.10.11 23:10 조회수  123 추천 0

안녕하세요


제가 함수를 직접 만들어서 종목에 대한 정보를 뽑아올때요/.


가끔 Nan이나 Infinity 결과가 나오는 경우가 있더라고요

이런애들을 걸러서 제거하고 싶은데


예를들어

if(my_func(stock)===undefined){return false;}

이런식으로 걸어놔도 제거가 안돼더라고요


Nan이나 Infinity 를 체크할 수 있는 isNan() 같은 함수는 없는지요


감사합니다.

댓글 4
isNaN()는 잘 동작하네요.
Europa 2021.10.12 14:00
```function nanChecker(stock) {
    return 10 / 0;
}


// 4) 포트폴리오 빌더 함수 정의 - 필터링 및 팩터 기반 종목 선정
function stockPortfolioBuilder(targetSize) {
    var universe = IQStock.filter(stockFilter);
    var sortedByPer = universe.slice().sort(function(a,b){return getPER(a) - getPER(b);}); 
    
    var target_stocks = sortedByPer.slice(0, targetSize);
    for (var i = 0; i < target_stocks.length; ++i) {
        var stock = target_stocks[i];
        var result = nanChecker(stock);
        logger.info(result);
        if (isNaN(nanChecker(stock)) || !isFinite(nanChecker(stock))) {
            logger.info("!!!!! NaN detected!" + result);
            break;
        }
    }
    return target_stocks; 
}```
Europa 2021.10.12 14:24
감사합니다.!
작성해주신대로 하니 잘 되네요~
최준성 2021.10.12 23:34
유로파님,
```function nanChecker(stock) {
    return 10 / 0;
}
이 부분은 2.팩터지표 함수 정의에 들어가는 것인가요? 아니면 3.필터링 함수 정의에 들어가는 것인가요?
칸트 2021.12.15 18:27
댓글 등록을 위해서 로그인해주세요.
 
최신 게시글