상태: 골격 단계 (PoC 코드 미작성) 버전: 0.0.1 (2026-05-03 설계 초안)
LAYER4 19섹터 영향 분석 → 개별 종목 단위 신호 생성.
Layer4Output (19섹터 phase + impact + confidence + rationale)signal: 강한 매수 / 매수 / 중립 / 매도 / 강한 매도confidence: 높음 / 중간 / 낮음horizon: 단기 (1~4주) / 중기 (1~3개월)target_price, stop_loss: 구체적 trade planportfolio_weight: 추천 비중 (0~1)rationale: L4 섹터 영향 + 종목 정량·펀더멘털 + 외인 수급 종합 한국어 근거risk_factors: 종목별 내생·외생 리스크섹터별 시총 상위 5 + 사용자 watchlist:
watchlist.json 보유·관심 종목 추가D = 매일 + 이벤트 트리거:
crisis_mode=true 활성 또는 LAYER4 market_phase 변동 시 즉시 트리거zero-shot LLM (Claude Opus 4.5, LAYER3·4 통일) — 1차 PoC
종목별 prompt에 박는 데이터:
watchlist 우선 깊이 분석 + 나머지 universe 간단 분석 (사용자 결정 C).
fdr.DataReader): KOSPI/KOSDAQ OHLCVstock.get_market_*): 외국인·기관 매매, 시총, 업종분류dart-fss 또는 직접 호출): 분기 재무제표, 공시API key:
DART_API_KEY 박기KRX 업종분류 → LAYER4 19섹터 (sector_mapping.py)
KRX 대분류는 33개 정도, LAYER4는 19섹터라 N:M 매핑.
sector_mapping.py 안 STOCK_OVERRIDES dictLAYER5/
├── README.md # 이 파일
├── layer5_engine.py # 메인 엔진 (run_layer5)
├── data_sources_stocks.py # FDR + pykrx + DART fetcher
├── universe.py # 섹터별 시총 상위 5 + watchlist 결합
├── sector_mapping.py # KRX 업종 → LAYER4 19섹터 매핑
├── watchlist.json # 사용자 화이트리스트 (보유·관심)
├── scripts/
│ ├── generate_signals.py # 매일 18:00 launchd
│ └── eval_signals.py # 신호 vs 실제 평가 (1d/5d/1m)
└── output/
└── target_YYYY-MM-DD_predicted_at_YYYY-MM-DD.json
source ~/Projects/claude/LAYER1/venv/bin/activate
pip install finance-datareader pykrx dart-fss
/opt/homebrew/bin/claude)매일 18:00 KST:
LAYER1 → LAYER2 → LAYER3 → LAYER4 → LAYER5
├── universe = sector_top5 + watchlist
├── data_sources_stocks.fetch_all(universe)
├── sector_mapping.map_each(universe)
├── run_layer5(l4, stocks_data, watchlist)
└── 저장 + Telegram 알림
이벤트 트리거: LAYER1 crisis_mode 또는 LAYER4 phase 변동 시 별 hook이 generate_signals.py 호출.
feature/layer5-poc 별 branchsector_mapping.py KRX 33 업종 → LAYER4 19섹터 정적 dict 박기data_sources_stocks.py 4종 fetcher 작성 (OHLCV / 외인매매 / 재무 / 공시)universe.py 섹터별 시총 상위 5 + watchlist 결합layer5_engine.py LLM prompt builder + run_layer5 (LAYER3·4 패턴)watchlist.json 사용자 보유·관심 종목 박기