퀀들(Quandl) API를 이용한 금융 데이터 수집 튜토리얼

이번 튜토리얼에서는 파이썬(Python) 환경에서 퀀들(Quandl) API를 이용해 다양한 금융 데이터를 수집하는 방법에 대해 다뤄보겠습니다. 데이터를 수집한 뒤에는 간단한 시각화도 진행해보겠습니다. 끝으로 수집한 데이터를 CSV파일 형태로 저장하는 방법에 대해서도 소개해드리겠습니다.

더 많은 파이썬 라이브러리 관련 정보

퀀들(Quandl)이란?

퀀들(Quandl)은 캐나다 토론토의 데이터 공유 플랫폼 회사입니다. 특히 금융 데이터를 퀀들이 제공하는 API를 통해 손쉽게 제공받아 분석에 활용할 수 있습니다. 퀀들 API는 퀀들 웹 사이트에 접속 후 가입 절차를 완료한 후 api_key를 발급받아 이용할 수 있습니다. 그럼 이제 퀀들 API를 이용하여 파이썬에서 금융 데이터를 수집해보도록 하겠습니다.

파이썬 라이브러리 임포트하기

# 시각화 툴
%matplotlib inline
import matplotlib.pyplot as plt

plt.rcParams["figure.figsize"] = (14,4)
plt.rcParams['axes.grid'] = True

import pandas as pd
#import pandas_datareader as pdr
import quandl
quandl.ApiConfig.api_key="your_key"



국제 금 가격

퀀들에서 국제 금 가격 데이터를 불러오기 위해 퀀들에서 “gold”를 검색합니다. London Bullion Market Association 영역에서 LBMA/GOLD이 퀀들 API에 사용할 ticker값 입니다. 아래 코드와 같이 df_gold에 퀀들 API를 이용해 2007-01-01 부터 2019-01-16 까지의 국제 금 가격 데이터를 할당합니다.

df_gold = quandl.get("LBMA/GOLD", trim_start="2007-01-01", trim_end="2019-01-16")


이제 df_gold에 할당된 국제 금 가격 데이터셋을 살펴보겠습니다.

df_gold.head()
USD (AM) USD (PM) GBP (AM) GBP (PM) EURO (AM) EURO (PM)
Date
2007-01-02 640.75 639.75 324.710 324.499 482.347 481.957
2007-01-03 636.75 642.60 324.277 329.386 481.511 487.483
2007-01-04 625.25 628.70 321.796 323.339 477.035 480.180
2007-01-05 626.00 609.50 322.464 315.574 477.936 468.558
2007-01-08 608.30 609.50 314.904 314.711 467.492 468.018
df_gold.tail()
USD (AM) USD (PM) GBP (AM) GBP (PM) EURO (AM) EURO (PM)
Date
2019-01-10 1292.40 1291.90 1012.98 1012.46 1121.54 1120.85
2019-01-11 1292.80 1288.95 1012.91 1007.57 1121.89 1123.96
2019-01-14 1293.70 1292.75 1007.02 1006.15 1129.27 1127.41
2019-01-15 1289.35 1294.40 1002.99 1008.60 1127.67 1130.53
2019-01-16 1290.50 1292.30 1002.46 1002.95 1130.99 1133.86


데이터의 컬럼 중 USD (AM)의 시간에 따른 국제 금 가격 그래프를 그려보겠습니다.

df_gold["USD (AM)"].plot(color="gold")
<matplotlib.axes._subplots.AxesSubplot at 0x1c2f667b0f0>

png

위와 같이 얻은 국제 금 가격 데이터를 CSV파일로 저장하는 코드는 다음과 같습니다.

df_gold.to_csv("<저장할 경로>/gold_070101_190116.csv", sep=',', index = True)

국제 금 가격 데이터를 수집, 시각화 및 저장한 방법을 그대로 응용하면 다음과 같이 국제 은 가격, 국제 구리 가격 및 국제 원유 가격 데이터 역시 쉽게 수집할 수 있습니다.



국제 은 가격

df_silver = quandl.get("LBMA/SILVER", trim_start="2007-01-01", trim_end="2019-01-16")
df_silver["USD"].plot(color="silver")
<matplotlib.axes._subplots.AxesSubplot at 0x1c2f693a390>

png



국제 구리 가격

df_copper = quandl.get("CHRIS/CME_HG10", trim_start="2007-01-01", trim_end="2019-01-16")
df_copper["Settle"].plot(color="darkred")
<matplotlib.axes._subplots.AxesSubplot at 0x1c2f6a89c88>

png



국제 원유 가격

df_oil = quandl.get("OPEC/ORB", trim_start="2007-01-01", trim_end="2019-01-16")
df_oil.plot(color="black")
<matplotlib.axes._subplots.AxesSubplot at 0x1c2f6b8cbe0>

png

지금까지 파이썬 퀀들(Quandl) API를 통해 금융 데이터를 수집하여 시각화 및 저장하는 과정을 알아봤습니다.

더 많은 파이썬 라이브러리 관련 정보

태그:

카테고리:

업데이트:

댓글남기기