안녕하세요?
하루종일 비가 오는 날인데, 일단 이래저래 일요일에 했었던 작업의 결과를 한번 올려 보고자 합니다. 우선은 어떻게 해서 6시간 이상이나 걸리던 평균회귀 테스트를 하는 프로그램을 더 빠른 시간 안에 코스피나 코스닥을 다 테스트 할 수 있도록 만들었는지 한번 포스팅으로 올려 보고자 합니다.
먼저 위 스크린샷과 같이 한번 남아 있는 데이터가 있으면 while문을 통해서 가지고 오는 코드가 있었는데, 저 블록의 코드를 못 쓰도록 만들어 봅니다.
그러자 일단 8월 26일까지의 데이터가 오는 것을 확인할 수 있기는 있었습니다. 일단 이렇게 while문을 없애는 것만 가지고는 무리고, 우선은 날짜 정보를 가지고 올 수 있기는 있다는 생각이 들었습니다.
그리고 전체 계산에 26초 이상이 걸렸던 것을 생각해 본다면, 상당히 시간이 줄어든 것을 확인할 수 있기는 있었습니다. 제 생각대로 이렇게 키움증권 서버에서 쓸데없이 1분봉 차트를 많이 가지고 오는 것을 줄일 수만 있다면, 전체 코스피나 코스닥의 시간을 줄일 수 있으리라 생각이 들었습니다.
실제로 줄어든 것인지 아닌지 확인해 보기 위해서, 한번 위 스크린샷처럼 전체 데이터를 가지고 왔을 경우에는 26초가 걸린 것을 확인할 수 있었습니다.
그래서 당면한 과제로, 우선 위 스크린샷에서 보이는 것처럼 일단 날짜만을 가지고 올 수 있는지 없는지를 한번 테스트 해 보고자 합니다.
일단 위 스크린샷에서 나와 있는 것처럼 우선 날짜만을 선택해서 가지고 올 수 있는 것은 확실해 보입니다. 이게 어떤 형태의 데이터인지도 한번 확인해 봐야 합니다.
그래서 이번에는 위 스크린샷처럼 type()라는 함수를 이용해서 이게 int인지 아니면 str인지, 그것도 아니면 다른 무엇의 형태인지 한번 알아보고자 합니다.
일단 확인결과 str인 것을 확인할 수 있었습니다. 일단 str을 가지고서 이게 더 크고 작다를 비교할 수 없으니, 날짜 형식으로 바꾸어 보고자 합니다.
위 스크린샷처럼 datetime.datetime이라는 함수에서 strptime이라는 함수를 이용, 날짜 형식으로 만들어 줄 수 있다는 것을 알 수 있습니다.
이렇게 해서 날짜 형식으로 바꾸는 데 성공할 수 있었습니다. 비록 시간에 대한 것이 없기는 하지만, 일단 그것까지 하려면 너무 많이 나간다는 감이 있어서, 여기서 그만 하도록 합니다.
그래서 이런 경우 setupDate라는 항목을 따로 만들어서, 이 항목보다 날짜가 더 작다 = 더 과거이면 while문을 break하라는 형식으로 만들어 줍니다.
이런 식으로 해서 기존엔느 26초 걸리던 계산이 이번에는 어떻게 된 셈이지 8초 밖에 걸리지 않은 것을 확인할 수 있었습니다.
그리고 이제 데이터 프레임(dataframe)으로 제대로 전환이 되는 지 아닌지를 한번 살펴보아서, 여기서 나오는 내용을 가지고서 진짜, 제대로 된 계산이 되는지 아닌지 알아 보고자 합니다.
확인결과, 위 스크린샷처럼 제대로 시간이 나오면서 dataframe이 생성이 되는 것을 확인할 수 있었습니다. 이제 이 내용을 바탕으로 해서, 한번 계산에 들어갈 시간이 되었습니다. 일단 여기까지만 해서는 우선 기존에 6시간씩 걸리던 코스피나 코스닥의 평균회귀 테스트가 더 짧은 시간안에 끝이 날 수 있는 것으로 바꾸었다는 것을 알 수 있습니다.
'무모한 도전-주식 인공지능 만들기' 카테고리의 다른 글
2019년 9월 첫 평균회귀 테스트 결과-1- (0) | 2019.09.03 |
---|---|
평균회귀 테스트를 하는 프로그램의 개선-2- (0) | 2019.09.03 |
2019년 8월 30일 주식 모의투자 실험 (0) | 2019.09.01 |
다시한번 시도해 본 평균회귀 테스트와 발견한 오류 (0) | 2019.09.01 |
정말 심각한 문제의 발견 (0) | 2019.08.31 |