안녕하세요 성민석입니다.
ETF에서의 호가와 관련해서 알아보겠습니다. 결론적으로 말씀드리면 ETF/ELW의 경우, 가격과 무관하게 단일호가단위 5원을 적용합니다. 하지만 제 경우 진입가와 청산가를 계산할 때 호가단위로 맞춰야하는 번거로움이 있습니다. 특히 API를 통해서 주문을 넣는 경우, 지정가 주문일 때, 에러가 발생합니다. 이러한 점 때문에 목표가들을 호가 단위로 변환해야합니다.
기본적으로 주식은 주문 가격에 따라서 주문할 수 있는 그 단위가 달라집니다. 이를 호가 단위라고 하는데요, [유가증권시장 업무규정 시행세칙 제32조] 및 [코스닥시장 업무규정 시행세칙 제18조]에서는 거래를 표준화하고 매매체결을 원활히 하기 위해 아래와 같이 기준가에 따른 적정 호가가격단위를 설정하고 있습니다. 해당 부분은 치킨요정의 경제공부방을 참고했습니다. 결론적으로는 아래와 같은 표와 같이 호가 단위가 정리됩니다.
https://md2biz.tistory.com/515
이걸 파이썬 코드로 옮기게 된다면 아래와 같이 코드를 작성해볼 수 있을 것 같습니다.
def get_hoga_unit(price, exchange='KOSPI', etf=False):
if etf:
return 5
if price < 1000:
return 1
elif price >= 1000 and price < 5000:
return 5
elif price >= 5000 and price < 10000:
return 10
elif price >= 10000 and price < 50000:
return 50
else:
if exchange == 'KOSDAQ':
return 100
elif exchange == 'KOSPI':
if price >= 50000 and price < 100000:
return 100
elif price >= 100000 and price < 500000:
return 500
elif price >= 500000:
return 1000
예를 들어, 진입가가 24,642원인 경우에는 호가 단위가 50원으로 나오는 것을 확인할 수 있습니다. 또한 진입가가 234,642원인 종목의 경우는 호가가 500원입니다. 물론 기본값을 KOSPI 종목으로 해뒀습니다.
위의 함수를 이용하여 호가 단위에 맞게 변환하는 함수를 또 작성해봅시다.
def transform_hoga_price(price, *args):
hoga = get_hoga_unit(price, *args)
transformed_target_price = ((price // hoga) + 1) * hoga
return transformed_target_price
제가 원하는 대로 ETF 종목을 넣게 되면 어떻게 될까요? 예컨대 KOSDAQ에 상장된 어떤 임의의 ETF가 1주당 233,555원이라고 가정하면 ETF는 단일호가단위 5원을 적용받게 되어 233,560원이 됩니다.
마지막으로 같이 트레이딩 하는 분들과 소통하고 싶습니다.
언제든지 트레이딩이나 인공지능과 관련된 내용을 함께 공유하고 토론하고 싶으시다면 아래의 오픈 카카오톡 링크로 연락 주세요.
https://open.kakao.com/me/minsuksung
'트레이딩' 카테고리의 다른 글
[공유] 코인 트레이더 FlightF의 Q&A (0) | 2023.07.19 |
---|---|
[키움API] KOA StudioSA 톺아보기 - 조회와 실시간 데이터 처리 (1) (4) | 2021.11.02 |
[키움API] KOA StudioSA 톺아보기 - 로그인 버전 처리 (0) | 2021.10.31 |
[키움API] 전종목 일봉 데이터 수집시 얼마나 걸릴까? (2) | 2021.10.31 |
[전략] 보다 업그레이드된 ETF 변동성 돌파 전략 (0) | 2021.10.16 |