2015년 7월 21일 화요일

판다곰(pandas)으로 주식 시세 확인 및 이동평균선 구하기

분석 라이브러리인 판다스(Pandas)를 통해서 주식 시세를 확인 하고,
이동평균선(7일) 구하는 과정을 요약합니다.


작성하는 시점에 판다스(Pandas)의 원격 데이터 수집 모듈이 독립을 하였기에,
먼저 관련 내용을 정리해 봅니다.

판다곰 문서 중에서,
http://pandas.pydata.org/pandas-docs/stable/remote_data.html

관리 차원에서 분리하는 것으로 보이고,
0.17+ 버전 부터는 pandas_datareader를 통해서 관리됩니다.
https://github.com/pydata/pandas-datareader

변경 사항은 기존 코드에서 단지 한줄이면 됩니다.
import pandas.io.data as web
=>
import pandas_datareader.data as web

다음은 판다곰으로 주식 시세 및 이동평균선 구하는 코드 입니다.

# 판다곰에서 독립한 데이터 입출력 라이브러리
import pandas_datareader.data as web
from datetime import datetime

# 2015년 1월 부터 현제까지의 데이터 수집
start = datetime(2015, 1, 1)
end   = datetime.now()

# 구글에서 대한항공의 주식 시세를 가지고 옵니다.
대한항공 = web.DataReader('KRX:003490','google',start,end)

# 종가 기준으로 플로팅을 하구요,
대한항공['Close'].plot(style='--')

# 7일 이동평균선을 약간 두껍게 플로팅 합니다.
pd.rolling_mean(대한항공['Close'], 7).plot(lw=2)

# 기타 양념을 뿌립니다.
title('2015년 대한항공 종가 시세')
xlabel('time')
ylabel('won')
legend(['종가시세','이동평균선(7일)'])"
결과는,

응용차원에서 최근 항공주 관련한 간략한 분석 플롯 올립니다.
* "조현아 사건" 구간은 유가 호재로 항공주 상승에도 불구하고, 대한항공이 맥을 못춥니다.
* "메르스 발병" 구간은 차별 없이 항공주에 악재로 작용하고 있는 것을 보여 줍니다.

필자는 판다스(Pandas)가 없었다면, 지금 파이톤을 하고 있을까라는 생각을 가끔 합니다.

댓글 1개:

  1. 안녕하세요. 제가 궁금한것이 있는데요 "대한항공 = web.DataReader('KRX:003490','google',start,end)" 해당 구문 실행 시 ImmediateDeprecationError 이런 에러가 뜨는데 무엇떄문인가요???

    답글삭제