From b4b09a6d4c3a38f9477ddf3f283bb68b803807e1 Mon Sep 17 00:00:00 2001 From: agentson Date: Mon, 23 Feb 2026 21:45:49 +0900 Subject: [PATCH] =?UTF-8?q?docs:=20requirements-log=EC=97=90=20#232=20?= =?UTF-8?q?=EA=B5=AD=EB=82=B4=EC=A3=BC=EC=8B=9D=20=EC=A7=80=EC=A0=95?= =?UTF-8?q?=EA=B0=80=20=EC=A0=84=ED=99=98=20=EA=B8=B0=EB=A1=9D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-Authored-By: Claude Sonnet 4.6 --- docs/requirements-log.md | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/docs/requirements-log.md b/docs/requirements-log.md index 7a654c7..1c0c6b9 100644 --- a/docs/requirements-log.md +++ b/docs/requirements-log.md @@ -292,3 +292,33 @@ Order result: 모의투자 매수주문이 완료 되었습니다. ✓ ``` **이슈/PR:** #149, #150 + +--- + +## 2026-02-23 + +### 국내주식 지정가 전환 및 미체결 처리 (#232) + +**배경:** +- 해외주식은 #211에서 지정가로 전환했으나 국내주식은 여전히 `price=0` (시장가) +- KRX도 지정가 주문 사용 시 동일한 미체결 위험이 존재 +- 지정가 전환 + 미체결 처리를 함께 구현 + +**구현 내용:** + +1. `src/broker/kis_api.py` + - `get_domestic_pending_orders()`: 모의 즉시 `[]`, 실전 `TTTC0084R` GET + - `cancel_domestic_order()`: 실전 `TTTC0013U` / 모의 `VTTC0013U`, hashkey 필수 + +2. `src/main.py` + - import `kr_round_down` 추가 + - `trading_cycle`, `run_daily_session` 국내 주문 `price=0` → 지정가: + BUY +0.2% / SELL -0.2%, `kr_round_down` KRX 틱 반올림 적용 + - `handle_domestic_pending_orders` 함수: BUY→취소+쿨다운, SELL→취소+재주문(-0.4%, 최대1회) + - daily/realtime 두 모드에서 domestic pending 체크 호출 추가 + +3. 테스트 14개 추가: + - `TestGetDomesticPendingOrders` (3), `TestCancelDomesticOrder` (5) + - `TestHandleDomesticPendingOrders` (4), `TestDomesticLimitOrderPrice` (2) + +**이슈/PR:** #232, PR #233