3eb38690fe
fix: 자동매매 미작동 근본 원인 4개 수정
...
## 버그 수정 요약
### 1. 거래량 필터 오작동 (market_analyzer.py)
- acml_vol(당일 누적량, 장초 2~10만주)을 100만주 기준으로 필터
→ 전 종목이 필터에 걸려 추천 종목 0개
- 수정: 20일 평균 거래량(avg_vol_20) 기준 10만주 미만 필터로 교체
### 2. min_volume_ratio 기본값 1.0 미설정 (recommendations.py)
- get_rule_based_recommendations_realtime()에서 min_volume_ratio 누락
→ 기본값 1.0 적용, 장중 acml_vol/avg_vol_20≈0.1 → 전 종목 None 반환
- 수정: min_volume_ratio=0 명시 설정
### 3. KRX 호가단위 오류 (korea_investment_api.py)
- 계산된 주문가격이 호가단위(50/100/500/1000원 등) 불일치
→ 모의투자 "호가단위 오류"로 모든 주문 실패
- 수정: _round_to_krx_tick() 헬퍼 추가, 주문 전 올림 처리
### 4. MCP 서버 AI_PROVIDER 미전달 (docker-compose.dev.yml, mcp-server/config.py)
- mcp-server 서비스에 AI_PROVIDER 환경변수 누락 → 항상 Gemini 사용
- Gemini 무료 쿼터 소진 → /analyze 500 에러 → fail-open
- 수정: AI_PROVIDER=${AI_PROVIDER:-claude} 추가
- 수정: load_dotenv(override=True)로 빈 env var 덮어쓰기 허용
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 13:24:11 +09:00
096e087a9a
코드 변경
2026-03-10 09:49:03 +09:00
2baf06a5fd
feat: 매매일지 자동 생성 + 전략 자동 최적화 시스템 추가
...
- trade_analyzer.py: 거래 성과 분석(승률/손익비/전략별 패턴), 템플릿 기반 일지 자동 생성
- strategy_optimizer.py: 그리드 서치 기반 파라미터 최적화, Sharpe 10% 개선 시 자동 적용
- analysis.py: /performance /insights /generate-journals /optimize-strategy /optimization-history 엔드포인트
- journals.py: POST /generate/{trade_id}, GET /stats 엔드포인트 추가
- models.py: StrategyOptimizationLog 테이블 추가
- main.py: post_market_analyzer_scheduler (16:00 KST 자동 실행)
- frontend: Analysis 페이지 추가 (성과 요약/인사이트/일지 생성/최적화 이력)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com >
2026-03-10 09:28:10 +09:00
7c9b596098
백테스트 수정중
2026-03-07 13:16:01 +09:00
ea355eb60c
fix: Update universe presets usage for new API structure
2026-03-06 22:33:19 +09:00
5f84897aa6
fix: Remove Stock model dependency, use StockDailyPrice only
2026-03-06 22:22:33 +09:00
87b4205fb6
feat: Add bulk backtest endpoints for entire stock universe
2026-03-06 21:55:45 +09:00
da4732f1e9
feat: Add stock universe loader for bulk backtest
2026-03-06 21:53:59 +09:00
7a31651cc5
feat: Register backtest router in API
2026-03-06 21:27:13 +09:00
d54785f79d
feat: Add backtest API endpoints for ML training and strategy testing
2026-03-06 21:26:56 +09:00
943708e68e
feat: Add comprehensive backtest engine with ML training data generation
2026-03-06 21:25:49 +09:00
12460b7c9e
매매전략 수정중
2026-03-06 20:46:08 +09:00
2b9a90a03f
소스리뷰 버전 적용
2026-03-06 19:10:39 +09:00
ab75dc66f8
코드리뷰 수정
2026-03-06 15:22:40 +09:00
da5cef1925
MCP 수정중
2026-03-06 14:40:31 +09:00
ac98bb856f
배치 수정
2026-03-06 14:12:54 +09:00
48aa5440ec
refactor(phase3): Add realtime module examples and README
2026-03-06 11:00:03 +09:00
b1eab5305a
refactor(phase3): Add KIS WebSocket client implementation
2026-03-06 10:58:28 +09:00
7355df6ebf
refactor(phase3): Create realtime module core structure
2026-03-06 10:57:40 +09:00
a322745cf3
refactor(phase2): Add Scanner module and strategy README
2026-03-06 10:55:19 +09:00
8920699eee
refactor(phase2): Add DayTradingStrategy example and indicators module
2026-03-06 10:53:48 +09:00
025ecb5f4f
refactor(phase2): Add StrategyManager for strategy orchestration
2026-03-06 10:52:40 +09:00
70dd32a783
refactor(phase2): Create strategy module core structure
2026-03-06 10:51:58 +09:00
30babd2963
docs(phase1): Add trading module documentation
2026-03-06 10:47:00 +09:00
a7eb07b860
refactor(phase1): Update trading module exports
2026-03-06 10:46:07 +09:00
3baafd56e8
refactor(phase1): Add backward compatibility adapter
2026-03-06 10:45:51 +09:00
ea4ebae992
refactor(phase1): Add market data module for price/chart queries
2026-03-06 10:45:21 +09:00
0bfca909cc
refactor(phase1): Create trading module core files
2026-03-06 10:44:33 +09:00
0774352a98
refactor: Create trading module structure
2026-03-06 10:29:59 +09:00
c93b35ba04
추천로직
2026-03-06 10:01:13 +09:00
d6841a06f7
배치 실계좌에서 종목조회로 변경
2026-03-03 13:34:31 +09:00
0531952edb
feat: lifespan에 strategy_cfg.auto_init() 추가
2026-03-03 10:44:49 +09:00
f3323bb742
feat: 전략 파라미터 DB 관리 시스템 구현
...
[추가 파일]
1. models/models.py — StrategyConfig 테이블 추가
2. services/strategy_config_service.py — DB 읽기 + TTL 캐시 서비스
3. api/endpoints/strategy_config.py — CRUD REST API
4. api/__init__.py — strategy_config 라우터 등록
[동작 방식]
- DB에 파라미터 있으면 DB 우선, 없으면 config.py 기본값 fallback
- TTL 30초 인메모리 캐시 → 재시작 없이 실시간 파라미터 변경
- 전략 코드에서 strategy_cfg.get("KEY", default) 패턴으로 사용
- /api/strategy-config 엔드포인트로 UI에서 관리 가능
[관리 대상 파라미터 그룹]
- INDICATOR: RSI, 볼린저, MA, ATR, ADX
- RISK: 손절/익절, MDD, 포지션 크기, 연속손실
- FILTER: 과열필터, 하락장필터, 트렌드필터
- DAY_TRADE: 데이트레이딩 세부 파라미터
- MEAN_REVERSION: 평균회귀 전략 파라미터
2026-03-03 10:40:02 +09:00
14e6d87025
fix(technical_indicators): analyze_rsi RSI<30 구간 BB하단 반등 진입 신호 추가
...
[문제]
- rsi < 30 이면 signal=None (반등 대기) 으로만 처리
- RSI가 30 이하에서 실제로 반등 시작해도 BUY 신호가 나오지 않음
- 결과적으로 check_buy_signal(rsi_prev)의 반등 확인 로직이 무의미
[수정]
- rsi < 30 AND rsi > rsi_prev (반등 확인) AND 볼린저 하단 근처: BUY 신호
- rsi < 30 AND rsi <= rsi_prev (아직 하락): signal=None 유지 (기존)
- 기존 30~45 반등 구간 로직은 그대로 유지
2026-03-03 10:20:48 +09:00
9104d1a0e7
fix(strategy): 평균회귀 전략 손실 원인 3가지 수정
...
1. check_buy_signal: 거래량 OR 조건 제거 + RSI 반등 확인 파라미터 추가
- `vol_ok AND rsi<=50` 조건 삭제 (모멘텀 진입이 평균회귀 청산과 충돌)
- `rsi_prev` 파라미터 추가: RSI가 반등 중일 때만 진입 허용
- BULL 조건: RSI<=30 AND BB하단 AND 거래량>=100% AND (RSI 반등 중)
2. check_exit_signal: 1차 익절 RSI 상한 제거
- `55 <= rsi <= 65` → `rsi >= 55` (빠른 반등 시 익절 기회 놓치지 않음)
3. check_exit_signal: ATR 손절 기준을 entry_price 기준으로 변경
- `lowest_since_entry - 2.5*ATR` → `entry_price - 2.5*ATR`
- 기존: 저점 기준이라 매수 직후 손절이 너무 느슨함
- 개선: 진입가 기준으로 손절 즉시 발동 가능
2026-03-03 10:18:22 +09:00
1e22c9a4af
수정사항 반영
2026-03-03 10:09:41 +09:00
6f23b06816
보유종목 1분마다 호출하는부분 수정
2026-02-27 12:35:07 +09:00
4de03bad67
대시보드 수정및 전략수정중
2026-02-27 11:22:44 +09:00
38ff312321
fix: 분석종목 누적 버그 수정
...
- get_rule_based_recommendations_realtime: date.today()(UTC) → KST 기준 오늘 날짜로 교체
- get_rule_based_recommendations_from_db: since_date 조회를
오늘(today_kst)만 조회하도록 수정 (timedelta(days=1) 제거)
→ 어제 데이터까지 포함되어 누적 표시되던 문제 해결
2026-02-27 09:14:30 +09:00
c29e7f9716
fix: day_trading 코드 리뷰 사항 전체 반영
...
- _execute_eod_flat에 _trade_lock 적용 (race condition 수정)
- total_assets=0일 때 신규 진입 차단 (손실한도 체크 우회 방지)
- MCP import를 모듈 최상단으로 이동
- API_CALL_DELAY 상수화 (settings.API_MIN_REQUEST_INTERVAL 사용)
- _execute_entry의 불필요한 global _trade_lock 제거
- candles_1m 빈 리스트일 때 execute 엔드포인트 early return 추가
2026-02-27 09:07:56 +09:00
8c8de61d67
자동매매 관련로직 수정
2026-02-26 14:40:12 +09:00
77e7464884
챠트 데이터 웹소켓으로 연결
2026-02-26 13:51:12 +09:00
82346fcc46
feat: 차트 API에 Redis 캐시 레이어 추가 (일봉/분봉/해외)
2026-02-26 13:36:06 +09:00
92a1c81ef1
MCP 차단관련 로직 추가
2026-02-26 13:33:24 +09:00
cc236d3dac
타입에러 수정
2026-02-26 13:21:58 +09:00
acf735f94b
타입관련 오류 수정
2026-02-26 12:03:09 +09:00
8f2262580f
feat: MCP_ANALYSIS_MIN_SCORE 설정 추가 (기본값 70)
2026-02-26 11:39:28 +09:00
dbd2c4648b
웹소켓 연결 완료
2026-02-26 11:19:23 +09:00
ec02f27200
레디스 및 구조 수정중
2026-02-25 16:56:34 +09:00
89f54bae55
오류 수정
2026-02-25 13:36:46 +09:00