fix(journal): 장중 일지 자동 생성 + 전략명 unknown + profit_factor 단위 오류
- 장중 10분 주기 journal_intraday_scheduler 신설 (SELECT 전용, 쓰기는 db_worker 큐) - 매도 후 3분 유예(JOURNAL_INTRADAY_GRACE_MIN), trade_id in-flight TTL 30분 - order_id 로 해소된 trade_id 에 일지가 있으면 INSERT skip (중복 방지) - 16:00 배치 enqueue_trade_journal 이 strategy_type 을 넘기지 않아 전 일지가 'unknown' 이던 결함 수정 - analyze_performance profit_factor 를 손익률(%) 합이 아닌 금액 기준으로 (1.22 → 0.62) - 일지 대상 SELL 상태에 PARTIAL 포함 (성과 집계 필터는 불변) - journals 단건 생성: 중복 행 시 500 대신 409, JOURNAL_SELL_STATUSES 사용 - 16:00 배치 조회일수 config 화, 손익 0 기간 PF 오경고 제거 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -57,6 +57,7 @@ logger = logging.getLogger(__name__)
|
||||
from app.services.schedulers import (
|
||||
batch_analysis_scheduler,
|
||||
post_market_analyzer_scheduler,
|
||||
journal_intraday_scheduler,
|
||||
krx_data_collector_scheduler,
|
||||
news_collect_scheduler,
|
||||
pre_market_us_scheduler,
|
||||
@@ -280,6 +281,7 @@ async def lifespan(app: FastAPI):
|
||||
app.state.batch_analysis_task = asyncio.create_task(batch_analysis_scheduler())
|
||||
app.state.krx_collector_task = asyncio.create_task(krx_data_collector_scheduler())
|
||||
app.state.post_market_task = asyncio.create_task(post_market_analyzer_scheduler())
|
||||
app.state.journal_intraday_task = asyncio.create_task(journal_intraday_scheduler())
|
||||
|
||||
# ── 미국장 자동매매 스케줄러 (US_TRADING_ENABLED=True 시 활성화) ──────────
|
||||
if getattr(settings, 'US_TRADING_ENABLED', False):
|
||||
@@ -424,6 +426,7 @@ async def lifespan(app: FastAPI):
|
||||
"day_trade_task",
|
||||
"krx_collector_task",
|
||||
"post_market_task",
|
||||
"journal_intraday_task",
|
||||
"db_worker_task",
|
||||
"kis_stream_task",
|
||||
"us_trade_task",
|
||||
|
||||
Reference in New Issue
Block a user