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
de8645b3bf
feat: MCP AI 분석을 score >= MCP_ANALYSIS_MIN_SCORE(70) 종목만 호출하도록 최적화
2026-02-26 11:41:57 +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
55b6653f78
fix: 수동 매도 후 보유종목 즉시 제거 (DB + 캐시 동시 반영)
2026-02-25 13:35:45 +09:00
7e26533cd6
refactor: simplify recommendations.py
2026-02-25 11:23:13 +09:00
30d4db1b28
refactor: create trade_executor.py
2026-02-25 11:22:23 +09:00
9ed4506fec
refactor: create market_analyzer.py
2026-02-25 11:21:46 +09:00
d822dbb9ca
refactor: create technical_indicators.py
2026-02-25 11:21:11 +09:00
f132cee1b3
feat: add parallel caching for individual stock analysis using asyncio.gather
2026-02-25 11:13:34 +09:00
8b8d7bff3c
feat: batch_analysis_scheduler → Redis SETEX, auto_trade_scheduler → Redis GET (캐시 히트 시 DB 생략)
...
- batch_analysis_scheduler: recommendations:latest SETEX (TTL 1800s)
- auto_trade_scheduler: Redis GET → cache miss 시 DB fallback
- 포맷 정규화: recommendations 리스트 → recommendations_by_rule dict 자동 변환
2026-02-25 10:09:35 +09:00
3a416b7598
feat: Redis 싱글턴 클라이언트 추가 + kis_realtime_stream SETEX 연동
...
- backend/app/core/redis.py 신규 생성
- TTL 상수: TTL_TICK/QUOTE=10s, RECOMMENDATIONS=1800s, ANALYSIS=3600s
- init_redis() / close_redis() → FastAPI lifespan 훅
- setex_json() / get_json() / delete_key() 헬퍼
- Redis 미연결 시 경고 로그 후 non-blocking 계속 동작
- kis_realtime_stream.py: tick/quote 수신 즉시 Redis SETEX 캐시
- _cache_realtime_data() 모듈 함수 추가
- tick:{code} / quote:{code} 키 저장 (API 없이 현재가 조회 가능)
- main.py lifespan: init_redis() / close_redis() 호출 추가
2026-02-25 10:01:00 +09:00
7517aa6ce8
feat: 파일 수정 자동승인 권한 추가 (Write/Edit/MultiEdit)
2026-02-25 09:42:35 +09:00
fc8c30b7e1
웹소켓 적용중
2026-02-24 23:20:42 +09:00
153b1bed17
feat: day_trading _execute_entry MCP 리스크 평가 연동 + .env.example MCP_CORS_ORIGINS 문서화
2026-02-24 18:33:15 +09:00
b36b4a381f
refactor: MCP 공통 함수/httpx 싱글톤, CORS 수정, ML 이벤트루프 블로킹 해소 (#4~#7)
2026-02-24 18:25:36 +09:00
24f3082693
feat: KIS 실시간 스트림 서비스, WS 구독 프로토콜, MCP 리스크 승인 연동
2026-02-24 18:16:20 +09:00
8c9b4abc72
자산API DB캐쉬 사용
2026-02-24 17:36:24 +09:00
d2b4b398e5
fix: 보유종목/자산은 매매 시에만 갱신 (polling 제거, WebSocket trade_executed 추가)
2026-02-24 16:43:21 +09:00
1c07a59352
대시보드 분리
2026-02-24 16:39:04 +09:00
3e19862c02
DB삭제 되는부분 처리
2026-02-24 15:58:43 +09:00
06759711f7
perf: Fix chart waterfall delay, add staleTime, fix aiAnalysis double-fetch
2026-02-24 13:55:35 +09:00
a2b076f269
feat: Migrate batch analysis DB writes to db_worker queue pattern
2026-02-24 13:31:23 +09:00
60f6ded5ba
feat: Register db_worker task in main.py lifespan
2026-02-24 12:38:36 +09:00
64b9d96070
feat: Add db_worker.py for async database persistence
2026-02-24 12:36:35 +09:00
7143fbda9c
docs: Refactor CLAUDE.md to concise hierarchical format (1.1, 1.2...)
2026-02-24 12:32:58 +09:00
8b27b9cbb0
docs: Update CLAUDE.md to enforce DB worker architecture rules
2026-02-24 12:30:40 +09:00
883f87753c
구조적인 부분 수정
2026-02-24 11:38:35 +09:00
6d9c9cb010
DB오류 처리중
2026-02-23 16:01:17 +09:00
138bf494db
버그 처리
2026-02-23 09:02:30 +09:00
c8cb67e7b5
remove .venv from git tracking
2026-02-23 08:58:32 +09:00
009d71bca0
버그 수정
2026-02-23 08:55:11 +09:00
d2829a47a7
날짜 수정
2026-02-23 08:37:24 +09:00
1814f5e55e
버그 및 크리티컬 에러 수정
2026-02-23 00:30:23 +09:00
ae2f9cac6d
장중 급등주 포착로직 추가
2026-02-23 00:00:22 +09:00
81c16a8115
전략및 버그 수정
2026-02-22 23:51:10 +09:00
7867ced1b6
전략수정 및 버그수정
2026-02-22 23:29:22 +09:00
d49c6209cb
수정사항
2026-02-22 23:16:04 +09:00
e794267b96
fix: portfolio.py check_exit_signal 호출부 3가지 버그 수정
...
① regime 파라미터 누락 → MarketRegime.BULL 기본값으로 수정
(기존 코드 런타임 TypeError 버그 — check_exit_signal 첫 인자 누락)
② trailing_high 미전달 → 최근 10봉 최고가로 계산하여 전달
(트레일링 스탑 기능 실제 동작 가능)
③ remaining_pct 업데이트 수식 오류
- 기존: remaining_pct - sell_pct (2차 이후 잘못된 비율)
- 수정: remaining_pct * (1 - sell_pct) (정확한 잔여 비율)
예) remaining=0.70, sell_pct=0.50 시
기존: 0.70 - 0.50 = 0.20 (잘못됨)
수정: 0.70 × 0.50 = 0.35 (올바름)
2026-02-22 20:31:18 +09:00
7c0b4fb3fd
perf: 수익 극대화 — R:R 2:1, RSI 완화, 동적 포지션 사이징
...
① check_exit_signal R:R 개선
- 손절: -8% → -6% (타이트 손절로 손실 제한)
- 1차 익절: RSI 45~50 → 55~65 (더 오래 홀드, 수익 극대화)
- 2차 익절: 전량매도 → 50% 부분익절 + 트레일링 스탑 전환
- trailing_high 파라미터 추가 (기존 호출부 호환 유지)
- 예상 R:R: 1:1 → 약 2:1
② check_buy_signal RSI 완화
- BULL RSI ≤ 25 → ≤ 30 (진입 기회 약 2배 증가)
③ calculate_position_size 동적 포지션 사이징
- rsi, adx 파라미터 추가 (기존 호출부 호환 유지)
- RSI ≤ 20: 1.5× (6%), RSI ≤ 25: 1.25× (5%), RSI ≤ 30: 1.0× (4%)
- ADX < 15 (강한 횡보): +0.25× 추가 보너스 (최대 2× = 8%)
2026-02-22 20:26:31 +09:00
015c88eb25
perf: 배치 성능 최적화 — DB 트랜잭션 40× 감소, 동시 처리 2× 향상
...
- BATCH_CONCURRENCY 5 → 10 (동시 분석 종목 수)
- 개별 commit(종목당 2 트랜잭션) → bulk_save_results(20개당 1 트랜잭션)
500종목 기준 DB 트랜잭션: 1,000회 → 25회 (40× 감소)
- analyze_and_save_stock 분리: analyze_one_stock(분석) + bulk_save_results(저장)
- _to_analysis_model 헬퍼 함수 추가 (StockRecommendation → ORM 변환)
2026-02-22 20:12:16 +09:00
357504a61d
improve: batch pipeline - market regime detection + DB scanner + watchlist priority
2026-02-22 17:46:06 +09:00
0fe933c480
improve: win-rate optimization for short_term_strategy and kosdaq_scanner
2026-02-22 17:39:36 +09:00
9f63e4a24e
feat: add kosdaq_scanner, short_term_strategy and rewrite CLAUDE.md in narrative style
2026-02-22 17:28:59 +09:00