본문 바로가기

전체 글3587

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.
초기 테스트에 멀티 스레드를 적용해 보기 -3- 안녕하세요? 이번 포스팅에서는 지난번에 너무 길어서 끊었던 지점부터 이어서 작업을 하는 모습을 보여줄 것인데, 여기서 마지막에 결론이라면 결론이 하나 나오기는 나왔습니다. 아무튼 간에 이 결론에 이르는 과정을 한번 보여드릴까 합니다. 먼저 위 스크린샷처럼 메인 스레드라고 해야 할까요? 일단 여기서 신호를 받게 되면, 그 신호를 받아서 우선은 유용하게 프로그레스 바를 정리할 수 있도록 만들어 주도록 합니다. 그 다음으로위 스크린샷과 같이 현재 상황을 알려주기 위한 신호를 송출하기 위한 메서드도 한번 작성을 해 보도록 합니다. 물론 위치는 바로 Worker에 설치를 해 주어야 합니다. 그리고 나서 당연하다면 당연하게도 원래는 프로그레스 바를 가지고 작업을 하던 곳에서 원래 코드를 주석처리하고, 대신 신호를 .. 2020. 2. 22.