AUTO TRADE/[키움증권] Kiwoom Open API

키움증권 Open API - 관심종목 관리하기 (1)

 

결론부터 이야기하자면 현재 키움증권 Open API 내에서는 관심종목을 관리할 수 있는 함수를 제공하지 않고 있다. 물론 KOA Studio에서 관심종목을 검색해보면   [OPTKWFID : 관심종목정보요청]  이라는 TR 목록이 존재하지만 이는 우리가 흔히 알고 있는 그 관심종목이 아니다.

코드를 통해 조회할 수 있는   [관심종목정보요청]  은 단순하게 해당 종목에 대한 정보를 요청하고 데이터를 받아오는 것 그 이상도 이하도 아닌 기능이다. 그렇다면 우리가 필요한 관심종목이라는 기능을 어떻게 구현할 수 있을까?

 

제목에서 알 수 있듯이, 데이터베이스를 활용하는 방법밖엔 없다. 이 과정에서 중요한 건 계좌 잔고에 대한 데이터도 함께 구축해주어야 한다는 것이다. 단순하게 주가 차트를 조회할 수 있게 지원해주었던 함수가 있던 때와 비교해보면 생각보다 상당히 복잡하고 어려운 절차에 속한다. 데이터베이스가 아닌 다른 방법을 활용할 수 있다면 그 방법을 댓글로 알려주셨으면 좋겠다.

일단 본인이 직접 프로그래밍을 하면서 겪은 키움증권 Open API의 문제점은 다음과 같다.

  • 관심종목에 종목을 추가하고 제거할 수 있는 함수가 없음
  • 데이터를 조회하는 데에 너무 많은 시간이 소요됨

이 문제점 하나 하나 해결 방법에 대해 살펴보면 아래와 같이 정리할 수 있다.

 

이로 인해 등장한 해결 방법이 바로 데이터베이스를 생성해서 관심종목 화면[0130]과 같은 역할을 수행하도록 하는 것이다. 데이터의 실시간 입력은 물론 정해진 시간마다 데이터를 업데이트하도록 설정할 수 있다. 다만 관심종목 DB 내에 많은 데이터를 담아두고자 할수록 코드는 복잡해지고 본인의 머리 속도 엉켜들어갈 것이다.

 

기본적으로 코딩을 통해 본인이 사전에 설정한 기준에 알맞은 종목을 찾아내기 위해서는 반드시 주식시장에 상장된 모든 종목에 대한 차트 데이터를 조회하고 저장한 후에, 그 차트 데이터를 기반으로 조건에 적합한지를 한 종목 한 종목 돌려보면서 종목을 선정하는 수밖에 없다. 현재 상장된 종목의 수는 약 2,300여개로 상당히 많은데, 상장일이 1900년대인 경우에는 그 데이터가 얼마나 방대한지 생각해보면 모든 종목에 대해 매일매일 주가 데이터를 조회하고 저장하고 종목을 선정해내는 것 자체가 상당히 어려운 일이다.

따라서 이 문제는 키움증권에서 제공하는 조건검색식[0151]을 통해 종목을 1차적으로 선정해낸 후, 해당 종목을 한정적으로 계산에 필요한 데이터를 받은 후에 거래 여부를 결정지어야 한다. 이 조건검색식[0151]을 통해 선정된 종목 코드를 조회하는 것은 크게 어렵지 않고 시간도 짧다. 여기서의 문제점 역시 해당 종목 코드를 대상으로 차트 데이터를 조회할 때 많은 시간이 소요된다는 것이다. 따라서 조건검색식을 통해 종목을 선정할 때 최대한 많은 조건을 대입하여 데이터 조회에 소요되는 시간을 일차적으로나마 최대한 단축시켜주어야 한다.

 

다음 포스팅에서부터 문제점을 해결하는 해결 방안을 하나하나 알아보도록 하자.

 

 


728x90
반응형

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.