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

초기 테스터(initial tester)의 제작-11-

by 인터넷떠돌이 2020. 1. 15.
반응형

안녕하세요?

 

지난번 포스팅까지는 어떻게 프로그레스 바를 완성하는 것 까지 포스팅을 하였습니다. 하지만 이렇게 유저 인터페이스만 꾸미고 있을 것이 아니라, 이 일련의 포스팅의 이름처럼 일단 initial test를 진행하기 위한 프로그램을 만드는 것이 목적이라면 목적입니다. 그래서 이 작업을 하기 위해서 일단 매수/매도 룰을 계산하는 프로그램을 만들어야 했는데, 이 과정에서 생각지 못한 많은 오류가 발생해서 이를 수정하는데 상당한 시간이 걸렸습니다. 지금부터 일련의 이 작업이 이루어 지는 것에 대해서 한번 포스팅을 해 볼까 합니다.

먼저 001번 룰이라는 메서드를 만드는데, 나중에 따로 차트 데이터를 넘겨 받으려고 하면 상당히 골치가 아프기 때문에, 미리미리 메서드의 시작 부분에서 변수를 넘겨 받을 수 있도록 지정을 해 주도록 합니다.

그리고 나서 메인이 되는 py파일로 가서는, 위 스크린샷에서 보이는 것처럼 py파일을 import해 오도록 하고, 이 import해 온 py파일의 클래스 안에 있는 메서드를 사용하도록 해 봅니다.

일단 1차 시도는 성공적으로 보이기는 했습니다. 우선 데이터가 제대로 나오는 것을 볼 수 있었으며, 그 다음으로 에러 없이 끝이 나는 것을 볼 수 있었습니다.

그런데 어딘가 이상하다는 생각이 들기도 들었습니다. 어찌도니 것인지 날짜가 왜 저렇게 옆으로 빠지도록 나오는 것이며, 일단 어딘가 이상하지만, 정확하게 여기서는 상황을 정확하게 파악은 못했습니다.

 

 

그래서 한번 이번에는 위 스크린샷처럼 일종의 조그만한 변형을 주어서, 제대로 집어 올 수 있는지를 한번 살펴 보도록 했습니다.

이렇게 해서 하나하나 끝 데이터만 찾아오는 것이 가능하다는 것을 알 수 있었습니다. 일단 이렇게 해서 너무 시간이 걸리지도 않아서 이때 까지는 순조롭다고 생각했습니다.

이제 본격적으로 이동평균선을 계산하기 위해서 rolling()이라는 함수를 사용하기 위해서는, pandas가 필요한 상황이 와서, 위 스크린샷처럼 가장 윗쪽에서 import해 주도록 합니다.

그리고 나서 데이터 프레임으로 데이터가 올 것이기 때문에, 위 스크린샷에서 표시가 된 부분처럼 일련의 프로그램을 만들어 주도록 합니다. 이렇게 해서 120개 분봉의 평균과 표준편차가 나오게 됩니다.

 

그런데 일단 실행을 시켰더니, 이유는 모르겠지만 어디선가 에러가 발생해서 제대로 되지 않은 것을 확인할 수 있었습니다.

일단 디버그 모드로 실행을 시키고 나서야, 겨우겨우 위 스크린샷에서 나오는 부분에서 에러가 발생한 것을 확인할 수 있었습니다.

그리고 데이터 프레임으로 들어올 것이라고 예상한 chartData가 어떻게 된 것인지 모르겠지만 리스트라는 형식으로 되어 있는 것을 확인할 수 있었습니다.

실제로 에러의 내용도 인덱스를 지정할 때 str형식이라서 에러라는 식으로 되어 있는 것을 확인할 수 있었습니다. 이때 까지는 몰랐지만, 앞으로 한동안 애를 먹게될 문제의 신호탄이 지금 발사되는 순간에 와 있습니다. 일단 다음 포스팅에서는 지금 당장 보이는 에러부터 처리하는 방법을 알려 드리고자 합니다.

반응형