엘케이호이스트
Home     Map     Contact us     Admin   
  회사소개 제품소개 온라인견적 고객지원
 
     공지사항
     고객게시판
 
고객지원
고객게시판
 
 
작성일 : 25-05-27 15:36
chat GPT 유료 싸게 반년 넘게 사용한 경로
 글쓴이 : Crystal
조회 : 0  

투자자들은 GPT 매분기 실적시즌에 바쁘다 정말 미친듯이 바쁘다 ㅠㅠ ​텔레그램 AWAKE 님께서 운영하시는 실시간 공시채널이 있지만, 결국 수기로 정리해야만 한다.​조금 시간이 지나면 세종데이터에서 제공을 해줬었지만, 이제 서비스를 하지 않으신다고 들었다 ㅠㅠ​개인적으로 ROE와 PBR을 이용해서 종목 스크리닝을 하는 방식도 많이 사용하고 있어서 조금씩 시도해봤다.​처음 시도는 텔레그램 AWAKE 실시간 공시채널 메세지를 모아서 정리하는 방식.​어느정도 성과를 거두긴 했지만, 종목코드를 찾아오고 구글파이낸스에서 시총을 가져오는 과정에 문제가 있었다.​항상 많은 도움을 받고 있는 스터디에 부족한 자료나마 공유했는데, 생각 외로 반응이 좋았다. GPT ​개인적으로 욕심이 더 생겨 DART 데이터를 바로 긁어와서 정리해주는 프로그램을 구현해보고자 했다.​생각보다 수월하게 진행이 되었으나, 몇 가지 어려움이 있었다.​​KRX 데이터와 DART 데이터를 매칭하는 문제​수시로 기업이 상장하고, 상장폐지를 반복하기 때문에 매번은 아니더라도 원할 때 KRX에서 종목을 가지고 올 필요가 있다고 생각했다. 그래서 KRX에서 다운로드 받은 데이터를 이용해 DART에서 종목코드로 검색하는 방식을 적용했는데 이 과정에서 오류가 좀 발생했다. ​처음 적용되었던 방식이 DART에 있는 자료 중 KRX 데이터값과 일치하는 것을 뽑는 방식이었는데, DART에 보고서를 제출하는 곳이 GPT 그렇게 많은 줄 처음 알았다. 무려 10만개가 넘어가더라,,, 리츠 전문회사 투자조합 펀드 등 ​그래서 KRX데이터로 DART 자료를 검색했다. ​2. 분기보고서 뽑아오는 문제​이 과정에서 하루 이상을 고통받은 것 같은데,,, DART API는 1/2/3/4분기 보고서를 요청할 때 각기 다른 코드가 필요하다. 처음 GPT가 제공한 로직은 1분기 11O11로 시작해서 4분기 11014로 끝났다. 그런데 아무리 해도 데이터가 맞게 뽑히지 않았다. 1분기 매출액 (+) 2분기 매출액(-) 3분기 매출액 (-) 4분기 매출액 (+) 이런 식으로 모든 기업 데이터가 정리되었다. ​계산 GPT 로직 문제도 있었는데 이 부분은 뒤에서 설명하고,, 데이터를 가져오는 게 꽤 시간이 걸리는 일이었는데 이 과정에서 GPT에게 아까 그거 아니라고 했잖아라는 식으로 짜증도 냈다. 그 과정에서 50개마다 엑셀에 저장해달라는 코드를 추가했는데, 마지막까지 문제를 체크하는데 도움이 많이 됐다. ​여튼 하루 이상 고민하다가 OPENDART에 있는 개발가이드 중 [정기보고서 재무정보] 탭에서 보고서 번호가 틀렸다는 것을 찾았다. 4분기가 11011, 2분기가 11012, 1분기가 11013, 3분기가 11014였다... ​이 정보를 반영했을 때도 당연히 값이 맞지 않았다. 그렇지만 큰 차이가 존재했는데,,, GPT 기존 데이터값은 보고서 어디에서도 그 값을 찾을 수가 없었다. ㅠㅠㅠ 그래서 제대로 종목코드에 맞는 회사 보고서를 찾아오는지부터 검증해야 했다. 그렇지만 드디어 자본/부채가 일치하는 기적을 볼 수 있었다.​3. 계산 로직문제 ​이리저리 숫자가지고 씨름한 결과 계산 로직에 문제가 있다는 것을 찾았다. ​다수 보고서를 정리해본 경험을 살려봤을 때 분기/반기 보고서를 3개월 단위로 나눠주지 않는 회사들이 있다. 그래서 누적데이터를 이용해서 수작업으로 정리를 했던 기억이 났다. ​그래서 '누적 데이터를 활용해서 해당연도 직전 분기 값을 빼는 로직'을 생각했다. 코드 GPT 통일성을 생각했을때 1분기는 3개월 데이터를 가져오고 2/3분기는 누적데이터를 가져오고 하는 것이 좋지 않다고 판단했기 때문이다.​여기서 GPT가 또 문제를 만들었는데 내가 생각한 로직이라면 1/2/3 분기 모두 thstrm_add_amoun를 사용하고 2-1, 3-2를 통해서 분기 데이터를 뽑아야 했다. 그리고 4분기만 사업보고서에서 thstrm_amount를 사용하고 3분기의 thstrm_add_amount를 빼서 구해야했는데,,, 이 바보가 1/2/3/4분기 모두를 당기금액 코드를 사용했다. ​그러니 1/4분기만 매출액이 (+) , 2/3분기는 매출액(-)인 어처구니없는 일이 발생했지,,,, ​4. dart api 일일 호출 제한 (20000회) 문제​그렇게 크리티컬한 문제는 아니지만 또 오류를 GPT 찾고 해결하는 과정을 반복하면 순식간에 소모되는 일일제한량이다. 50회마다 나눠서 저장하는 방식을 도입하여 1회 시도 당 소모되는 호출수를 줄였던 것이 유효했던 것 같다. 그리고 메일로 인증하는 방식이다 보니 개인 이메일 여러 개를 돌려서 쓸 수 있다.(저는 4개 썼,,) ​저도 아직 과거 연도 데이터를 가져오는 중이고, 차후 실적 시즌에 3~5분마다 동작하도록 업데이트할 생각을 갖고 있어 갈 길이 멉니다. 다만 한 번쯤 시도해보실 것 같아 팁을 드리면,,​저는 파이썬을 사용했습니다. 다운로드 받고 메모장에 코드를 적은 뒤 저장명.py로 GPT 하면 됐습니다.​2. 코드가 점점 길어지기 때문에 여러 파일로 동작하게 하는 것이 좋았습니다. ​main.py에서 전반적인 로직을 구현하게 하고 다른 .py파일에서 각각의 기능을 수행하는 방식입니다.너는 krx에서 데이터 가져와, 너는 dart api 중에 krx 데이터 맞는지 확인해, 너는 엑셀 만들어 등등.. ​3. 파이참(?) 등을 깔지 않으면 코드를 테스트할 때 명령프롬포트(cmd)를 사용해야 합니다. 이 떄 실행위치를 설정하는 과정이 필요한데 상당히 번거롭습니다. 따로 메모장에 적어두고 복붙하세요.... 기본위치가 c: 라서 .py파일이 위치한 폴더로 바꿔줘야 합니다. ​​이런 식으로 도전해보면 당신은 GPT GPT 활용능력 상위 1~2%​​​​​