본문 바로가기
무모한 도전-주식 인공지능 만들기

PyMon을 만드는 실습에 들어가기-3-

by 인터넷떠돌이 2018. 12. 5.
반응형

안녕하세요?


지난번 포스팅에서 어떻게 가지가지 시도를 해 보니까, 1초에 5번이라고 하는 조회횟수 제한이 아니라, 일봉차트의 종합적인 양이 문제라는 생각이 들었습니다. 그래서 하는 수 없이 이번에는 접근 방법을 달리해서 일봉차트 데이터의 총량이 일정수를 넘지 않도록 해야 겠다는 생각이 들었습니다.



그래서 먼저 시도한 것은 위 스크린샷과 같이, 일단 run()메소드안에서 501번째 일봉차트를 가지고 오면, 일단 for문에서 빠져나가기(break)를 통해서 그만 가지고 오고, 다음의 작업을 하라는 식으로 코딩을 하였습니다. 그러나 이것 역시 에러만 발생했습니다.



그래서 어디가 문제인가 했더니, 위 스크린샷과 같이, code라는 항목은 이렇게 비교 대상자가 들어갈 수 있는 것이 아니기는 했습니다. 그래서 다음 2차 시도를 하도록 했습니다.



이번에는 for문의 i 라는 변수를 가지고서, 한번 작업에 들어가 보도록 합니다. 역시 501번째 일봉차트 데이터를 가지고 오면, for문을 중단하는 것 입니다. 그러나 이것 역시 똑같이 조회횟수 제한을 불러왔습니다.



그래서 어디가 문제인가 하는 생각이 들었더니, 위 스크린샷처럼 코스닥의 데이터를 가지고 오는 곳에서 에러가 발생한 것이 아닌가 하는 생각이 들었습니다. 그래서 이번에는 위 스크린샷처럼 먼저 len()함수를 가지고서 가지고 온 코드 데이터의 갯수가 500을 초과하면, 그냥 리스트형 자료인 kosdaq_codes의 인덱스 0부터 499까지만 가지고 오라는 식으로 디자인을 합니다.



그리고 혹시나 하는 상황을 막기 위해서 이번에는 0.5초로 쉬도록 만들어 둔 다음에, 한번 작업에 들어가 보도록 합니다.




이번에야 말로 제대로 성공한 것을 볼 수 있었습니다. code 0 라고 뜨면, 프로그램이 성공적으로 마쳐서 그만 둔다는 의미가 되므로, 말 그대로 작업이 성공한 것을 알 수 있었습니다.



그런데 사소한 문제가 하나 있었으니, 위 스크린샷에서 보이는 것처럼, 모두 1줄로 처리가 된 것이였습니다. 이래서는 보기만 불편한게 아니라, 나중에 가지가지로 문제를 야기할 수 있습니다.



그래서 위 스크린샷에서 보이는 것처럼, 일단 텍스트파일 내에서는 모두 엔터키를 눌러서 한번 줄 바꿈을 해서 일단 다르게 보도록 합니다. 다행히도 이렇게 많은 양의 데이터가 있는 것이 아니기는 해서, 어떻게 정리 작업은 간단하게 마무리가 되었습니다.



그리고 나서, 다음으로는 위 스크린샷에서 보이는 것처럼, 마지막에는 \n을 주어서 줄바꿈을 주도록 합니다. 이렇게 하는 것으로 이제는 한줄에 모든 데이터가 나오는 것을 막을 수 있으리라 생각이 듭니다.



다음으로는 이제 499까지 데이터를 가지고 왔으니, 이번에는 인덱스 500부터 1000까지를 가지고 오도록 범위를 다시 설정해 주도록 합니다.




그리고 이번에도 성공적으로 코드를 가지고 오는 것에 성공했다는 메세지가 PyCharm에서 뜨는 것을 확인할 수 있었습니다. 이제 제대로 된 것이 맞는지 확인해 보도록 합니다.



텍스트 문서 파일을 열어서 확인해 보니, 위 스크린샷과 같이, 기존의 데이터는 모두 지워졌고, 새로운 데이터가 들어간 것을 확인할 수 있었습니다. 그래서 일단 지금 단계에서는 한번 데이터를 가지고 오고나서는 다른 텍스트 파일에 복사해 놓도록 해야 겠습니다. 다행히 지난번 데이터는 다른 텍스트 문서 파일에 다 넣어 주었습니다.



다음으로는 1001번째 인덱스부터 마지막 까지 가지고 오도록 코드를 짜 놓았습니다. 그리고 이제 프로그램을 실행시켜 보도록 합니다.



그래서 위 스크린샷에서 보이는 것처럼 이번에도 성공적으로 작업이 완성이 된 것을 볼 수 있었으며.....



그리고 여기서도 또 제대로 된 데이터가 나오는 것을 확인할 수 있었습니다. 이렇게 하는 것으로 봐서는 이제 PyMon이 제대로 작동이 되는 것을 확인할 수 있었습니다. 뭐라고 해야 할까요? 일단 이번 일로 알 수 있었는 것은 pytrader는 일을 실행하는 손과 발이라면, PyMon은 바로 작업을 지시하는 두뇌라고 할 수 있습니다. 그리고 이 두뇌와 손발을 연결하는 역할을 텍스트 문서가 하고 있다는 것을 확인할 수 있었습니다.

반응형