Pandas에서 이동평균선 구하기

반응형
    반응형

    주식 차트를 분석하기 위해 이동평균이 필요할 때가 있습니다.

    그렇지만 보통 주식데이터는 주가와 거래량만을 가져오기 때문에 이동평균선을 직접 구해야 합니다. 

    만약 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 처리에 대해 알고 싶으신 분은 다음 포스팅을 참고해주세요.

     

    [Pandas] DataFrame 결측치(NaN) 처리

    데이터를 수집하면 전산오류나 사람의 실수로 결측치가 발생하게 됩니다. 특히 외부에서 데이터를 가져오면 더욱 그럴 수 밖에 없는데 결측치를 방치하고 알고리즘에 데이터셋을 넣게 되면 아

    seong6496.tistory.com

     

    댓글

    Designed by JB FACTORY

    ....