#!/usr/bin/env python3 """오늘 ws_ticks KIS vs kiwoom 검증.""" import sys sys.path.insert(0, "/home/hoon/kis_bot") from database import TradeDB TODAY = "20260818" T0 = f"{TODAY}090000" db = TradeDB() try: print("=== 오늘 09:00~ (tick_time 기준) ===") rows = db.conn.execute( """ SELECT source, COUNT(*) n, COUNT(DISTINCT code) codes, MIN(tick_time) tmin, MAX(tick_time) tmax FROM ws_ticks WHERE tick_time >= %s GROUP BY source ORDER BY n DESC """, (T0,), ).fetchall() for r in rows: print(dict(r)) print("\n=== recv_ts 오늘 (서버 수신 시각) ===") rows = db.conn.execute( """ SELECT source, COUNT(*) n, MIN(recv_ts) rmin, MAX(recv_ts) rmax FROM ws_ticks WHERE recv_ts >= '2026-08-18 09:00:00' GROUP BY source ORDER BY n DESC """, ).fetchall() for r in rows: print(dict(r)) print("\n=== 11:20~11:24 구간 (tick_time) ===") rows = db.conn.execute( """ SELECT source, COUNT(*) n, MAX(tick_time) tmax, MAX(recv_ts) rmax FROM ws_ticks WHERE tick_time >= '20260818112000' GROUP BY source """, ).fetchall() for r in rows: print(dict(r)) print("\n=== kiwoom: tick_time vs recv_ts 불일치 (오늘) ===") r = db.conn.execute( """ SELECT COUNT(*) n FROM ws_ticks WHERE source='kiwoom' AND recv_ts >= '2026-08-18 10:43:00' AND tick_time < '20260818104300' """, ).fetchone() print(f" recv>=10:43 인데 tick_time<10:43: {dict(r)['n']:,}") print("\n=== 089970 오늘 source별 ===") rows = db.conn.execute( """ SELECT source, COUNT(*) n, MIN(tick_time) tmin, MAX(tick_time) tmax, MAX(recv_ts) rmax FROM ws_ticks WHERE code='089970' AND tick_time >= %s GROUP BY source """, (T0,), ).fetchall() for r in rows: print(dict(r)) finally: db.close()