fix: domestic current price fetching and KRX tick unit rounding (#157) #158
Reference in New Issue
Block a user
Delete Branch "feature/issue-157-fix-domestic-price-and-tick"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
get_orderbook()의output1.stck_prpr필드 없음 →get_current_price()메서드 추가 (inquire-price API 사용)kr_round_down()함수 추가 +send_order()내 적용"01"(시장가)로 지정가 주문 전송 →"00"(지정가)로 수정Changes
src/broker/kis_api.pykr_tick_unit(price)— KRX 7단계 호가단위 반환 함수 추가kr_round_down(price)— 호가단위 내림 함수 추가get_current_price(stock_code)—FHKST01010100/inquire-priceAPI 사용,(price, change_pct, foreigner_net)반환 (VTS에서 정상 작동 확인)send_order()— ORD_DVSN 수정 ("00"=지정가,"01"=시장가) + 지정가 주문 시kr_round_down()적용src/main.pytrading_cycle()(realtime mode):get_orderbook→get_current_pricerun_daily_session()(daily mode):get_orderbook→get_current_pricetests/test_broker.pyTestKrTickUnit: 13개 경계값 + 7개 내림 케이스 (parametrized)TestGetCurrentPrice: 올바른 필드 반환, API 경로/TR_ID, HTTP 오류 처리TestSendOrderTickRounding: 호가단위 내림, ORD_DVSN 00/01tests/test_main.pybroker.get_orderbookmock →broker.get_current_priceAsyncMock으로 교체Test Results
646 passed, 4 warnings. 25개 신규 테스트 추가.
Verification
VTS 직접 테스트:
Closes #157