L-ATS 3.0은 지난 10월 초 모든 서비스 구현이 완료되어 서비스의 기능 테스트 진행중이다.

투자 프로그램 개발 시 유의 사항
프로그램을 테스트 하기 위해 보통 모의투자를 사용한다. 
모의투자를 통해 프로그램을 테스트 하는 것은 본인 생각보다 실투자와는 많은 차이가 있다. 
먼저 증권사에서 제공하는 API TR은 결과물이 실투자와 모의투자가 다른 경우가 있다. (예를 들어, 같은 TR이지만 실투자에서만 결과물을 보여주는 경우)
그리고 모의투자는 매수/매도 타이밍이 매우 늦는다. 내가 만든 프로그램은 빠른 매수와 빠른 매도가 핵심이기 때문에 이러한 성격의 프로그램에는 모의투자가 적절하지 않다. 
그래서 테스트도 소량의 현금으로 진행....한....다....

 

테스트를 현금으로 [실투자]에서 진행하고 있으므로, 실 운영과 기능 테스트를 함께 진행하고 있는 셈이다. 

 

기능적인 소소한 버그가 존재하긴 하지만 기획했던 서비스의 전체적인 흐름은 생각했던대로 정상적으로 운영되는 것을 확인했다. 더구나 시스템은 수일간 증권 시장이 운영되는 시간동안 장애없이 잘 운영되었다. 

 

이제 준비는 끝난 것일까...?


 

처음 L-ATS 3.0의 서비스를 기획할 때 캡쳐된 글자 이미지를 OCR 처리하여 종목명을 추출하는 것을 생각해내고 선택한 이유는 현재 내가 인공지능 전문 솔루션 회사에 재직중이었기 때문이었다. 

무언가 내가 만든 이 서비스에도 인공지능적인 요소를 넣고 싶었기 때문이다. 그렇게 선택한 것이 OCR 이었고, 최근 큰 이슈가 되었던 ChatGPT를 활용하는 방법을 찾고 싶었지만 서비스 기능들을 아무리 살펴봐도 ChatGPT가 할만한 일은 없었다. 

물론 저 생각은 [기획] 단계에서의 생각이었다.

 

[운영] 단계에서의 발견

 

인공지능에는 100%는 없다.

이 말은 즉, 글자 이미지가 OCR 처리된 결과물은 100% 정확하지 않을 수 있다는 것이다. 

 

내가 사용한 OCR 엔진인 Tessaract는 한국어 언어 모델을 지정해서 사용했는데 그 때문인지 영어 알파벳이 포함된 종목정보는 영어 알파벳이 아라비아 숫자로 인식되었다.

예를 들면, SK하이닉스는 59하이닉스와 같이 인식되어 결과물을 생성했다.

 

여기서 ChatGPT가 문득 떠올랐다. 

 

OCR로부터 잘못 인식된 종목정보를 ChatGPT에게 물어서 교정할 수 있지 않을까?

 

ChatGPT는 아주 다양한, 많은 업무를 해결해주니까 가능할 것이라 생각하긴 했지만, 과연 1750억개의 파라미터에 우리 한국 증권 시장의 KOSPI, KOSDAQ 정보가 있을지는 의문이긴 했다. 

 

그래서 프롬프트 작성에 열을 올리기 시작했다. 

프롬프트란? ChatGPT와 같은 LLM 모델에게 질문을 할 때, 더 나은, 더 좋은 답변을 억기 위해서 질문을 최적화 하는 기법을 말한다.
좋은 프롬프트를 만들수록 더 좋고 간결한 정보를 획득할 수 있다. 

 

처음에는 심플하게 ChatGPT에게 물어봤다.

ChatGPT Input 프롬프트
ChatGPT 응답

음...역시나 내가 원하는 답변을 얻지는 못했다.

 

ChatGPT를 잘 활용하는 방법 중에 가장 좋은 방법은 컨텍스트를 명확하게 하는 것인데

예를 들면, 부가적인 정보들을 주어주는 것이다. (갑자기 ChatGPT 활용법으로 길이 새는것 같은데.....)

 

내가 필요한 정보는 한국 증권 시장에 속한 종목 이름에 대한 것이니 좀 더 정확한 답변을 얻기 위해 Role Prompt 기법을 사용해본다. (ChatGPT에게 역할을 주어주는것!)

더 나은 ChatGPT Input 프롬프트
ChatGPT 응답

 

ChatGPT가 해야할 일을 보다 더 자세하게 지시해주면 이렇게 내가 원하는 답변을 정확하게 얻을 수 있다. 

 

이제 이것을 내 서비스에 녹아들게 하면 보다 더 많은 종목들에 대해 자동 매매을 처리할 수 있게 되고, 좀 더 인공지능적인 서비스가 되지 않을까? 

 

더 나은 L-ATS를 위해 ChatGPT를 접목시킬 수 있는 서비스의 시스템 설계를 조금씩 진행해 봐야겠다.

Posted by [ 브랜든 ]
,