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

pytrader로 일봉차트(캔들차트) 가지고 오기-2-

by 인터넷떠돌이 2018. 12. 10.
반응형

안녕하세요?


일단 지난번 포스팅에서 무언가 데이터 베이스 파일에 저장이 된 데이터의 배열이 마음에 들지 않았다는 것을 언급하였는데, 이번 포스팅부터 한동안은 이 내용을 가지고서 좌우충돌해 가면서, 어떻게 수정을 해 갔는지에 대해서 포스팅을 하고자 합니다. 의외로 이게 모르면 상당히 어려운 문제라서, 상당히 애를 먹었습니다.



먼저 위 스크린샷처럼 data라는 자료항목을 가지고서, 한번 ascending을 false로 만들어서 한번 내림차순이 되도록 설정을 해 보았습니다.



그런데 어떻게 된 것인지 몰라도 에러가 뜨면서 제대로 프로그램이 실행이 되지 않는 것을 볼 수 있었습니다.



그래서 일단 다음으로는 먼저 index를 지정하지 않고 dataFrame을 만든 다음에 date라는 항목으로 내림차순 배열(ascending을 False로 설정)해서 date를 인덱스로 설정하도록 set_index()함수를 사용했습니다.



그리고 나서 일단 pytrader를 실행시킨 다음에, 위 스크린샷처럼 종목코드를 입력한 다음에, 일봉차트 가지고 오기를 선택해 보도록 합니다.



그런데 제 기대와는 다르게 일단 오름차순이라고 해야 할까요? 아니면 제가 오름차순 내림차순을 반대로 알고 있는 것일까요? 아무튼 간에 가장 최근 날짜가 가장 윗쪽에 오는 것으로 되었습니다.




그래서 하는 서 없이 일단 기존에는 ascending을 False로 했는 것을 True로 만들어 죽도서, 다음에는 ''로 설정해서 안 먹힌건가 싶어서 set_index()안을 ""로 바꾸어 주었습니다.



그렇게 해서 일단 날짜를 기준으로 가장 과거 날짜가 위로 가도록 만들어 주는 것에는 성공했습니다만, 문제가 인덱스가 별도로 생겨져 있는데, 이 인덱스는 아직도 뭐가 잘 되지 않았습니다.



그래서 이번에는 reset_index()라는 메소드를 넣어서, 이번에는 제대로 인덱스가 처음부터 0으로 나올 수 있기를 기대하면서 한번 작업을 해 보았습니다. 그러나 결과는 실패였습니다.



그래서 이번에는 drop=True라고 해서, 기존의 인덱스를 버리라는 명령을 넣어 보아서, 한번 이럴 경우에는 어떻게 되는지를 알아 보고자 했습니다만, 이번에도 제대로 실행이 되지 않고서 실패했습니다.



그래서 이번에는 reset_index()함수의 사용을 아예 빼버리고 한번 시도를 하고자 합니다.




이번에는 성공적으로 나오기는 했습니다만, 문제는 여전히 index항목에 있는 숫자는 가장 큰 숫자가 가장 위에 오면서 아래로 내려갈 수록 작아진다는 특징이 있습니다.



그래서 이번에는 어디가 잘못 되었나 싶어서 한번 위 스크린샷처럼 기존의 axis를 0이라고 해서 숫자로 인식하는 것을 1로 바꾸어서 문자열로 인식하게 한 다음에, reset_index()함수를 다시 사용해 보고자 합니다.



그러나 한번 프로그램이 실패 하였고, 이번에는 다시 한번 더 실행을 해보고자 합니다.



하지만 계속해서 실패해서 한번 시험삼아서 기존의 date를 인덱스로 하는 dataFrame을 만들어 보았습니다. 그리고 이번에는 인텍스를 세팅해 주는 명령어라는 set_index()함수를 사용해 보았습니다.



그러나 계속해서 실패만 하는 것을 확인할 수 있었습니다. 여기서 또 암초에 부딪쳤다면 부딪쳤는데, 아무튼 간에 이는 사소해 보일 수도 있지만 어쨎든 엑셀 데이터 시트를 정렬했던 것을 RLTrader에서 생각해 보았다면 한번은 짚고 넘어가야 하는 문제임은 분명해 보입니다.

반응형