PYTHON/Kiwoom Open API

키움증권 Open API. 차트 데이터를 모두 불러올 필요가 있을까?

  • -

자동 매매 프로그램을 제작하는 과정에 있어 얼마 지나지 않아 느꼈던 부분이지만, 이전에 백테스팅을 하는 과정에서 제작해두었던 코드를 그대로 사용하다 보니 실제 거래를 진행하기 위해 필요하지 않은 코드가 있었고, 그 코드로 인해 데이터 수집과 처리에 소모되는 시간이 길어지게 되고 자연스럽게 그에 따라 처리해야 할 오류(발생할 수 있는 오류)가 많아졌다.

오늘은 여러 가지 문제점들 중 하나인 차트 데이터에 대해 이야기해볼 예정이다. 차트 데이터는 본인 역시 여러 개의 게시글을 통해 차트 데이터를 불러오고 저장하는 방법들에 대해 다루었다. 하지만 실질적으로 매매 프로그램은 "저장된 차트 데이터"가 필요하지 않다. 특히 단기 거래라면 더더욱 불필요하다.

물론 거래를 진행하는 관점이 단기가 아닌 중장기라면 일봉 차트를 기반으로 하여 주가 데이터를 분석하는 일이 필요하겠지만 그마저도 1회 조회 시 600건, 즉 거의 2년에 달하는 일봉 차트 데이터를 돌려받기 때문에 주가를 분석하는 데에는 이미 차고 넘치는 수준의 양이라는 것이다.

 

 

그러니까, 필요한 만큼만 쓰자.

기본적으로 굳이 사용하지 않을, 불필요한 데이터까지 불러오고 그 데이터를 기반으로 계산을 진행하고 새로운 데이터들을 만들어내다 보면 알게 모르게 발생할 수 있는 오류들이 많아지게 된다. 

 

 

제작한 코드가 꼭 필요할까?

본인의 자동 매매 프로그램은 영웅문 조건검색식을 통해 조회된 모든 종목을 대상으로 '일봉', '15분봉', '3분봉' 데이터들을 모두 저장한 후에 다시 그 데이터들을 불러와서 다음 날 거래를 진행하는 데에 필요한 데이터를 생성하는 절차를 거치고 있다. 여기서 분명 불필요한 코드가 존재한다. 바로 "데이터를 저장한 후에 다시 불러오는 것"이다.

물론 저장된 데이터를 여러 지점에서 사용한다면 모를까, 본인은 딱 새로운 데이터를 계산하는 데에만 사용함에도 불구하고 굳이 모든 데이터를 불러와서 저장하는 수고로움을 겪었다.

개발자로 일하는 형이 이 얘기를 해준 적이 있다. "프로그래밍은 데이터다." 그렇다. 데이터를 얼마나 잘 다루느냐에 프로그램의 효율성이 달려있다고 봐도 무방할 것이다. 즉, 코딩을 통해 본인이 아는 부분을 모두 적어내고 스스로의 만족감을 위해 불필요한 부분들까지 제작할 것이 아니라 정말로 프로그램이 돌아가는 데에 필요한 최소한의 작업만을 구축하는 것이 핵심이다.

 

 

물론,

백테스팅을 할 예정이라면 약 2,300개가 넘는 모든 종목의 종목 데이터와 주가 데이터 등을 모두 저장한 상태해야겠지만..

 

 


728x90
반응형
Contents

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

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