feat: isolate strategy-owned KIS balances

This commit is contained in:
jordan
2026-07-27 11:39:07 +09:00
parent 646ece93cb
commit b72bf9f394
7 changed files with 345 additions and 2 deletions
+14
View File
@@ -0,0 +1,14 @@
# KIS 수동·전략 보유수량 분리 어댑터
`TREX_KIS_STRATEGY_OWNERSHIP_PATH`가 설정된 KIS 인스턴스는 증권사 전체 잔고 대신
해당 TREX Core가 체결한 전략수량만 reconciliation에 노출한다.
- 수동 보유분은 자동매도 수량에 포함하지 않는다.
- 확정 체결은 `execution_id` 기준으로 한 번만 원자 JSON 원장에 반영한다.
- 전략수량이 증권사 전체수량보다 커지면 `ownership_mismatch`로 fail closed 한다.
- 환경변수가 없으면 기존 KIS 잔고 동작은 그대로 유지한다.
- 주문가능 현금은 `KISBroker.get_available_cash()`의 미수 없는 매수금액으로 조회할
수 있으며, Core 도메인이 아니라 계정별 외부 동기화 어댑터가 사용한다.
이 기능은 계정별 영속 경로를 반드시 분리해야 한다. 서로 다른 계정이나 전략 인스턴스가
같은 소유수량 원장을 공유하면 안 된다.