Open innerray opened 3 years ago
제가 item['ask']를 매수 가격이라고 주석을 잘못 작성하였습니다. 즉, ask_price는 최저 매도 호가입니다.
innerray님이 말씀하신대로 매수자의 입장에서 제일 유리한 매수 가격은 최저 매도 호가가 맞습니다. 주석이 잘못 작성되어 있다보니 ask_price를 매수 호가로 헷갈리신 것 같은데, 코드 자체에는 문제가 없습니다.
다음 인쇄 때에는 주석을 아래처럼 수정하도록 하겠습니다.
def get_current_price(code):
"""인자로 받은 종목의 현재가, 매도호가, 매수호가를 반환한다."""
cpStock.SetInputValue(0, code) # 종목코드에 대한 가격 정보
cpStock.BlockRequest()
item = {}
item['cur_price'] = cpStock.GetHeaderValue(11) # 현재가
item['ask'] = cpStock.GetHeaderValue(16) # 매도호가
item['bid'] = cpStock.GetHeaderValue(17) # 매수호가
return item['cur_price'], item['ask'], item['bid']
잘못된 부분을 알려주셔서 감사합니다.
원본 code에서 매수량 buy_qty를 구하는데,
buy_qty = buy_amount // ask_price
로 구하고 있습니다.
또한, 매수 수량을 결정하기 위한 조건문이 if ask_price 로서, 매수호가가 존재하는지 검사하는데요.
구현하신 ETF 매수 주문 조건이 최유리 FoK 매수라면 최저 매도호가로 주문을 내는 것이므로.
로 해 주어야 할 것 같은데. 혹시 최저 매도호가가 아니라 최고 매수호가를 이용하신 다른 이유가 있는지 궁금합니다.