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

평균회귀 모델의 구현

by 인터넷떠돌이 2019. 4. 30.
반응형

안녕하세요?

 

이제까지 허스트 지수같은 것을 한번 구해본 이유가 바로 이 평균으로 값이 회귀하는 성질이 있는 모델을 한번 사용해 보고자 하는 것입니다. 그래서 이번에는 이를 본격적으로 구현해 보기 위해서 한번 새로운 두뇌역할을 하는 py파일을 pytrader프로젝트 내에서 만들어서 구현해 보는 것 입니다.

 

먼저 Average_return이라는 클래스를 하나 만들어 보도록 합니다. 그리고 나서 초기화를 하는 메서드에서 input()을 사용해서 부모 프로세스로 부터 데이터를 가지고 오도록 만들어 보도록 합니다.

 

그리고 나서 관련된 공식이 [머신러닝을 이용한 알고리즘 트레이닝]이라는 책에서 나와 있는 공식을 이용해서 한번 평균회귀 모델을 만들어 보도록 합니다.

 

그리고 이게 제대로 작동하는 지를 테스트 해 보기 위해서는 위 스크린샷에서 나와 있는 것처럼 해당하는  항목 하나하나를 한번 일일히 지정해 주도록 합니다.

 

그리고 나서 위 스크린샷처럼, pandas에서는 평균과 표준편차를 구할 수 있는 함수가 있기는 있습니다. 그래서 이 방법을 사용하는 것으로 10일 이동평균선을 구하도록 합니다.

 

 

그런데 유감스럽게도 위 스크린샷에서 나와있는 것처럼, 있을 것으로 예상한 함수는 이제는 더 이상 존재하지 않는 다는 것을 볼 수 있었습니다.

 

그래서 테이터프레임.rolling(숫자).mean() 이나 std()라는 함수를 사용해서 각각 10개의 데이터부터 평균과 표준편차를 구하라고 만들 수 있었습니다.

 

그런데 위 스크린샷에서 볼 수 있는 것처럼, 예상치 못한 새로운 에러가 발생하는 것도 확인할 수 있었습니다. 이번에는 어디가 문제인지 찾아봐야 합니다.

 

가장 마지막 row를 선택하는 과정에서 문제가 있었습니다. 이게 리스트가 아니라 데이터 프레임이라는 것을 잊어서 벌어진 일인데, 해당하는 것으로 iloc[] 함수를 사용해서 한번 만들어 주도록 합니다.

 

그런데 미처 마지막짜기 챙기지 못해서 생긴 에러가 있다는 것을 확인할 수 있기는 있었습니다. 이것도 역시 해결하기 위해서 위 스크린샷처럼 어디가 문제인지 알았으니 해결하러 가 봅니다.

 

그리고 나서 위 스크린샷에서 나오는 것처럼 여기서도 일종의 데이터 프레임이기 때문에 iloc[]함수를 사용해서 만들어 주도록 합니다.

 

그러나 계산이 제대로 되지 않는 상황이 벌어졌습니다. 왜 이런고 했더니 위 스크린샷처럼 values함수를 사용해서 값만을 추출해서 계산을 하지 않아서 발생한 에러 였습니다.

 

이제서야 제대로 결과만이 출력이 되는 것을 확인할 수 있었습니다. 그래서 이제 테스트는 얼추 끝났기 때문에 이를 위해서 한번 작업을 해 보아야 합니다. 그래서 관련된 내용을 다음 포스팅에서 이어서 할 것을 약속드리며, 이번 포스팅은 여기서 마치도록 해 보겠습니다.

반응형