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

다음단계를 위한 시도와 분봉차트 헌터의 제조-2-

by 인터넷떠돌이 2019. 7. 31.
반응형

안녕하세요?

 

지난번 포스팅에서는 어떻게 된 것인지 del 클래스의 인스턴스를 한다고 해서 바로 키움증권 Open API의 로그인이 끊어지지 않는 중대한 문제가 발생한 것을 확인할 수 있었습니다. 그래서 이 문제를 먼저 해결해서 어떻게 1분봉 캔들 차트를 가지고 오는 것 부터 먼저 시도를 해볼까 합니다.

 

먼저 해야 할일은 위 스크린샷처럼 candle_hunter의 부모 프로세스에 해당하는 프로세스를 만들어 주는 것이라고 할 수 있겠습니다.

 

다음으로 할일은 위 스크린샷처럼 기존의 분봉차트 헌터 - 자식 프로세스가 될 프로세스에게 몇번째 실행이 된다는 것을 알리기 위해서 일단 number라는 변수를 넣어 주도록 합니다.

 

그리고 나서 위 스크린샷과 같이 전체 코드의 길이를 가지고 와서, 이 길이만큼 for문을 돌릴 수 있도록 만들어 주도록 합니다.

 

이렇게 하는 것으로 일단 작업이 끝나기는 끝이 났습니다. 그러나 에러가 없이 끝이 났다는 것이지, 이대로 50개나 되는 종목을 모두 돌릴 수 있다는 이야기는 아닙니다.

 

 

다음으로 해야 할일은 위 스크린샷처럼 기존의 multithread3.py의 부모 프로세스를 만들어 주는 것 입니다. 이 py파일에서는 위 스크린샷처럼 회전목마라는 이름의 클래스를 만들어 주고, 자식 프로세스를 목적으로 했는 multithread3.py로 지정해 주도록 합니다.

 

다음으로 해야 할일은 위 스크린샷처럼 부모 프로세를 실행시키는데, 시간을 측정해서 얼마나 걸렸는지 알아보도록 합니다. 이게 5분을 넘어가면 상당히 좋지 않은 상황입니다.

 

그런데 위 스크린샷처럼 1분 40초..... 그렇게 나쁜 기록은 아니라는 생각이 듭니다. 일단 처음에는 1분 미만이면 좋았지만, 2분안으로 해서 돌린다고 해서, 그렇게 큰 문제는 없을 것이라는 생각이 듭니다.

 

일단 이렇게 50개의 종목을 한꺼번에 멀티 스레딩을 가지고 하는 것에 그렇게 많은 시간이 걸리지 않으니까, 50개의 종목을 일일히 입력해 주도록 합니다.

 

일단 50개의 종목을 하나하나 가지고 오는데 시간이 약 30분정도 걸리는 것을 체감상 확인했습니다. 물론 이건 정확하게 측정을 하지 않았기 때문에 얼마나 시간이 정확하게 걸리는 지는 아직은 모릅니다.

 

그리고 나서 다음으로 해야 할일은 이렇게 해도 데이터 베이스 파일이 생성되지 않았습니다. 그래서 저장이 될 폴더를 위 스크린샷처럼 지정을 해 주어야 하는 것 이었습니다.

 

그리고 나서 위 스크린샷처럼 int를 주어서 원래는 str이라고 문자의 형태로 입력을 받은 데이터를 도로 숫자로 바꾸어 주는 작업을 잊어 버리면 안됩니다.

 

이렇게 해서 일단은 위 스크린샷처럼 먼저 50개의 종목에 대한 1분봉 차트 데이터를 가지고 올 수 있었습니다. 이제 이걸 제대로 동작하게 하기 위해서는 txt-그것도 communication.txt가 50개의 스레드에 해당하게 있어야 하는데, 이 작업 역시 수작업으로 하게 되면 상당히 곤란하다고 할 수 있습니다. 그래서 다음 포스팅에서는 이 communication.txt를 생성하는 코드를 작성해 보겠습니다.

반응형