Pandas에서 이동평균선 구하기
- Python/Pandas
- 2021. 3. 20.
반응형
반응형
주식 차트를 분석하기 위해 이동평균이 필요할 때가 있습니다.
그렇지만 보통 주식데이터는 주가와 거래량만을 가져오기 때문에 이동평균선을 직접 구해야 합니다.
만약 5일 이동평균선을 구하려고 한다면 5일씩 잘라서 계산을 해야하는데 엑셀로 직접할 수도 있지만
번거롭습니다.
Pandas 를 이용하면 이동평균선을 쉽게 구할 수 있습니다.
Rolling()이라는 메쏘드를 쓰면 되는데요.
Rolling()을 이용하여 10일 이동평균선을 구해보도록 하겠습니다.
삼성전자 가격 데이터입니다. 이것을 df로 하고 구해보겠습니다.
먼저 10일 이동평균선을 구하기 위해서 10일치의 종가의 평균을 구해야 하니 10개를 잡고 그것의 평균을 구합니다.
10개를 잡기 위해서 rolling을 씁니다. window 파라미터에 내가 잡을 갯수를 써넣으면 됩니다.
현재는 10개씩 잡아야 하므로 window=10을 씁니다. 그러면 10개씩 잡힙니다.
df['MA'] = df['Close'].rolling(window=10).mean()
df.head(20)
20개의 데이터를 불러봤는데 보면 앞의 9개는 10개가 안 되므로 mean을 구할 수 없어서 NaN으로 처리 됩니다.
이런 식으로 이동평균선을 구할 수 있습니다.
NaN 처리에 대해 알고 싶으신 분은 다음 포스팅을 참고해주세요.
'Python > Pandas' 카테고리의 다른 글
[Pandas]데이터프레임 순회하기 (0) | 2021.04.10 |
---|---|
[Pandas] DataFrame을 딕셔너리로 변환 (0) | 2021.04.04 |
[Pandas] 간단하게 수익률 구하기(pct_change) (0) | 2021.02.27 |
[Pandas] DataFrame 시간 인덱스 나누기 (4) | 2021.02.13 |
[Pandas] DataFrame 합치기(Merge) (0) | 2021.02.10 |