퀀들(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를 통해 금융 데이터를 수집하여 시각화 및 저장하는 과정을 알아봤습니다.
댓글남기기