# 배치 분석 시스템 사용 가이드 ## 개요 매일 아침 전체 종목을 분석하여 DB에 저장하는 배치 시스템입니다. API 응답 속도가 **30초 → 0.1초**로 300배 빨라집니다! ## 사용 방법 ### 1. 테스트 실행 (10개 종목만) ```bash ./run-batch.sh --test ``` ### 2. 일부 종목만 분석 (예: 50개) ```bash ./run-batch.sh --limit 50 ``` ### 3. 전체 종목 분석 (실제 운영) ```bash ./run-batch.sh ``` 또는 ```bash cd backend python batch_daily_analysis.py ``` ## Cron 설정 (자동 실행) 매일 아침 9시에 자동 실행: ```bash # crontab 편집 crontab -e # 아래 내용 추가 (경로는 실제 경로로 수정) 0 9 * * 1-5 cd /Users/commylife/myproject/java/workspace/auto-stock && ./run-batch.sh >> logs/batch.log 2>&1 ``` ## API 사용 ### 빠른 모드 (DB 조회 - 0.1초) ```bash GET /api/v1/recommendations/rule-based ``` ### 실시간 모드 (KIS API - 30초) ```bash GET /api/v1/recommendations/rule-based?realtime=true ``` ## 프론트엔드 버튼 추가 예시 ```typescript // 실시간 새로고침 버튼 // 기본은 DB 조회 (빠름) ``` ## 데이터베이스 스키마 ```sql CREATE TABLE stock_analysis ( id SERIAL PRIMARY KEY, stock_code VARCHAR(20), stock_name VARCHAR(100), analysis_date DATE, current_price INTEGER, rsi NUMERIC(10,4), ma5 NUMERIC(15,2), ma20 NUMERIC(15,2), signals JSONB, score INTEGER, ... ); ``` ## 장점 - ✅ **속도**: 30초 → 0.1초 (300배 빠름) - ✅ **안정성**: KIS API Rate Limit 회피 - ✅ **편의성**: 사용자가 기다릴 필요 없음 - ✅ **확장성**: 과거 데이터 추적 가능 - ✅ **분석**: 백테스팅, 통계 분석 가능 ## 주의사항 - 배치 실행 시간: 약 5-10분 (전체 200개 종목 기준) - KIS API Rate Limit: 초당 1건 제한 - 데이터는 매일 아침 9시 기준 - 장중 실시간 가격은 `realtime=true` 옵션 사용