본문 바로가기

프로그래밍377

초기 테스터(initial tester)의 제작-49- 안녕하세요? 이제 이 초기 테스터의 제작도 슬슬 끝이나 가는 중인데, 일단 이번 포스팅에서는 우선 완성이 되었다고 가정을 하고 전체 코스피에 대해서 한번 매수/매도 룰을 한번 테스트 하는 단계에 들어가 봤습니다. 물론 여기서 에러 없이 일단 제대로 작동 하기를 바라지만, 무슨 일에서 에러가 발생해서 이런 에러를 수정해야 하는 단계가 남아 있었습니다. 그래서 당분간의 포스트는 첫번째 매도/매수 룰을 테스트 하는 와중에 나온 에러를 해결하는 것을 포스팅으로 올리고자 합니다. 일단 중간에 한번 초기 테스터를 한참 돌리다가 무슨 이유에서 인지 에러가 발생하는 것을 볼 수 있었습니다. 시작한지 어느정도 되었기 때문에 어디서 에러가 났는지 확인하는 것이 중요합니다. 일단 마지막으로 생성된 종목의 결과가 저장폴더에 .. 2020. 2. 4.
초기 테스터(initial tester)의 제작-46- 안녕하세요? 지난번 포스팅에서는 어떻게 헛다리를 짚는 바람에 이래저래 힘이 빠지는 현상이 벌어지기는 했는데, 그건 그것이고, 아무튼 간에 계속해서 어디서 누수가 일어나는 지에 대해서 한번 잡아 보도록 해야 했습니다. 그래서 이번 포스팅에서는 그런데로 성공적인 방법이 나왔고, 그렇게 해서 잡은 메모리가 새어 나가는 지점에 대해서 이야기를 해 보고자 합니다. 이 작업을 위해서는 파이썬에 원래 내장되어 있는 모듈인 tracemalloc이라는 라이브러리를 먼저 import해서 가지고 와야할 필요성이 있습니다. 그리고 나서 위 스크린샷에서 볼 수 있는 것처럼 일단 self가 붙은 변수를 하나 만들어서 놓도록 하고, 다음 작업에 들어가 보기로 합니다. 그리고 나서 for문이 시작하는 지점에서 take_snapsho.. 2020. 2. 2.
초기 테스터(initial tester)의 제작-45- 안녕하세요? 지난번 포스팅에서 어떻게 에러가 발생한 것을 보고하였는데, 문제는 이 에러가 메모리 부족이라고 해서, 단순하게 RAM을 더 구한다고 해서 해결이 될 문제가 아니라는 것입니다. 아무래도 어디선가 메모리 누수가 일어나고 있는 것은 확실한데, 문제는 이 에러를 잡기 위해서도 그렇고, 이래저래 헛다리를 짚게 되는 경우가 많았는데, 이번에 포스팅의 내용도 이런 헛다리를 짚은 것이 다소 포함되어 있습니다. 먼저 위 스크린샷을 보시면 알 수 있는 것처럼 일단 Reset()이라는 메서드를 따로 지정을 해서 원래는 시각화 모듈이 처음 불려 올 때만 나오던 것을 따로 메서드로 빼서 여러번 부를 수 있도록 만들어 줍니다. 그리고 나서 시각화 모듈을 본격적으로 작동시키기 전에 초기화를 시키는 메서드를 반드시 실행.. 2020. 2. 2.
초기 테스터(initial tester)의 제작-43- 안녕하세요? 지난번 포스팅에서 어떻게 에러를 다 잡은 것으로 나왔습니다만, 문제는 이것만이 아니라 추가로 임의의 10개의 종목을 선정해서 한번 작업을 해 보아야 안전성을 검증할 수 있다는 문제점이 남아 있습니다. 그래서 이 작업을 하기 위해서 이번 포스팅에서 10개의 종목을 골라서 한번 단체로 실행을 시키고, 하나하나 단독실행을 시켜서 그 결과를 비교해 보았습니다. 먼저 위 스크린샷에서 볼 수 있는 것처럼 아무렇게나 있는 10개의 종목을 그냥 눈감고 골랐습니다. 이 종목들간의 서로간의 유사성이 있는지 없는지는 모르겠습니다만, 아무튼 이렇게 해서 골랐습니다. 1차로 단체로 실행을 시켜 보았습니다. 일단 10개의 종목을 다 살펴 보는데 걸리는 시간은 그렇게 길지는 않았습니다. 아무튼 완성은 되었으니....... 2020. 2. 1.