[2026-05-18] daily_summary DB 저장 추가 (daily_summary 테이블)

This commit is contained in:
2026-05-18 13:54:13 +09:00
parent 7b06e370a5
commit d61c2b80e1
+22 -8
View File
@@ -464,23 +464,37 @@ class StockBot:
# ─────────────────────────────────────────
async def daily_summary(self):
"""당일 결산 로그 및 디스코드 알림"""
"""당일 결산 로그 및 디스코드 알림 + DB 저장"""
today = datetime.now().strftime("%Y-%m-%d")
with get_conn() as conn:
rows = conn.execute("""
SELECT pnl FROM trades
SELECT pnl, fee FROM trades
WHERE date=? AND exit_time IS NOT NULL
""", (today,)).fetchall()
pnls = [r[0] for r in rows if r[0] is not None]
total = len(pnls)
wins = sum(1 for p in pnls if p > 0)
losses = total - wins
net = sum(pnls)
pnls = [r[0] for r in rows if r[0] is not None]
fees = [r[1] for r in rows if r[1] is not None]
total = len(pnls)
wins = sum(1 for p in pnls if p > 0)
losses = total - wins
gross_pnl = sum(p for p in pnls if p > 0) - abs(sum(p for p in pnls if p < 0))
total_fee = sum(fees)
net = sum(pnls)
mdd = min(self.risk.daily_pnl / self.risk.init_cash * 100, 0.0)
stopped = 0 if self.risk.can_trade() else 1
# daily_summary 테이블 저장
with get_conn() as conn:
conn.execute("""
INSERT OR REPLACE INTO daily_summary
(date, total_trades, win_trades, lose_trades,
gross_pnl, total_fee, net_pnl, max_drawdown, trading_stopped)
VALUES (?,?,?,?,?,?,?,?,?)
""", (today, total, wins, losses, gross_pnl, total_fee, net, mdd, stopped))
await notify_daily_summary(total, wins, losses, net)
self.risk.reset_daily()
logger.info(f"결산: {total}회 / 승{wins}{losses} / {net:+,.0f}")
logger.info(f"결산: {total}회 / 승{wins}{losses} / {net:+,.0f} (fee {total_fee:,.0f}원)")
# ─────────────────────────────────────────