안녕하세요.
실제 알고리즘이 동작하는 시점에서는 종목으로 필터링 되지 않던 에이아이비트(A039230) 종목이, 상장 폐지된 현재 시점에서 테스트를 돌려보면,
종목 필터링이 되지 않으면서 과거의 실제 상황과 일치하지 않게 됩니다.
이 오류가 발생한건, manage 8번(정리매매) 번호가 추가되면서 부터로 보이는데요.
이 문제는 IQLive의 차트에도 영향을 미치고 있는것으로 보입니다. 금요일(22일 장마감 후) 시점의 그래프와 현재(23일) 시점의 그래프가 다릅니다.
23일 이후로는 주식시장이 열리지 않았으니, 주가데이터는 22일시점의 데이터 그대로일텐데 말이죠..
확인 부탁드립니다.
참고로, 가장 좋은 필터링 조건식 방법은 if (stock.manage & 1) { return false; } 와 같이 비트연산을 사용하시는 것이 좋습니다. 이렇게 하면 8이라는 정리매매 정보가 추가되어 해당종목의 manage = 9가 되더라도, 비트연산으로는 2진수로 1의 자리에 해당하는 값(관리종목 여부)이 0인지 1인지 정확히 파악할 수 있습니다.