fix: KRX 당일종가 등락 0% — 전일종가를 ka10095 기준으로 산출 + 행 순서

- kt00018 pred_close_krx가 장 마감 후 현재가와 같은 값으로 채워지는 결함으로
  KRX 당일종가/현재가 등락률이 0%로 깔리던 문제 수정 → KRX 전일종가를
  ka10095(현재가−전일대비)로 산출(서버 계산값). 현재가·당일종가 등락 둘 다 정상화.
- 듀얼 OHLC 행 순서: 전일종가·현재가·시가·고가·저가·당일종가

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
hyowons
2026-06-09 21:20:56 +09:00
parent 721fe9011c
commit cbc89a4843
+10 -5
View File
@@ -2366,12 +2366,12 @@ def _render_ohlc_mini_dual(krx: dict | None, nxt: dict | None, active_market: st
nxt_dim = False nxt_dim = False
rows = [ rows = [
('현재가', 'price'),
('당일종가', 'close_today'),
('전일종가', 'prev_close'), ('전일종가', 'prev_close'),
('현재가', 'price'),
('시가', 'open'), ('시가', 'open'),
('고가', 'high'), ('고가', 'high'),
('저가', 'low'), ('저가', 'low'),
('당일종가', 'close_today'),
] ]
krx_th_dim = ' ohlc-dim' if krx_dim else '' krx_th_dim = ' ohlc-dim' if krx_dim else ''
nxt_th_dim = ' ohlc-dim' if nxt_dim else '' nxt_th_dim = ' ohlc-dim' if nxt_dim else ''
@@ -2657,10 +2657,15 @@ def _render_holding_row(r: dict, total_value: int, show_day_change: bool = False
# change/change_pct 도 스냅샷 baseline 기준으로 재계산 → cell 안 pct 표시도 일관. # change/change_pct 도 스냅샷 baseline 기준으로 재계산 → cell 안 pct 표시도 일관.
# 전 거래일 종가 행: KRX = pred_close_krx (KRX 전일종가), NXT = r['pred_close'] (어제 NXT 스냅샷). # 전 거래일 종가 행: KRX = pred_close_krx (KRX 전일종가), NXT = r['pred_close'] (어제 NXT 스냅샷).
ohlc_krx_for_render = r.get('ohlc_krx') ohlc_krx_for_render = r.get('ohlc_krx')
_pred_krx = r.get('pred_close_krx', 0) or 0 if ohlc_krx_for_render:
if ohlc_krx_for_render and _pred_krx > 0:
ohlc_krx_for_render = dict(ohlc_krx_for_render) ohlc_krx_for_render = dict(ohlc_krx_for_render)
ohlc_krx_for_render['prev_close'] = _pred_krx # KRX 전일종가 = ka10095(현재가 전일대비). kt00018 pred_close_krx는 장 마감 후
# 현재가와 같은 값으로 채워지는 결함이 있어 등락률이 0%로 깔린다 → ka10095 기준으로 산출.
_krx_prev = (ohlc_krx_for_render.get('price', 0) or 0) - (ohlc_krx_for_render.get('change', 0) or 0)
if _krx_prev <= 0:
_krx_prev = r.get('pred_close_krx', 0) or 0
if _krx_prev > 0:
ohlc_krx_for_render['prev_close'] = _krx_prev
ohlc_nxt_for_render = r.get('ohlc_nxt') ohlc_nxt_for_render = r.get('ohlc_nxt')
_snap_prev = r.get('pred_close', 0) or 0 _snap_prev = r.get('pred_close', 0) or 0
if ohlc_nxt_for_render and _snap_prev > 0: if ohlc_nxt_for_render and _snap_prev > 0: