파이썬 판다스 주가 이동평균선 쉽게 계산하는 방법은?
목차
이동평균선을 구하는 방법은 어려지 않으나, 막상 하려고 하면 굉장히 귀찮다. 특히 그룹별로 한다고 생각하면 함수를 만들어서 적용하면 좋을 것 같지만, 선뜻 하고 싶지 않다. 이런 기능을 제공해주면 얼마나 좋을까 하고 생각하는 순간. 판다스 데이터 프레임에서 이동평균선을 쉽게 구할 수 있다는 사실을 알게 되었다. 오늘은 파이썬 판다스 이동평균선을 쉽게 계산하는 방법에 대해서 알아보도록 하겠다.
1. rolling이라는 함수를 이용하면 이동평균선을 쉽게 구할 수 있다.
rolling은 이동평균선처럼 정해진 구간을 이동하면서 요약값을 구할 때 유용한 함수이다. 테스트를 위해서 삼성전자 주가 데이터를 가져와봤다. financialReader패키지를 이용하면, 주식과 관련된 많은 정보를 손쉽게 얻을 수 있다. financialReader패키지에 대한 자세한 내용은 아래 포스팅을 참조하기 바란다.
( 참조: financeDataReader 알아보기 )
혹은 실시간 주가를 수집하고 싶다면, 한국거래소 API를 이용하면 된다. 한국거래소 API에 대한 내용은 아래 포스팅을 참조해보자.
( 참조: 파이썬 실시간 주가, 주식시세 데이터 수집하는 방법은? )
import FinanceDataReader as fdr
df=fdr.DataReader('005930','2019')
30일 이동평균선을 구하기 위해서는, rolling함수에 입력 파라미터로 30을 넣고 요약함수를 뒤에 붙여주면 된다. 60일,90,120일 이동평균선도 구해서 seaborn 패키지를 이용해서 그래프도 그려보았다.
df["mov_30"]=df["Close"].rolling(30).mean()
df["mov_60"]=df["Close"].rolling(60).mean()
df["mov_90"]=df["Close"].rolling(90).mean()
df["mov_120"]=df["Close"].rolling(120).mean()
import seaborn as sns
sns.lineplot(x=df.index,y=df["mov_30"])
sns.lineplot(x=df.index,y=df["mov_60"])
sns.lineplot(x=df.index,y=df["mov_90"])
sns.lineplot(x=df.index,y=df["mov_120"])
( 삼성전자 이동평균선 )
2. window, min_periods, center, win_type, on, axis, closed의 입력파라미터를 제공하고 있다.
왜 이렇게 입력파라미터가 많은가 하는 생각이 든다. 하지만, 이동평균선을 구하면서 이렇게 했으면 좋겠는데, 하는 것은 옵션으로 다 제공하고 있다.
min_periods에 값이 있으면, 최소로 지정한 수 이상의 데이터 갯수가 있으면 요약값을 구한다. 이동평균선을 구하면 앞에는 데이터가 없어서 NA로 기록되는데, 이게 보기 싫을 때 유용하게 사용할 수 있다.
기본으로 인덱스를 기준으로 이동평균선을 구한다. 다른 칼럼을 기준으로 하고 싶다면, on="칼럼명" 이렇게 입력하면 된다.
win_type을 설정하지 않으면 모든 데이터에 동등한 가중치를 준다. 하지만, 다른 타입을 적용하면 가중치가 적용된 이동평균선을 구할 수도 있다. boxcar, triang, blackman 등 다양한 옵션들이 있다.
자세한 내용은 판다스 홈페이지에 잘 설명되어 있으니, 아래 페이지를 참고하기 바란다.
( 참조: 판다스 rolling함수 docs 바로가기 )
오늘은 이렇게 파이썬 판다스 주가 이동평균선 쉽게 그리는 방법에 대해서 알아보았다. rolling이라는 함수가 있어 어렵지 않게 그릴 수 있었다.
파이썬을 직접 활용하는 것만큼 효과적인 공부는 없다. 그래서 파이썬을 활용해서 할 수 있는 일드을 정리해보았다. 자세한 내용은 아래 포스팅을 참조해보자.
( 참조: 파이썬 활용, 파이썬 프로젝트로 할 수 있는 일들을 알아보자! )
'Python > 파이썬 배우기' 카테고리의 다른 글
파이썬 포스팅은 인포킹(infoking.site)도 방문 바랍니다! (6) | 2021.06.12 |
---|---|
파이썬을 위해 pycharm(파이참)을 써야만 하는 이유 5가지! #pycharm설치 (8) | 2021.02.19 |
파이썬 데이터 분석 도서 추천, 금융 데이터를 위한 파이썬! (30) | 2020.06.23 |
의외로 모르는 파이썬 기초 총정리! (6) | 2020.05.27 |
빅데이터 분석 전문가 자격증 ADSP, 어떤 자격증인가? (0) | 2020.02.19 |
Pycharm에서 Keras 설치하여 사용하는 방법은?! (0) | 2020.02.12 |
파이썬 애니웨어 매월 반복해서 코드 실행하기 (0) | 2020.02.10 |
파이썬 소수점 버림·올림·반올림하는 방법은?! (0) | 2020.01.28 |