검색 결과가 한 건도 없을 때 조건을 느슨하게 만드는 것이 첫 번째 해법일까. 반대로 후보가 수백 개 쏟아지면 필터를 더 붙이는 것으로 문제가 풀릴까. 『조건검색식 디버깅 노트』는 결과의 크기에 반응하기 전에 검색식이 어떤 자료를 어떤 규칙으로 읽었는지 확인하는 순서를 세운다.
출발점은 찾고 싶은 종목상과 실제로 입력한 조건의 차이다. 실시간 값과 종가 확정값, 분봉과 일봉, 수정주가와 전일 기준값을 섞어 놓으면 같은 문장도 다른 대상을 고를 수 있다. 데이터의 기준시각을 고정한 뒤에야 논리 연산과 수치의 의미를 비교할 수 있다는 관점으로 검색창을 다시 들여다본다.
AND와 OR, 괄호와 부정 조건은 후보의 수만 바꾸지 않는다. 결측값을 어떻게 처리하는지, 비율의 분모가 무엇인지, 원과 만 원을 구분했는지에 따라 검색식이 묻는 질문 자체가 달라진다. 거래량·거래대금·시가총액과 기간 조건을 나누어 읽으며 서로를 지우는 필터와 같은 뜻을 반복한 조건을 찾아간다.
수정의 기본 단위는 한 번에 한 조건이다. 바꾸기 전의 자료와 기준을 남기고 예상한 변화와 실제 결과를 대조해야 어느 수정이 영향을 주었는지 설명할 수 있다. 과거의 확정 자료로 잘 맞았던 검색식도 장중 화면에서 같은 방식으로 작동하는지, 신호 뒤 실제 주문이 가능한지 별도로 확인한다.
뒤쪽 장에서는 상장폐지·거래정지 등 표본의 경계, 잘 맞는 기간만 고르는 편향, 과최적화와 반례를 살핀다. 마지막에는 오류 유형별 수정 기록표를 통해 문제 발견, 조건 변경, 재검증, 유지·보류·폐기의 판정을 이어 붙인다. 예제의 합성자료는 성과를 입증하는 수치가 아니라 검산과 재현을 위한 비교 장치다. 검색 대상을 고정하고 바꾸지 않은 조건도 함께 남겨야 수정 전후의 차이를 같은 기준에서 비교할 수 있다.
조건검색을 처음 조립하는 독자와 이유를 모른 채 필터를 고쳐 온 독자가 함께 읽을 수 있다. 책의 목표는 남보다 먼저 종목을 찾아준다는 약속에 있지 않다. 무엇을 바꾸었고 왜 바꾸었으며 어떤 결과가 나오면 다시 물러설지를 자기 기록으로 설명하는 데 필요한 질문을 제공한다.