본문 바로가기

Theory/DataScience

Python을 이용해서 구글에서 주식 정보 가져오기

Python으로 데이터를 분석하는 놀이(^^)를 하면 작은 장난감같은 뭔가를 얻을 수 있습니다. 아직은 이걸로 뭘 해야하는지 모르는 그러나 그냥 들여다보면 재미있는 것들이지요. 그중 하나로 오늘은 Python에서 주식정보를 구글을 통해 가져오는 것을 이야기할려고 합니다.^^.

import pandas as pd
import pandas.io.data as web
from datetime import datetime
import matplotlib.pyplot as plt
import numpy as np
import seaborn as sns

import warnings
warnings.simplefilter(action = "ignore", category = FutureWarning)

from matplotlib import font_manager, rc
font_name = font_manager.FontProperties(fname="c:/Windows/Fonts/malgun.ttf").get_name()
rc('font', family=font_name)

%matplotlib inline

plt.rcParams['axes.unicode_minus'] = False
plt.rc('figure', figsize=(10, 6))

하~ 뭔가 설정할게 많네요~^^ 일단 Anaconda를 설치하면 당연하지만... pandas부터 줄줄이 설치되어 있으니 신경쓸게 없지만 [바로가기]에서 이야기한 Seaborn은 설치되어 있어야합니다. 뭐 그리고, warnings는 FutureError라는 아이를 안보게 하는 것이고, 또 font_manager어쩌고는 한글을 matplotlib에서 표현하도록 한 것입니다. 그리고 axes.unicode_minus 하는 부분은 matplotlib에서 '-'는 유니코드로 취급하지 않게 해서 무난히 나타나도록 한 것이구요... 뭐 많네요ㅠㅠ. 이제 ...

대한항공의 주식종목코드는 003490입니다. 이를 알고서 web.DataReader로 읽으면 됩니다. 그...그게 끝입니다>^^

앞부분만 잠시 보면 정보가 잘 들어왔다는 것을 알 수 있습니다.^^

plot을 시켜보면 뭔가 주식스럽(^^)네요. 특히 pandas가 제공하는 moving average[바로가기]인 pd.rolling_mean()함수가 유용하게 사용됩니다.

이번에는 삼성전자의 주식정보를 가지고 왔습니다.

truncate 함수로 2015년 12월 12일 데이터 이후부터, 종가(close) 데이터만 가져와서 다시 그리도록 한것입니다.^^

뭐 혹은 위 그림처럼 그냥 범위를 지정해도 되구요~~~ 구글을 이용하면 아주 쉽게 (종목코드만 안다면) 쉽게 주식 정보를 가져올 수 있군요^^

반응형