본문 바로가기

무모한 도전-주식 인공지능 만들기1651

멀티 프로세스를 이용한 병렬처리에 들어가 보기 -3- 안녕하세요? 일단 이번 포스팅에서는 그런데로 결론이 나오기는 나왔습니다. 그런데 문제가 그렇게 좋은 결론이 나오지 않았다는 것이 문제인데, 아무튼 간에 그 결론이 나오는 과정을 그런데로 이번 포스팅에서 보여 드리고자 합니다. 도저히 답이 없기는 없어서 이번에는 기존의 py파일의 3번째 복사본을 만들어 주도록 합니다. 일렇게 해서 아예 새로운 시도를 한번 해 보고자 합니다. 이번에는 아예 multiprocessing이라고 하는 파이썬의 내장 모듈을 그대로 사용하는 것으로 방향을 한번 선회해 보도록 합니다. 그런데 픽클이라고 하는 pickle이라고 하는 문제가 나오기는 나왔습니다. 이 문제가 왜 나왔느냐 하면, pyqt5를 사용하는 한 이 문제는 피해갈 수 없다고 합니다. 그래서 다시 2번째 복사본으로 돌아.. 2020. 2. 25.
kiwoom.py에 있었던 변경사항 -1- 안녕하세요? 이 블로그에서 최근에 댓글 주시는 분도 많고, 따라 하시려는 분도 많은데, 아마 많은 분들이 여러움이 많으시리라 생각이 됩니다. 저야 최근까지 그 이유를 몰랐는데, 일단 kiwoom.py를 기존에 [파이썬으로 배우는 알고리즘 트레이딩]이라는 책에서 나오는 kiwoom.py에 비해서 엄청나게 많은 부분이 달라졌다는 것을 알 수 있었습니다. 그래서 이 바뀐 부분에 대해서 한번 이야기를 해야 하는데, 하고 보니 너무나 많은 부분이 달라져서 한번의 포스팅으로는 다 보여드릴 수가 없어서 몇 번의 포스팅으로 나누어야 했습니다. 일단 기본적은 kiwoom.py의 코드는 여기서 가지고 왔습니다. 먼저 시작부터 엄청나게 달라진 부분이 있습니다. 일단 datetime이라는 것을 추가했고, QThread라는 것.. 2020. 2. 24.
멀티 프로세스를 이용한 병렬처리에 들어가 보기 -2- 안녕하세요? 지난번 포스팅에서 어떻게 해서 이래저래 여러개의 프로세스를 동시에 실행시킨 것을 확인할 수 있었습니다. 그런데 문제는 여기에 데이터를 전송해야 하는 문제가 있습니다. 이 문제를 해결하기 위해서 일단 이번 포스팅에서 이래저래 많은 시도를 했는데, 그 내용을 한번 올려보고자 합니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 일단 윈도 운영체제를 위해서 코드를 추가해 주도록 합니다. 그리고 나서 Popen에 새로운 옵션을 추가해 주도록 합니다. 그리고 나서 일일히 communicate하는 함수를 사용해 주도록 합니다. 이렇게 해서 무언가 변화-통신이 일단 부모 프로세스에서 자식 프로세스로 전달이 될 것을 기대를 했습니다. 결과부터 먼저 이야기를 한번 하자면, 일단 절반의 성공으로 우선 데이터를 제.. 2020. 2. 24.
멀티 프로세스를 이용한 병렬처리에 들어가 보기 -1- 안녕하세요? 멀티 스레드를 이용해서 어떻게 여러개의 조건을 병렬로 처리해 보고자 했습니다만, 그건 뜻대로 되지 않았습니다. 그래서 하는 수 없이 파이썬에서 멀티 스레드가 GIL이라는 락이 있어서 이런 특징이 있다고 하니, 이를 위해서 존재하는 멀티 프로세스를 이용해 보도록 했습니다. 이 작업을 하기 위해서 먼저 기존의 py파일을 복사해서 새로 만들어 준다고 해야 할까요? 일단 복사해서 다른 이름으로 만들어 주도록 합니다. 그리고 나서 기존에 하는 것처럼 for문 아래에 있는 데이터 베이스에서 하나하나 데이터를 읽어오는 문장을 그냥 주석처리 하도록 합니다. 그리고 나서 이번 작업을 하기 위해서, 일단 위 스크린샷처럼 새로운 차일드 프로세스 역할을 할 py파일을 생성해 주도록 합니다. 그리고 나서 다음으로 .. 2020. 2. 23.