본문 바로가기
프로그래밍

python, 주식(보조지표) - 이동평균 구하기

by 청청개구리 2022. 6. 26.
728x90

 

 

너무도 기본적인 이동평균, '이평' 이라고도 부른다.

파이썬으로 구하는 방법을 알아보자.

 

 

이론적인 내용은, 아래 참고

이동평균선 - 나무위키 (namu.wiki)

 

이동평균선 - 나무위키

이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외) 기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권

namu.wiki

 

 

파이썬으로 구하는 방법을 알아보자.

사용데이터는 아래와 같다. (삼성전기)

 

 

코드를 살펴보자

 

64행 : 엑셀파일을 데이터프레임으로 읽어들인다.

67행 : 구하고자 하는 이평의 기간을 설정한다. 여기서는 3일 이평선을 가정하였다.

           이평을 구하게 되면, 값이 구해지지 않고 NaN으로 남게되는 구간이 생기는데,

            그 처리를 보이기 쉽게 하려 짧은 기간을 설정하였음.

68행 : 설정한 이평선이 포함되는 문자열을 하나 만들어두었음

69행 : 67행에서 설정한 이평기간에 대한  rolling() 메서드에 대해서, mean() 메서드를 적용한다

           해석하면, '  df의 '종가'라는 열을 대상으로 3개짜리 묶음(rolling)에 대해서 평균(mean)을 구하라  '

           라는 정도가 되겠다

72행 : 값의 출력

 

 

'이평만들기.xlsx' 에 얻어지 결과는 아래와 같다.

여기서 엑셀의 2행과 3행의 '3이평' 값이 비어 있는데,(노란색 셀로 칠해두었다)

이는 3일이평선을 구하기위해 1,2일차는 값을 구할 수 없기 때문이다.

 

 

 

 

만약 이런 NaN값이 들어 있는 행을 지우고 싶다면, 아래와 같이 해보자.

(몇 행을 지우게되더라도 상관없을 만큼 충분한 데이터 행이 있는 경우이다.)

 

74행 : NaN 이 있는 행을 제거한다

75행 : 데이터 프레임의 인덱스를 재정렬 한다

 

'이평만들기2.xlsx' 확인해 보자

 

 

'이평만들기.xlsx'와 비교하면

시작일이 2015년 1월 6일이 되었고(원래는 1월2일 이었음)

마지막 행 인덱스가 2만큼 줄어든 것이 확인 된다.

 

728x90