fix: overseas price API exchange code + VTS balance fallback (#147) #148
Reference in New Issue
Block a user
Delete Branch "feature/issue-147-overseas-price-balance-fix"
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?
문제 요약 (Issue #147)
미국 해외주식 거래 시 BUY 결정이 나와도 실제 주문이 실행되지 않는 두 가지 원인을 수정합니다.
원인 1: 가격 API 거래소 코드 불일치
get_overseas_price()가 HHDFS00000300 API에NASD/NYSE/AMEX(긴 형식)를 전송했으나실제 API는
NAS/NYS/AMS(짧은 형식)를 요구 →last=''빈 응답 →price=0수정:
_PRICE_EXCHANGE_MAP을_RANKING_EXCHANGE_MAP과 동일하게 설정,get_overseas_price()내부에서 매핑 적용원인 2: VTS 해외 잔고 API 오류
VTTS3012RAPI가 이 계좌에서 "ERROR : INPUT INVALID_CHECK_ACNO" 반환 →total_cash=0→
_determine_order_quantity()가 0 반환 → 주문 건너뜀수정:
PAPER_OVERSEAS_CASH설정 추가 (기본값 $50,000)PAPER_OVERSEAS_CASH값으로 폴백candidate.price로 폴백변경 파일
src/broker/overseas.py_PRICE_EXCHANGE_MAP추가 및get_overseas_price()에 적용src/config.pyPAPER_OVERSEAS_CASH: float = Field(default=50000.0)추가src/main.pytrading_cycle,run_daily_session)tests/test_overseas_broker.pyTestPriceExchangeMap,TestPaperOverseasCash추가테스트 결과
실제 확인된 로그 (수정 전)
이 PR 적용 후 해외 주식 BUY 주문이 실제로 전송되어야 합니다.
Closes #147