시장 데이터가 늦을 때도 솔직하게 보여주는 S&P 500 대시보드
S&P 500 시장 대시보드를 만들며 고민한 자동 수집, TOP 3 선정, 섹터 비교, 예측 검증과 자료 신선도 표시.
주식 대시보드를 보기 좋게 만드는 것은 생각보다 어렵지 않다. 가격과 차트를 나란히 놓고 몇 가지 종목을 강조하면 그럴듯해 보인다.
하지만 정말 어려운 부분은 그 화면이 실제 자료보다 더 정확한 것처럼 보이지 않게 만드는 것이라고 생각한다.
지금 공개 운영 중인 S&P 500 시장 대시보드는 미국 주식시장 정보를 한국어로 정리하고, 종목 평가와 시장 뉴스, 섹터 비교, 실험적인 예측 연구를 함께 보여주는 웹사이트다.
여기서는 어떤 화면을 만들었는지뿐 아니라, 데이터와 판단을 어떻게 나누려고 했는지를 기록하고 싶다.
처음 보는 사람도 핵심을 찾을 수 있도록
메인 화면에는 시장 브리핑과 섹터 흐름, 그리고 매수 TOP 3·매도 TOP 3가 있다. 종목 분석, 고급 연구, 초보자 설명 화면은 별도로 두었다.
여기서 ‘TOP 3’는 조심해서 설명해야 하는 이름이다. 방문자는 곧바로 사거나 팔아야 하는 종목으로 받아들일 수 있기 때문이다.
실제 사이트에서 TOP 3는 우선 살펴볼 상대적인 후보 순위다. 종목의 기술 점수와 신규 진입 조건, 이미 보유 중인 경우의 대응 조건을 구분한다. 높은 점수를 받았다고 반드시 신규 진입이 가능한 것은 아니다.
이런 예외를 화면에 보여주는 것이 중요하다.
직접 확인하기: S&P 500 시장 대시보드 열기
순위 뒤에 있는 규칙을 설명하기
공개된 분석 기준 문서에 따르면 단기 추세 점수에는 이동평균, 최근 수익률, RSI, MACD 등 규칙 기반 지표가 사용된다.
그다음 시장의 위험 상태, 돌파·눌림 조건, 가격 자료의 양과 날짜, 관측 저항선과의 관계 등을 별도로 확인한다.
기술 점수는 상승 확률이 아니다. 매도 쪽 순위에 들었다고 장기적으로 많이 상승한 주식이 앞으로 반드시 하락하는 것도 아니다. ‘왜 여기에 표시됐는지’를 설명할 수 있어야 한다.
그럴듯한 숫자 하나를 내세우는 것보다, 그 숫자가 무엇을 뜻하고 무엇을 뜻하지 않는지를 보여주려고 했다.
자동화 프로그램이 실패하는 상황도 설계해야 한다
이 웹사이트는 가격, 기업 지표, 경제 자료, 시장 뉴스를 여러 흐름으로 받아온다. 전부 같은 시간에 업데이트되지는 않는다.
공개 저장소에는 GitHub Actions로 수집과 검증을 실행하는 과정이 정리되어 있다. Python이 일부 데이터 수집과 전처리를 담당하고, HTML·JavaScript로 만든 웹 화면이 저장된 결과를 보여준다.
문제는 한 출처의 데이터가 실패했을 때다. 화면을 새로 그렸다고 해서 경제지표의 실제 관측 날짜가 최신으로 바뀌는 것은 아니다. 미국장 마감 이후 자료와 실시간 호가도 다른 정보다.
그래서 관측 기준일, 수집 상태, 이전 데이터 사용 여부를 따로 보여주도록 신경 썼다. 잘못된 새 값을 만들어 넣느니 오래된 자료라는 사실을 표시하는 편이 낫다.
AI 연구 결과와 실제 서비스 화면의 경계
다른 화면에서는 장기 예측이나 모델의 오차를 연구한다. 그런데 과거 실험에서 오차가 작게 나왔다고 실전 성능까지 보장되는 것은 아니다.
특히 평균적인 수익률 오차를 줄이는 것과 상승·하락 방향을 구별하는 것은 서로 다른 문제일 수 있다. 하락 구간을 놓치면 평균 오차가 그럴듯하더라도 의사결정에는 도움이 되지 않을 수 있다.
이 때문에 사이트에서는 규칙 기반 추세 신호와 AI 연구 전망을 구분하고, 검증 조건을 통과하지 못한 결과도 무조건 좋은 예측으로 소개하지 않는다.
시장 정보 서비스라면 이런 불확실성과 실패 기록을 숨기지 않는 것이 중요하다고 생각한다.
어떤 기술로 만들었나
화면은 여러 정적 HTML 페이지와 JavaScript 기반의 검색·그래프·필터로 이루어져 있다. 공개 GitHub 저장소에서 Python 스크립트와 JS 모듈이 데이터 수집, 지표 계산, 화면 갱신을 나누어 담당한다.
사용자는 별도 프로그램을 설치하지 않고 웹브라우저에서 종목을 검색하고 섹터 흐름을 비교하고 자료의 기준일을 확인할 수 있다.
실제 대시보드에서 직접 사용해 보고, 방법론과 공개 저장소를 함께 보면 어떤 식으로 개발하고 고쳐 왔는지 더 잘 이해할 수 있다.
이 블로그에도 차차 실제 화면 녹화와 사용 방법 영상을 추가하려고 한다. 가상의 수익 그래프나 거래를 한 것처럼 보이는 영상이 아니라, 공개 사이트에서 실제로 가능한 동작을 보여주는 방식으로 소개할 예정이다.
이 글은 소프트웨어 제작 과정에 대한 기록이지 투자 권유가 아니다. 데이터와 순위에는 지연·오류가 있을 수 있으며, 과거 검증 결과는 미래 수익을 보장하지 않는다.