[누구나 따라 하는 금융데이터 분석] - 파이썬에서 캔들차트에 이동평균선 그리기

알파프라임

오늘은 파이썬 아나콘다 환경에서 주피터 노트북을 통해 그려진 캔틀차트에 이동평균선을 그리는 방법에 대해 알아보도록 하겠습니다. 주피터 노트북 상에서 주가 데이터를 읽어와 캔틀차트를 그리는 방법, 이동 평균선에 대한 설명은 다음 링크를 참조해 주세요.

파이썬에서 캔들차트 그리기 : [누구나 따라 하는 금융데이터 분석] - 파이썬에서 캔들차트 그리기

이동평균선 카드템플릿 : [기술적 분석 시리즈 #4 - 이동평균선]

이동평균선은 위와 같이 계산되어 집니다.

파이썬으로 이러한 이동평균선을 어떻게 쉽게 계산할 수 있을 까요? 어떤 주가 데이터가 있을 때 이런 이동 평균을 매일 일일이 다 계산하는 것은 매우 비효율적 입니다. 이 때 편리하게 사용할 수 있는 기능이 pandas.Series.rolling(도큐멘테이션 확인하기) 입니다. 저번 캔틀차트 그리기 컨텐츠에서 다음과 같이 애플 2018년 3분기 데이터를 불러 올 수 있었습니다.

이동평균선은 종가(수정종가) 값을 기준으로 만들어지기 때문에 다음과 같이 종가 데이터에 접근하여 변수 타입을 확인해 보도록 합니다.

종가 데이터가 pandas.Series 타입으로 저장되어 있습니다.

판다스의 rolling 기능을 사용하여 다음과 같이 5일 이동평균선을 계산할 수 있습니다. 계산된 값을 ma5 (moving_average_5) 라는 변수에 저장합니다.

다음과 같이 5일 이동평균선을 계산 할 수 있습니다.

출력된 ma5 값을 확인해 보면 처음 4개에 대해서는 NaN(Not a Number)라는 값이 저장되어 있습니다. 이는 해당 시점에서는 이전 5일간의 데이터가 존재하지 않기 때문에 자동으로 채워진것 입니다. 같은 방식으로 ma20을 계산해 봅시다.

계산된 20일 이동평균선 데이터 입니다.

출력된 ma20 값을 확인해 보면 위와 같은 이유로 처음 19개에 대해서는 NaN(Not a Number)라는 값이 저장되어 있습니다. 이는 해당 시점에서는 이전 20일간의 데이터가 존재하지 않기 때문에 자동으로 채워진것 입니다. 이제 위의 데이터를 저번에 그렸던 캔들차트에 같이 표시해 보도록 하겠습니다. 다음과 같이 코드를 작성하여 캔틀차트와 이동평균선을 같이 띄울 수 있습니다.

다음과 같이 차트를 띄워볼 수 있습니다.

이번 글에서는 이동평균선을 계산하여 캔들차트에 같이 출력하는 방법에 대해 알아보았습니다. 다음 게시글에서는 MACD와 같은 보조지표를 차트에 같이 그리는 방법에 대해 알아보도록 하겠습니다.

질문이나 더 궁금한 점은 댓글로 올려주시면 저에게도 큰 도움이 될 것 같습니다! 다음 포스팅도 기대해주시길 바랍니다.

더 유익한 정보를 얻고 싶으시다면 페이스북 알파스퀘어 페이지를 방문해주세요!

차세대 주식투자 플랫폼, 알파스퀘어에서 스마트한 주식투자를 경험해보세요!

기업문화 엿볼 때, 더팀스

로그인

/