퀀들(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>

위와 같이 얻은 국제 금 가격 데이터를 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>

국제 구리 가격
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>

국제 원유 가격
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>

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