elbakramer / koapy

KOAPY 는 키움 OpenAPI 를 Python 에서 쉽게 사용할 수 있도록 만든 라이브러리 패키지 및 툴입니다.

Home Page:https://koapy.readthedocs.io

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

요청이 실행되지 않는 경우가 있는 것 같습니다.

kkggooss opened this issue · comments

안녕하세요. 만들어주신 라이브러리 잘 사용하고 있습니다.

주문이 실행(요청이 안나가는)이 안되는 경우가 있는 것 같은데, 확인해주실 수 있을까요?

  1. 매도 주문을 연속으로 빠르게 주문하는 경우
    --> 2개의 매도 주문 사이에 0.5초의 시간 텀을 두는 경우 주문이 두개 모두 성공하는 것 같은데, 딜레이 없이 주문하는 경우 두개의 주문 중 하나만 주문 요청이 되고(두개 모두 요청이 안되는 경우도 있습니다.) 나머지는 로그도 남지 않고 없어지는? 상황이 있습니다. 키움증권에서 막는 api 요청 리밋을 넘지는 않았습니다.

  2. 서버 자체가 이상한 경우
    --> 어떤 요청을 해도 아무것도 되지 않는 경우가 가끔씩 발생하는 것 같습니다. 콘솔에 찍히는 로그도 없구요.. 이상황에선 그냥 완전 서버부터 재시작 하면 정상 동작하는데,, 이런 경우는 어떨 때 발생할 수 있을까요?

두가지 상황 모두 무엇을 파악해야 좋을지 OR 알고 계신게 있다면 말씀 부탁드립니다.
감사합니다.

Environment (please complete the following information):

  • OS: window 10
  • Python Version: 3.9.12
  • KOAPY Version: 0.8.4

Additional context
Add any other context about the problem here.

아니면 제가 그 상황을 재현할때 로그 보는법(찍는법)? 알려주시면 테스트 후 공유드릴 수 있을 것 같습니다!

안녕하세요.

주문 쪽에 문제가 있는 걸로 말씀 주셔서 #13 같은 문제인가도 잠깐 생각했는데 그건 당장은 아닌 것 같고요.
주문이 연속으로 빠르게 나가는 경우 문제가 있는 걸로 말씀주신 것으로 봐선 #14 이슈와 관련이 있어 보입니다.

구체적으로 키움의 OpenAPI 는 멀티쓰레딩을 지원하지 않는 와중에 KOAPY 에서 멀티쓰레딩 성격으로 API 를 호출하는 경우 OpenAPI 내부적으로 문제가 생기면서 이슈가 발생하는 것으로 파악하고 있습니다.

정리해주신 1번, 2번 처럼 뭔가 누락이 되거나 아예 반응이 없어지는 문제 둘 다
사실상 말씀드린 멀티쓰레딩 이슈가 근본적인 원인이지 않을까 생각이 되는데요.

구체적으로 어느 부분이 문제를 일으키는지는 당장은 특정 짓기가 어렵네요.

보아하니 사용하신 KOAPY 버전이 0.8.4 로 보이는데 최신버전 0.9.0 으로 업데이트 후 계속 같은 현상이 발생하는지 먼저 테스트해 봐주시겠어요? 최근 0.9.0 에서 관련해서 변경한 내용이 있어서 그것으로 해결되는 것일지가 먼저 궁금하네요.

로그 찍는법? 과 관련해서는 만약 KOAPY 쪽 코드를 수정해서 돌려보실 수 있으시면, logging 패키지를 활용해서 아래처럼 찍어보시면 될 것 같습니다.

logger = logging.getLogger("koapy")
logger.debug("...")

@elbakramer

답변이 좀 늦었습니다. 0.9.0으로 업데이트해도 동일한 상황이더라구요. 0.2초씩 딜레이를 주면서 사용하고 있습니다. 감사합니다.

다른 이야기이긴 한데, koapy를 사용하는게, 실시간 체결 데이터 가져올때 속도 차이가 있을까요?

실시간 체결 데이터를 여러 종목을 (최대 100개) 수신하면서 상황에 맞게 주문을 처리해보고 싶은데요.

koapy 모듈이 편의성은 정말 극강이라 너무 좋은데, 속도가 좀 느릴까? 싶은 생각이 들어서요.

직접 ocx 연결부터 개발하는게 속도 측면에서 괜찮을까요? (아무런 감조차 없어서 여쭤봅니다)