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: 평균회귀 전략 파라미터
This commit is contained in:
2026-03-03 10:40:02 +09:00
parent 14e6d87025
commit f3323bb742
4 changed files with 556 additions and 61 deletions

View File

@@ -4,7 +4,11 @@ API 라우터 통합 모듈
- 각 엔드포인트 라우터를 prefix/tag와 함께 등록
"""
from fastapi import APIRouter
from app.api.endpoints import trading_rules, trades, portfolio, market_data, mcp, recommendations, monitoring, tensorflow_predictions, debug, risk_management, ml_ensemble, journals, day_trading
from app.api.endpoints import (
trading_rules, trades, portfolio, market_data, mcp, recommendations,
monitoring, tensorflow_predictions, debug, risk_management, ml_ensemble,
journals, day_trading, strategy_config,
)
api_router = APIRouter()
@@ -21,3 +25,4 @@ api_router.include_router(risk_management.router, prefix="/risk", tags=["risk_ma
api_router.include_router(ml_ensemble.router, prefix="/ml-ensemble", tags=["ml_ensemble"])
api_router.include_router(journals.router, prefix="/journals", tags=["journals"])
api_router.include_router(day_trading.router, prefix="/daytrading", tags=["day_trading"])
api_router.include_router(strategy_config.router, prefix="/strategy-config", tags=["strategy_config"])