7c9b596098
백테스트 수정중
2026-03-07 13:16:01 +09:00
5f84897aa6
fix: Remove Stock model dependency, use StockDailyPrice only
2026-03-06 22:22:33 +09:00
da4732f1e9
feat: Add stock universe loader for bulk backtest
2026-03-06 21:53:59 +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
3baafd56e8
refactor(phase1): Add backward compatibility adapter
2026-03-06 10:45:51 +09:00
c93b35ba04
추천로직
2026-03-06 10:01:13 +09:00
d6841a06f7
배치 실계좌에서 종목조회로 변경
2026-03-03 13:34:31 +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
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
acf735f94b
타입관련 오류 수정
2026-02-26 12:03:09 +09:00
dbd2c4648b
웹소켓 연결 완료
2026-02-26 11:19:23 +09:00
ec02f27200
레디스 및 구조 수정중
2026-02-25 16:56:34 +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
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
fc8c30b7e1
웹소켓 적용중
2026-02-24 23:20:42 +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
a2b076f269
feat: Migrate batch analysis DB writes to db_worker queue pattern
2026-02-24 13:31:23 +09:00
64b9d96070
feat: Add db_worker.py for async database persistence
2026-02-24 12:36:35 +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
d2829a47a7
날짜 수정
2026-02-23 08:37:24 +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
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
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
32e2263f0a
수정본
2026-02-22 17:23:20 +09:00
b147498c31
Initial commit
2025-11-14 11:05:31 +09:00