CLIEN

본문 바로가기 메뉴 바로가기 보기설정 테마설정
톺아보기 공감글
커뮤니티 커뮤니티전체 C 모두의광장 F 모두의공원 I 사진게시판 Q 아무거나질문 D 정보와자료 N 새로운소식 T 유용한사이트 P 자료실 E 강좌/사용기 L 팁과강좌 U 사용기 · 체험단사용기 W 사고팔고 J 알뜰구매 S 회원중고장터 B 직접홍보 · 보험상담실 H 클리앙홈
소모임 소모임전체 ·굴러간당 ·아이포니앙 ·MaClien ·주식한당 ·일본산당 ·안드로메당 ·개발한당 ·방탄소년당 ·자전거당 ·야구당 ·AI당 ·노젓는당 ·디아블로당 ·테스트당 ·가상화폐당 ·나스당 ·소시당 ·소셜게임한당 ·캠핑간당 ·이륜차당 ·WOW당 ·퐁당퐁당 ·전기자전거당 ·e북본당 ·바다건너당 ·클다방 ·골프당 ·맛있겠당 ·육아당 ·보드게임당 ·소리당 ·콘솔한당 ·3D메이킹 ·X세대당 ·ADHD당 ·AI그림당 ·날아간당 ·사과시계당 ·배드민턴당 ·농구당 ·블랙베리당 ·곰돌이당 ·비어있당 ·FM당구당 ·블록체인당 ·활자중독당 ·볼링친당 ·냐옹이당 ·문명하셨당 ·클래시앙 ·요리한당 ·쿠키런당 ·대구당 ·DANGER당 ·뚝딱뚝당 ·개판이당 ·동숲한당 ·날아올랑 ·갖고다닌당 ·이브한당 ·패셔니앙 ·물고기당 ·도시어부당 ·FM한당 ·포뮬러당 ·젬워한당 ·걸그룹당 ·안경쓴당 ·차턴당 ·총쏜당 ·땀흘린당 ·하스스톤한당 ·히어로즈한당 ·인스타한당 ·IoT당 ·KARA당 ·키보드당 ·꼬들한당 ·덕질한당 ·어학당 ·가죽당 ·레고당 ·리눅서당 ·LOLien ·Mabinogien ·임시소모임 ·미드당 ·밀리터리당 ·땅판당 ·헌팅한당 ·오른당 ·영화본당 ·MTG한당 ·노키앙 ·적는당 ·방송한당 ·PC튜닝한당 ·찰칵찍당 ·그림그린당 ·소풍간당 ·심는당 ·패스오브엑자일당 ·라즈베리파이당 ·품앱이당 ·리듬탄당 ·달린당 ·Sea마당 ·SimSim하당 ·심야식당 ·윈태블릿당 ·미끄러진당 ·축구당 ·나혼자산당 ·스타한당 ·스팀한당 ·파도탄당 ·테니스친당 ·빨콩이당 ·공대시계당 ·여행을떠난당 ·터치패드당 ·트윗당 ·창업한당 ·VR당 ·시계찬당 ·WebOs당 ·위스키당 ·와인마신당 ·윈폰이당
임시소모임
고객지원
  • 게시물 삭제 요청
  • 불법촬영물등 신고
  • 쪽지 신고
  • 닉네임 신고
  • 제보 및 기타 제안
© CLIEN.NET
공지[공지] 10월 3일(토) 00:00~00:30 서버 작업 안내 더보기

개발한당

자유
[1인 개발] 국내 저평가 주식을 빠르게 찾아주는 서비스 만들어봤습니다.

1
퀀트노바
1,382
2026-09-24 09:25:47 수정일 : 2026-09-24 09:39:45 119.♡.106.149

안녕하세요. 눈팅만 하다가 처음 글 써봅니다.


저는 주식을 꾸준히 하고 있습니다. 몇년전부터 한국장이 너무 저렴한거 아닌가 싶어서 한국장 비중을 좀 높였었구요. 그런데 주식을 하다가  "저평가 종목 조건 걸어서 찾는 거, 매번 공시 뒤지지 말고 자동화하면 편하겠다"는 생각에서 시작한 사이드 프로젝트를 몇 달째 만들고 다듬고 있어서 공유해봅니다. (한마디로 제가 쉽고 편하게 주식종목을 고르기 위해서 시작하게 되었어요.)


paste-1790208415850.png


1. 뭘 만들었나

DART(금융감독원) 공시랑 KRX 시세 데이터를 매일 자동 수집해서, PER·PBR·ROE·부채비율 같은 재무 조건으로 종목을 필터링해주는 스크리닝 서비스입니다. 그레이엄·버핏·린치 같은 유명 투자자들 전략을 미리 조건화해둔 "기본 전략" 탭도 있고, 조건을 직접 조합하는 "커스텀 전략"도 있습니다.

paste-1790208510465.png

paste-1790208575778.png


2. 기술적으로 겪은 것들

백엔드는 Node.js + Express, 프론트는 React + Vite입니다. DB를 역할별로 5개 MySQL로 나눠서 쓰는데(원본 데이터 DB / 가공된 재무지표 DB / 처리된 주가 DB 이런 식으로), 처음엔 "그냥 하나로 합치면 편한데 왜 이렇게 나눴지" 싶었지만 수집 파이프라인이 커지면서 한 DB당 용량제한에 걸리더라구요. 그래서 어쩔수 없이 5개로 나눠서 관리를 하게 되었습니다.(원본데이터 받다가 나중에 알아서 데이터베이스 늘리고, 데이터베이스별로 데이터 따로 받는 뻘짓을 많이 했죠.ㅜㅜ 그래도  원본과 가공 데이터를 분리해둔 게 디버깅할 때 꽤 도움이 됐습니다. 대신 관리 포인트는 확실히 늘어나더라고요.


DART 공시 API는 기업마다 재무제표 포맷이 미묘하게 다릅니다. 이부분때문에 파싱하는게 꽤 힘들었습니다. 그리고 사업개요도 업체마다 다른구조로 작성되어있다보니까 쉽지 않더라구요. 그리고 외국주권으로 상장된 종목이라던가, 결산월이 12월이 아닌 곳들이 섞여있어서 파싱 예외 케이스 처리에도 생각보다 시간을 많이 썼습니다. 지금도 "이 종목만 재무데이터가 안 들어온다"는 이슈가 가끔 튀어나와요.


paste-1790208624407.png

paste-1790208655454.png

paste-1790208735946.png


paste-1790208694380.png


매일 새벽에 GitHub Actions로 수집 크론을 돌리는데, 15분 간격으로 실시간 시세를 가져오는 쪽은 회전 IP 때문에 자꾸 방화벽(fail2ban)에 막히는 문제가 있었습니다. 결국 고정 IP를 쓰는 self-hosted 러너로 옮겨서 해결했는데, 원인 찾는 데 꽤 헤맸네요.


저는 Claude Code로 작업을 합니다.(프로 사용자라 오퍼스, 소넷 왔다갔다하면서 진행하네요. 항상 사용량 모자라서 빠르게 생각한대로 작업을 진행하진 못하지만 계속 꾸준히 하고는 있네요.) 프로젝트가 커지면서 "공통 함수 하나 고쳤다가 다른 화면에서 예상 못한 부작용이 생기는" 패턴을 몇 번 겪고 나서, 이제는 함수 고치기 전에 호출부를 전부 검색해보고 실제 데이터 분포를 SQL로 먼저 확인하는 걸 규칙으로 만들어뒀습니다. AI한테 시켜도 "아마 이걸 쓸 것"이라는 추측성 판단은 꼭 틀리더라고요.


프로젝트가 점점 커지니까 점점 생각지 못했던 일들이 생기니까 매번매번이 새롭습니다.ㅎ


3. 앞으로 할 것

인사이트/리서치 콘텐츠 쌓기, 모바일 화면 다듬기, 조건 충족 시 알려주는 알림 기능 등 좀 더 고도화를 계획 중입니다.


아직 계속 고치고 있는 1인 프로젝트라 부족한 점 많습니다. 써보시고 이상한 점이나 "이렇게 하면 낫다" 싶은 조언 있으시면 댓글로 편하게 남겨주세요.


https://quantnova.co.kr


감사합니다.

퀀트노바 님의 게시글 댓글
  • 주소복사
  • Facebook
  • X(Twitter)
댓글 • [0] 을 클릭하면 간단한 회원메모를 할 수 있습니다.
새로운 댓글이 없습니다.
이미지 최대 업로드 용량 15 MB
업로드 가능 확장자 jpg,gif,png,jpeg,webp
지나치게 큰 이미지의 크기는 조정될 수 있습니다.
목록으로
글쓰기
목록으로 댓글보기 이전글 다음글
아이디  ·  비밀번호 찾기 회원가입
이용규칙 운영알림판 운영소통 재검토요청 도움말 버그신고
개인정보처리방침 이용약관 책임의 한계와 법적고지 청소년 보호정책
©   •  CLIEN.NET
보안 강화를 위한 이메일 인증
안전한 서비스 이용을 위해 이메일 인증을 완료해 주세요. 현재 회원님은 이메일 인증이 완료되지 않은 상태입니다.
최근 급증하는 해킹 및 도용 시도로부터 계정을 보호하기 위해 인증 절차가 강화되었습니다.

  • 이메일 미인증 시 글쓰기, 댓글 작성 등 게시판 활동이 제한됩니다.
  • 이후 새로운 기기에서 로그인할 때마다 반드시 이메일 인증을 거쳐야 합니다.
  • 2단계 인증 사용 회원도 최초 1회는 반드시 인증하여야 합니다.
  • 개인정보에서도 이메일 인증을 할 수 있습니다.
지금 이메일 인증하기
등록된 이메일 주소를 확인하고 인증번호를 입력하여
인증을 완료해 주세요.