-
Notifications
You must be signed in to change notification settings - Fork 2
Description
📝 현재 문제점
현재 있는 주가 데이터 외에도 데이터 추가 예정
데이터 활용의 단절 (Data Silos)
DB에 macroeconomic_indicators, company_fundamentals 테이블이 이미 존재하지만, 정작 AI 모델이 데이터를 로드할 때(data_loader.py)는 이를 전혀 가져오지 않고 price_data만 사용하고 있습니다.
필수 시장 데이터 부재 (Missing Critical Data)
시장 상황판단: 시장이 과열인지 침체인지 판단할 수 있는 VIX(공포지수), 섹터 지수, 시장 너비(상승/하락 종목 수) 데이터가 없습니다.
자산군 부족: 주식 외에 채권(국채 금리), 원자재(금, 유가), 암호화폐 데이터가 없어 자산 배분이나 상관관계 분석이 불가능합니다.
이벤트 정보 부재: 주가에 큰 영향을 미치는 FOMC, CPI 발표일, 실적 발표일 등의 일정 정보(D-Day)가 없습니다.
피처 네이밍 및 표준화 혼선 (Naming Inconsistency)
코드(features.py)에서 사용하는 변수명(ma20, upper_band)과 관리하고자 하는 표준 키(ma_20, bollinger_ub)가 일치하지 않아 데이터 관리가 어렵습니다.
정량적 텍스트 데이터 부재
뉴스와 리포트(xai_reports)는 텍스트 형태로만 존재하며, 이를 모델 학습에 바로 사용할 수 있는 **'감성 점수(Sentiment Score)'**나 '키워드 빈도' 같은 수치 데이터가 없습니다.
🛠️ 해결 방안 / 제안 기능
A. DB 스키마 확장 및 개편 (Schema Evolution)
가장 먼저 데이터를 담을 그릇을 준비해야 합니다.
기존 테이블 보강: -> 완료
macro_indicators: 기존 테이블을 개편하여 us10y, vix_close, dxy_close 등 핵심 매크로 지표 통합.
price_data: amount(거래대금) 컬럼 추가.
신규 테이블 생성: -> 완료
market_breadth: 섹터 지수 및 시장 상승/하락 비율 저장.
event_calendar: FOMC, CPI, 실적발표 D-Day 및 서프라이즈 여부 저장.
crypto_data: 비트코인 등 암호화폐 시세 저장.
news_sentiment: 뉴스 텍스트를 수치화한 감성 점수 저장.
B. 데이터 로더 고도화 (Loader Upgrade)
data_loader.py와 fetcher.py를 수정하여 흩어진 데이터를 하나로 합칩니다.
Multi-Table Join: fetch_ohlcv 함수가 단순히 가격만 가져오는 것이 아니라, 날짜(date)를 기준으로 매크로, 펀더멘털, 이벤트 데이터를 Left Join하여 가져오도록 쿼리를 수정합니다.
결측치 처리 강화: 매크로 데이터(월간/분기)를 일별 주가 데이터에 맞추기 위해 Forward Fill(직전 값 채우기) 로직을 로더에 추가합니다.
C. 기술적 지표 모듈 표준화 (Feature Standardization)
features.py 코드를 표준 키 정의에 맞춰 리팩토링합니다.
변수명 변경: ma20 → ma_20, upper_band → bollinger_ub 등으로 통일.
🙋♂️ 담당자
- AI : 석재빈