콘텐츠로 이동

인풋 데이터 스펙

작성: 2026-05-15 목적: 각 에이전트가 어떤 데이터를 받아서 해석하는지 정의. 원칙: 에이전트는 자기 입력 데이터를 스스로 수집하지 않는다. 스크립트가 수집하고 파일로 준비한다.


데이터 수집 → 파일 → 에이전트 흐름

[스크립트] → [JSON 파일] → [에이전트가 읽고 해석] → [표준 출력 JSON]

에이전트는 파일만 읽는다. API를 직접 호출하지 않는다. 이유: 데이터 수집 실패를 에이전트 실패와 분리. 데이터가 없으면 에이전트가 안 불린다.


1. 데이터 수집 단계 (스크립트, 에이전트 호출 전 실행)

장전 (06:00~08:30)

순서 스크립트 산출 파일 소요
1 fetch_global_assets.py data/routine_data/YYYYMMDD_global_assets.json ~30s
2 collect_macro_series.py --days 20 data/macro_series/macro_series.json ~60s
3 fetch_derivatives_sentiment.py data/routine_data/YYYYMMDD_derivatives.json ~45s
4 텔레그램/뉴스 수집 (기존 run_routine.py morning_open) data/routine_data/YYYYMMDD_morning_open_collected.json ~120s

장마감 (15:20~16:00)

순서 스크립트 산출 파일 소요
1 fetch_market_top.py data/market_top/YYYYMMDD.json ~60s
2 fetch_limit_up.py data/limit_up/YYYYMMDD.json (신규 필요) ~30s
3 collect_stock_flow_series.py --from-watchlist --days 20 data/flow_series/{code}.json (다수) ~180s
4 collect_sector_series.py --days 20 data/sector_series/sector_series.json ~60s
5 collect_macro_series.py --days 20 data/macro_series/macro_series.json (갱신) ~60s
6 mtf_chart_profiler.py {추적종목들} data/chart_profiles/YYYYMMDD_mtf_profiles.json ~120s

저녁 (20:00~)

순서 스크립트 산출 파일 소요
1 fetch_global_assets.py data/routine_data/YYYYMMDD_evening_global.json ~30s
2 collect_macro_series.py --days 20 data/macro_series/macro_series.json (갱신) ~60s
3 candidate_from_theme.py --themes {테마} data/candidate_from_theme/{theme}_YYYYMMDD.json ~180s
4 collect_stock_flow_series.py --codes {후보종목} data/flow_series/{code}.json ~120s
5 mtf_chart_profiler.py {후보종목} data/chart_profiles/YYYYMMDD_mtf_profiles.json (갱신) ~120s

2. 에이전트별 인풋 매핑

도메인 에이전트 (종목별)

chart-analyst

인풋 파일 핵심 필드 data_frame
일봉 250일 data/chart_profiles/YYYYMMDD_mtf_profiles.json > {code} structure (monthly/weekly/daily), sr_levels, price_journey, candle_analysis 5d/20d/60d change, streak, phases
VP/VSA 같은 파일 vsa_metrics (evr_residual, delta, phase_bias), volume_profile (POC, HVN, LVN, VAH, VAL) cum_delta_5d, cum_delta_20d
진입 컨텍스트 같은 파일 entry_context (sl, tp, rr_ratio, fibonacci, atr)
추적 상태 같은 파일 tracking_status (status, action, remove_candidate)

산출: {code}_chart.json (verdict/score/confidence + sl/tp/rr_ratio/at_peak_signal)

flow-analyst

인풋 파일 핵심 필드 data_frame
투자자별 수급 20일 data/flow_series/{code}.json daily_flow (date, close, inst_net, foreign_net, inst_cum, foreign_cum) foreign_cum_5d/20d, inst_cum_5d/20d
프로그램 매매 같은 파일 program_daily (program_buy, program_sell, program_net)
파생 지표 같은 파일 > derived foreign_pattern, dual_buy, foreign_acceleration_pct, foreign_cum_series acceleration 5d vs prev-5d
네이버 수급 (fallback) 같은 파일 naver_flow

산출: {code}_flow.json (verdict/score/confidence + pattern/dual_buy/positioning_extreme)

material-analyst

인풋 파일 핵심 필드 data_frame
뉴스 WebSearch (에이전트 내부 호출 허용) 종목명 + 최근 뉴스
ISSUE_LOG docs/trading_playbook/ISSUE_LOG.md 재료 반복 등장 횟수
POLICY_TRACKER docs/trading_playbook/POLICY_TRACKER.md 정책 뒷받침 여부
테마 매핑 data/ats_main.json > stocks[code].themes 종목이 속한 테마
섹터 시리즈 data/sector_series/sector_series.json 테마 거래대금 20d 평균 대비 현재 150%+ = 시장인식(Q4)

산출: {code}_material.json (verdict/score/confidence + catalyst_grade/structural_grade/freshness/priced_in/propagation)

예외: material-analyst는 WebSearch를 내부에서 호출한다 (재료 검증에 필수). 다른 에이전트는 파일만 읽음.

fundamentals-analyst

인풋 파일 핵심 필드 data_frame
DART 재무제표 DART MCP 호출 (에이전트 내부) 매출, 영업이익, 당기순이익 3~4분기 YoY growth rate sequence
기본 정보 data/ats_main.json > stocks[code] 업종, 시총, PER/PBR
네이버 기본 Naver fetch_stock_basic (에이전트 내부) price, change, market_cap

산출: {code}_fundamentals.json (verdict/score/confidence + op_yoy_trend/red_flag/valuation_grade)

예외: fundamentals-analyst는 DART MCP와 Naver API를 내부에서 호출한다 (실적 데이터 수집이 해석과 불가분).

environment-analyst

인풋 파일 핵심 필드 data_frame
매크로 시리즈 data/macro_series/macro_series.json risk_on_off.regime, vix_term_structure, fred_liquidity
파생 포지셔닝 같은 파일 > derived foreign_futures_cum_5d/20d, basis, program_nonarb direction, streak
섹터 시리즈 data/sector_series/sector_series.json 해당 종목 테마의 status, acceleration, avg_change_5d/20d
글로벌 자산 같은 파일 또는 data/routine_data/YYYYMMDD_global_assets.json SOX, WTI, DXY, US10Y 등 1d/5d/20d change

산출: {code}_environment.json (verdict/score/confidence + theme_lifecycle/macro_regime/bond_equity_conflict/crowding)


시장 에이전트 (전체 시장)

global-asset-scanner (장전 MO-1)

인풋 파일
글로벌 자산 data/routine_data/YYYYMMDD_global_assets.json
매크로 시리즈 data/macro_series/macro_series.json

산출: data/outputs/YYYYMMDD/mo1_global.json

sector-transfer-mapper (장전 MO-2)

인풋 파일
MO-1 결과 data/outputs/YYYYMMDD/mo1_global.json
섹터-테마 매핑표 agent_framework_v2.md 고정 테이블 (에이전트 .md에 내장)

산출: data/outputs/YYYYMMDD/mo2_sector.json

overnight-material-grader (장전 MO-3)

인풋 파일
텔레그램/뉴스 data/routine_data/YYYYMMDD_morning_open_collected.json
ISSUE_LOG docs/trading_playbook/ISSUE_LOG.md
POLICY_TRACKER docs/trading_playbook/POLICY_TRACKER.md
WebSearch 에이전트 내부 호출 (재료 검증)

산출: data/outputs/YYYYMMDD/mo3_material.json

signal-synthesizer (장전 MO-5)

인풋 파일
MO-1~3 결과 data/outputs/YYYYMMDD/mo1~3*.json
전날 carry_forward data/outputs/YYYY-MM-{DD-1}/evening_view.json > carry_forward
보유 종목 data/tracking/tracking_list.json 또는 data/tracking/verdict_list.json

산출: data/outputs/YYYYMMDD/morning_view.json

signal-scorecard (장마감 PM-1)

인풋 파일
아침 시그널 data/outputs/YYYYMMDD/morning_view.json > today_signals[]
당일 시장 데이터 data/market_top/YYYYMMDD.json
섹터 시리즈 data/sector_series/sector_series.json

산출: data/outputs/YYYYMMDD/pm1_scorecard.json

theme-strength-ranker (장마감 PM-2)

인풋 파일
거래대금 Top 200 data/market_top/YYYYMMDD.json > top_amount
섹터 시리즈 20일 data/sector_series/sector_series.json
테마 매핑 data/ats_main.json

산출: data/outputs/YYYYMMDD/pm2_themes.json

macro-4axis (저녁 EV-1)

인풋 파일
글로벌 자산 (저녁) data/routine_data/YYYYMMDD_evening_global.json
매크로 시리즈 data/macro_series/macro_series.json
파생 시리즈 같은 파일 > derivatives_series, derived

산출: data/outputs/YYYYMMDD/ev1_macro.json


3. 데이터 가용성 매트릭스

도메인 에이전트 인풋 → 스크립트 매핑

에이전트 필요 데이터 스크립트 파일 상태
chart-analyst 일봉+VP+VSA+구조 mtf_chart_profiler.py chart_profiles/*.json ✅ 동작
chart-analyst 분봉 (인트라데이 VP) kiwoom get_minute_chart chart_profiles (내장) ✅ 동작
flow-analyst 투자자별 20일 수급 collect_stock_flow_series.py flow_series/{code}.json ✅ 동작
flow-analyst 프로그램 매매 collect_stock_flow_series.py (내장) flow_series/{code}.json ✅ 동작
material-analyst ISSUE_LOG/POLICY_TRACKER 수동 관리 docs/trading_playbook/*.md ✅ 존재
material-analyst 뉴스 검증 WebSearch (에이전트 내부) - ✅ 가능
material-analyst 테마 거래대금 collect_sector_series.py sector_series.json ✅ 동작
fundamentals-analyst DART 재무제표 DART MCP (에이전트 내부) - ✅ 가능
environment-analyst 매크로 시리즈 collect_macro_series.py macro_series.json ✅ 동작
environment-analyst 섹터 RS collect_sector_series.py sector_series.json ✅ 동작
environment-analyst 파생 포지셔닝 collect_macro_series.py (내장) macro_series.json ✅ 동작

시장 에이전트 인풋 → 스크립트 매핑

에이전트 필요 데이터 스크립트 상태
global-asset-scanner 글로벌 자산 fetch_global_assets.py ⚠️ stdout만 (JSON 저장 없음)
sector-transfer-mapper MO-1 결과 (에이전트 체인)
overnight-material-grader 뉴스/텔레그램 run_routine.py morning_open ✅ 동작
signal-scorecard 아침 시그널+시장 데이터 morning_view.json + market_top
theme-strength-ranker 거래대금+섹터 market_top + sector_series
macro-4axis 매크로 시리즈 collect_macro_series.py ✅ 동작
discovery-detector 거래대금 순위 변동 market_top (당일 vs 전일)

4. 빠진 것 (신규 필요)

# 필요 현재 상태 조치
1 fetch_global_assets.py JSON 저장 stdout만 출력, 파일 저장 없음 JSON 저장 기능 추가
2 fetch_limit_up.py JSON 저장 stdout만 출력 JSON 저장 기능 추가
3 fetch_derivatives_sentiment.py JSON 저장 stdout만 출력 JSON 저장 기능 추가
4 assemble_morning_view.py 존재하지 않음 MO-1~5 결과를 morning_view.json으로 조립하는 스크립트
5 assemble_post_market_view.py 존재하지 않음 PM-1~7 결과를 post_market_view.json으로 조립
6 assemble_evening_view.py 존재하지 않음 EV-1~8 결과를 evening_view.json으로 조립
7 accuracy_tracker.py 존재하지 않음 signal_scorecard → accuracy_log.jsonl append
8 전일 morning_view 참조 경로 날짜 기반 파일 접근 evening_view에서 carry_forward 자동 링크