프로그래머가 아닌 이상 파이썬 문법을 어느정도 알고 있더라도 개발문서를 보고 바닥부터 개발을 시작하기는 쉽지 않습니다.
특히 개발문서는 개발자가 보라고 만든 문서이기 때문에 설명하고자 하는 핵심적인 기능 외의 기술적인 부분(네트워크 소켓 등)에 대해서는 설명이 부족합니다.
그래서 이번에 chatGPT에 의존해서 한국투자증권 open api 사용가이드를 이용해 자동매매 프로그램 개발을 어떻게 시작할 수 있는지 확인해 보려고 합니다.
일단 oepn api 설명 사이트에 접속합니다.
https://apiportal.koreainvestment.com/apiservice/
시작부터 auth, websock, post, json, content-type 등의 익숙하지 않은 단어들이 보이면서 막막하기 시작합니다.
사실 이 부분에서 한동안 뭘 해야할지 몰라 막막한 상태에서 개발스터디 운영자님의 도움으로 첫 관문을 열었습니다.
약간 허무하게도 위 문서를 드래그앤 드랍으로 복사해서 chatgpt에게 붙여넣고, 다음과 같이 요청하였습니다.
“KIS Developer 에서 제공하는 Open API 의 예제를 줄게. 이 예제와 동일하게 동작하도록 만들고 싶어. 나는 Oauth인증을 통해 아래 예시와 같이 return 받고 싶어.”
너무나 쉽게 한번도 사용해본적 없는 Oauth 방식으로 접속키를 받아오고, 또 웹소켓 라이브러리를 이용해서 접속하는 예제를 만들어 줍니다.
이제는 api 가이드 문서를 이용해서 코드를 만들어 내는 방법을 알았으니, 추가적으로 매매에 필요한 기능들은 필요한 부분들을 복사해서 붙여넣고 요청을 넣는 작업을 반복하면 되는 상황이 되었습니다.
하지만 매번 복사해서 붙여넣는게 좀 소모적인 것 같기도 하고, 또 복사할 부분을 적지 않은 분량의 문서에서 직접 찾아야 하는 수고가 있어서 차라리 가이드 문서 자체를 한번에 chatgpt에게 학습시킬 방법을 찾기로 했습니다.
한번에 복사해서 붙여넣는 것은 토큰의 길이로 인해 불가능했고, 그래서 유료버전의 webpilot 플러그인을 이용해서 해당 url을 주고 같은 작업을 시켜보았습니다.
예상했던 것 이상으로 손쉽게 원하는 결과를 얻었고, 추가적으로 웹소켓을 이용한 개발산출물의 품질이 좀더 좋아지기까지 하였습니다. 아마도 api의 다양한 사용에 대한 사례가 url을 참조하는 과정에서 포함되었기 때문이라고 생각됩니다.
지금 참조하는 api는 한 페이지로 된 html이지만, 향후 다른 api문서는 여러페이지 또는 문서의 형태일수도 있기 때문에 이번에는 코드 인터프리터의 업로드 기능을 이용해보기로 했습니다.
코드 인터프리터는 단순이 질문하고 대답받는 부분을 넘어서서 스스로 논리적인 사고 흐름을 추가하기도 하는 모습을 보이는데, 첨부한 자료에 대해 별다른 부가설명이 없었음에도 불구하고 소제목들을 구분하여 문석의 목적과 사용방안에 대해서 파악을 하였습니다.
이에 원하는 코드를 짜보라고 요청하였습니다.
지금까지 API문서 하나만 가지고 전문지식이 없는 초보자의 입장에서 ChatGPT를 이용하여 어떻게 개발의 물꼬를 틀수 있는지를 확인해 보았습니다.
참고할 문서의 일부를 복사 붙여넣기로 gpt에게 알려준뒤 코드 요청
webpilot등의 플러그인을 이용해서 gpt에게 알려준뒤 코드 요청
코드 인터프리터에 참조할 문서를 업로드해서 gpt에게 알려준 뒤 코드 요청
가장 진입장벽이 낮은 것은 webpilot 플러그인을 이용했을 때이며, 코드 인터프리터의 경우에는 파이선 패키지를 내장하고 있기 때문에 추가적인 코드의 검증이 가능할 것으로 예상되어 좀더 코드가 복잡해질 경우 강점을 보일 것으로 예상됩니다.