“신고가 근처 종목을 사라”는 말, 한 번쯤 들어보셨을 겁니다.
떨어지는 걸 싸게 줍는 게 상식 같은데, 왜 이미 오른 종목을 사라는 걸까요. 저는 이 방식(오닐·미너비니식 스크리너)을 코드로 만들어 매일 돌리면서, 이게 무엇을 보고 무엇을 못 보는지 알게 됐습니다. 오늘은 그 스크리너가 실제로 걸러내는 네 가지를 풀어보겠습니다.
[30초 요약] 이런 스크리너는 ①52주 신고가에 가까운지 ②시장 대비 강한지(상대강도) ③거래대금이 충분한지 ④추세가 정배열인지, 이 네 가지를 봅니다. 핵심 가정은 “강한 주식이 더 강해진다”는 모멘텀 현상입니다. 다만 이건 후보를 좁히는 도구일 뿐, 사라는 신호가 아닙니다.
왜 떨어진 걸 줍지 않고 오른 걸 볼까
주식시장에는 오래 관찰된 성향이 하나 있습니다. 최근에 강했던 종목이 당분간 더 강한 경향, 이른바 모멘텀입니다. 학계에서도 수십 년간 반복 확인된 현상이라, 근거 없는 격언은 아닙니다.
싸 보이는 하락 종목을 줍는 건 ‘이유가 있어서 떨어지는’ 것을 계속 사게 될 위험이 있습니다. 반대로 신고가 근처 종목은 ‘시장이 인정하고 있는’ 종목이죠. 스크리너는 이 인정받는 쪽에서 후보를 찾습니다.
첫째, 52주 신고가에 얼마나 가까운가
가장 먼저 보는 건 지난 1년 최고가 대비 지금 위치입니다. 고점 대비 -25% 안쪽 같은 식으로 문턱을 둡니다(정확한 값은 제가 쓰는 걸 그대로 공개하진 않습니다).
이유는 단순합니다. 신고가를 새로 뚫는다는 건 그 종목을 들고 있는 사람 중 손실 본 사람이 거의 없다는 뜻입니다. 팔아야 할 이유가 있는 사람이 적으니, 위로 가기가 상대적으로 수월합니다.
둘째, 시장보다 강한가 (상대강도)
두 번째는 상대강도입니다. 이 종목이 오른 게 시장이 다 같이 올라서인지, 시장을 이기고 혼자 강한 건지를 봅니다.
예를 들어 최근 3개월 수익률을 전체 종목과 비교해 백분위를 매깁니다. 상위 30%, 상위 10% 같은 식으로요. 시장이 10% 오를 때 이 종목이 40% 올랐다면, 단순히 파도를 탄 게 아니라 스스로 힘이 있는 겁니다. 스크리너는 이 ‘상대적으로 센’ 쪽만 남깁니다.
셋째와 넷째, 거래대금과 추세 정배열
세 번째는 유동성입니다. 하루 거래대금이 너무 적으면, 신호가 좋아도 내가 사고팔 때 가격이 출렁여서 실전에서 못 씁니다. 그래서 일정 거래대금 이상만 통과시킵니다.
네 번째는 추세가 정배열인지입니다. 단기 이동평균선이 장기 위에 있고, 가격이 그 위에 있는지. 우상향 계단을 밟고 있는 종목만 남기는 필터입니다. 이 네 개를 모두 통과한 종목이 ‘관찰 후보’가 됩니다.
이게 매수 신호는 아닙니다
여기서 오해하면 안 되는 게 있습니다. 스크리너를 통과했다고 사라는 뜻이 절대 아닙니다. 이건 수천 종목을 수십 개로 줄여주는 깔때기일 뿐입니다.
깔때기를 통과한 종목도 대부분은 결국 실패합니다. 신고가를 뚫는 척하다 도로 빠지는 종목이 훨씬 많으니까요. 그래서 이 방식은 개별 종목의 정답이 아니라, “어디를 들여다볼지”를 정하는 출발점으로만 씁니다. 무엇을 사고팔지, 언제 손절할지는 완전히 다른 문제입니다.
자주 묻는 질문
신고가 종목을 사면 고점에 물리는 것 아닌가요? 그럴 수 있습니다. 그래서 신고가 근접은 ‘후보 선정’ 기준이지 ‘매수 확정’이 아닙니다. 실제로는 여기서 뚫고 안착하는지를 더 지켜본 뒤에야 판단합니다. 뚫자마자 사는 게 아닙니다.
상대강도는 어떻게 계산하나요? 가장 쉬운 방식은 일정 기간(예: 3개월) 수익률을 전 종목과 비교해 백분위로 매기는 것입니다. IBD의 RS Rating이 이 개념을 1~99로 표준화한 지표입니다. 절대 수익률이 아니라 ‘순위’라는 점이 핵심입니다.
개인이 이런 스크리너를 직접 만들 수 있나요? 가능합니다. 상장 종목 목록을 받고, 가격 데이터를 내려받아 위 네 조건으로 거르는 정도는 파이썬 기초로 충분합니다. 다만 관리종목 제외나 데이터 정제 같은 실전 함정이 은근히 많습니다.
함께 읽으면 좋은 글
스크리너 결과를 ‘수익 나는 전략’으로 착각하기 전에 꼭 봐야 할 이야기는 백테스트가 거짓말이 되는 이유에 정리했습니다. 추세를 규칙으로 다루는 가장 단순한 형태는 이동평균선 30년 백테스트에서 다뤘습니다.
좋은 스크리너는 정답을 주지 않습니다. 어디를 볼지 범위를 좁혀줄 뿐이고, 나머지는 각자의 규율입니다.
이 네 조건을 파이썬으로 어떻게 구현하는지는 전자책 파이썬 주식 스크리너 만들기와 검증 방법에 코드와 함께 담았습니다. 종목 목록을 받아오는 것부터 필터·점수·자동화까지 9개 모듈입니다.
※ 본 글은 특정 종목·매매 시점 권유가 아니며, 투자 판단과 결과의 책임은 본인에게 있습니다.