Python中的Quandl包

Python中的Quandl包

在下面的教程中,我们将了解Quandl包及其在Python编程语言中的使用,并举一些示例。但在我们开始之前,让我们了解一下Quandl是什么

了解Quandl

Quandl是一个为用户提供经济、金融和替代数据集的平台。用户可以下载免费数据,购买付费数据或将数据销售给Quandl。

在下面的教程中,我们将了解如何使用Python编程语言提取数据的方法。

了解Quandl的数据结构

Quandl的数据有两种格式:第一种是时间序列,第二种是表格。

请记住,某些数据集可能以两种格式都可用。

时间序列格式

时间序列数据是指在一段时间内获取的数据。

时间序列数据通常以折线图的形式显示,其中X轴表示日期,Y轴表示其他数值观察结果。

时间序列的格式仅包含数值数据,其索引由一个日期字段指示。这意味着数据按日期排序。这种格式使用户可以检索完整的时间序列或特定部分,也称为“切片”。

由于财务数据通常包含与日期和观察结果完全匹配的数据,所以Quandl的大部分数据集以时间序列格式保存。

表格格式

表格不仅包含数值,还包含各种未排序的数据类型,如字符串、数字、日期等等。我们还可以将它们按照不同的字段进行筛选。

什么是Quandl ID代码

每个数据源都由一个短ID组成。这个ID也被称为Quandl代码。

例如,

  • 联邦储备经济数据(时间序列):FRED
  • 美国核心基本面数据(表格):SF1

像FRED这样的时间序列数据由大量单独的时间序列组成,每个时间序列都有其自己的Quandl代码添加到主Quandl代码上。例如,美国民用失业率:FRED/UNRATE。

相反,像SF1这样的表格数据由单个或多个表格组成,每个表格都有自己的Quandl代码。例如,Core US Fundamentals表的Quandl代码是SHARADAR/SF1。

Quandl提供了广泛的数据分析工具,包括API、Python、R、Excel、Ruby等等。

可以在以下网址找到完整的列表: https://data.nasdaq.com/tools/full-list 。

了解Quandl的优缺点

使用Quandl的优点如下:

  1. Quandl提供了庞大的数据集合(超过2000万个数据集)。
  2. 所有数据集都可以以任何首选格式立即下载。
  3. 无论数据最初是由谁发布的或以何种格式,都可以通过Quandl的相同API获得所有数据集。
  4. 数据是透明的。
  5. 数据集整洁且易于定位。
  6. Quandl的部分内容是免费并开放给所有人。
  7. 每周都会添加新数据。
  8. 我们可以在许多程序中使用Quandl(如Excel,R,Python,Ruby,MATLAB等)。
  9. 我们可以利用Quandl销售数据。

使用Quandl的缺点如下:

  1. 有许多独特的数据集是收费的。
  2. 在构建分析或发现信息时,提供的支持有限。
  3. Quandl对初学者不太友好。
  4. 他们没有实时或延迟的股票价格数据。
  5. 他们没有主要安全清单。

Quandl是免费的吗

Quandl提供免费和高级产品。Quandl API是免费的,并且可以访问所有免费数据集。

Quandl用户需要支付费用才能访问Quandl的高级数据产品。

理解免费和高级数据集之间的区别

Quandl提供来自不同“可靠和成熟”来源(如央行,组织,政府机构等)的各种免费产品。

相反,Quandl的高级产品来自数据提供商(如Barchart,AlgoSeek,Brave New Coin,Applied Research,CryptoCompare等)。

完整列表可以在以下网址找到: https://www.quandl.com/publishers 。

Quandl的高级数据集有定期更新周期。相比之下,免费数据集没有保证的更新周期,通常需要几小时到几周、几个月甚至几年(取决于数据本身)。

Quandl的高级数据由拥有数十年经验的专业供应商开发和管理。这提高了文档、组织、准确性、独特性和数据结构的改进。在这种情况下,我们可以观察到高级数据的优势。

我们可以通过订阅计划在Quandl上购买高级数据。通过这些订阅计划,我们可以订阅我们需要的特定数据集。这意味着我们只需要为我们需要的数据付费。此外,请记住,Quandl在使用其平台或开放数据源时没有任何费用。

大多数高级数据集都附带一些免费样本数据。我们可以通过登录Quandl账户来访问这些免费样本数据。一旦我们点击我们感兴趣的任何高级数据源,网站将带我们进入该源的主页,在主页上我们将获得一些样本数据。

需要提到的是,每个免费数据源都包含一个指向其来源的透明链接,这意味着我们可以验证数据和数据来源。

了解Quandl中的免费数据类型

Quandl为用户提供多种类型的免费数据,包括价格和交易量、基本面、衍生指标、情感数据、国家统计数据等。

以下是Quandl平台上提供的一些免费数据集的列表:

  1. Wiki连续期货 - 此数据集建立在ICE、CME、LIFFE等原始数据的基础上,并由Quandl社区进行管理。
  2. 美联储经济数据 - 此数据集涉及就业、劳动力、增长、制造业、通胀和美国经济数据。

了解Quandl中的付费数据类型

Quandl为用户提供与估算、企业、行动、替代数据、技术分析等相关的付费数据。

以下是Quandl平台上提供的一些高级数据集的列表:

  1. Nasdaq Dorsey技术分析数据 - 此数据集包含超过50个技术指标和49000多家全球股票、共同基金和交易所交易基金的图表信息。
  2. Zacks销售预测 - 此数据集包括对4000多家美国和加拿大上市公司的销售预测的共识。
  3. Sharadar核心美国股票和基金价格 - 此数据可自解释。

在Quandl上创建账户

在Quandl平台上创建账户至关重要,原因如下:

  1. 可以访问其API、工具和库。
  2. 可以以任何格式下载免费或付费数据。
  3. 还可以访问Quandl的导出和可视化工具。
  4. 还可以查看有关其付费数据定价和许可的相关信息。

现在让我们开始使用Quandl账户。请记住,注册是免费的,不需要信用卡或借记卡信息。

以下是注册Quandl账户的步骤:

步骤1: 访问Quandl网站(链接:https://data.nasdaq.com/),然后单击右上角的“注册”按钮。

Python中的Quandl包

步骤2: 在页面上将显示一个注册页面,需要用户填写他们的名字和姓氏,以及使用Quandl或Nasdaq Data Link的目的(商业、学术或个人)。请随意输入所需的详细信息。完成后,点击”Next”。

Python中的Quandl包

步骤3: 现在,另一个网页将出现,要求用户输入他们的电子邮件地址和国家,并回答一个关于“您将如何使用这些数据?”的问题。在填写必填项后,点击“下一步”。

Python中的Quandl包

步骤4: 用户将看到注册流程的最后一个页面,要求用户创建密码。一旦密码创建成功,并勾选了服务条款和隐私政策框,点击“创建账户”。

Python中的Quandl包

步骤5: 现在,一个欢迎页面将出现在 API Key 上。请确保复制该密钥并验证电子邮件地址。

Python中的Quandl包

如果有人在没有复制API密钥的情况下按下了“继续”按钮,这不是个问题。API密钥可以在“账户详情”部分找到。

Python中的Quandl包

现在让我们了解一下API密钥是什么。

API密钥是应用程序编程接口密钥的缩写,表示为计算机传递给应用程序的代码字符串。然后,应用程序或程序使用API密钥来识别用户到一个网站。

API密钥是一个“秘密”的身份验证令牌和唯一标识符。我们可以将其视为从Quandl收集数据的个人秘密“密码”。

访问Quandl数据的不同方法

我们可以借助Python,Excel,MATLAB,Ruby,R等来访问Quandl数据。

在本教程中,我们将介绍Python方法。

使用Python提取Quandl数据

以下部分将介绍如何使用Python编程语言提取Quandl数据。

我们将使用Visual Studio Code(VS Code)进行本部分操作。我们将使用一个称为“pip”的框架来安装Python的Quandl包。’pip’框架允许程序员从可信赖的公共存储库安装软件包或模块,并对其进行管理。我们可以使用该框架,并在命令提示符(CMD)或终端中键入以下命令:

语法:

$ pip install quandl

安装完包后,我们可以通过创建一个空的Python程序文件并编写一个导入语句来验证它,如下所示:

文件:verify.py

import quandl

现在,保存上面的文件并在终端中使用以下命令执行:

语法:

$ python verify.py

如果Python程序文件没有返回任何错误,则表示包安装正确。但是,如果引发了异常,请尝试重新安装包,并建议参考官方包文档。

现在让我们通过一些示例来了解如何使用Python Quandl包。

示例1:WTI原油价格

在下面的示例中,我们需要从美国能源部获取WTI原油价格。现在让我们考虑以下演示相同内容的代码片段:

代码:

# importing the required packages
import quandl as qdl
import numpy as np
import pandas as pd

# activating the API key
qdl.ApiConfig.api_key = "ENTER_API_KEY" 

# extracting the data using the get() method
data = qdl.get("EIA/PET_RWTC_D")

# printing the data
print(data)

输出:

            Value
Date
1986-01-02  25.56
1986-01-03  26.00
1986-01-06  26.53
1986-01-07  25.85
1986-01-08  25.87
...           ...
2022-02-02  88.16
2022-02-03  90.17
2022-02-04  92.27
2022-02-07  91.25
2022-02-08  89.32

[9124 rows x 1 columns]

说明:

我们在上面的代码段中导入了NumPy、Pandas和Quandl包。然后,我们使用Quandl包中ApiConfig类的api_key属性激活了API密钥。然后,我们使用Quandl的get()方法从数据库中提取数据。了解我们想要使用的每个数据集的Quandl代码(“ETA/PET_RWTC_D”)很重要。

可以在每个数据集的文档页面上找到这些数据集的Quandl代码。例如: https://data.nasdaq.com/data/EIA-us-energy-information-administration-data/documentation 。

最后,我们为用户打印了数据。

我们还可以将这些数据打印成NumPy数组。以下是演示相同实现的代码:

代码:

# importing the required packages
import quandl as qdl
import numpy as np
import pandas as pd

# activating the API key
qdl.ApiConfig.api_key = "dq16p4KxCQzJJsxPyUa2" 

# extracting the data using the get() method
data = qdl.get("EIA/PET_RWTC_D", returns = "numpy")

# printing the data
print(data)

输出:

[('1986-01-02T00:00:00.000000000', 25.56)
 ('1986-01-03T00:00:00.000000000', 26.  )
 ('1986-01-06T00:00:00.000000000', 26.53) ...
 ('2022-02-04T00:00:00.000000000', 92.27)
 ('2022-02-07T00:00:00.000000000', 91.25)
 ('2022-02-08T00:00:00.000000000', 89.32)]

说明:

在上面的代码片段中,我们在quandl.get()方法的returns参数中指定了numpy。结果,数据以NumPy数组的格式打印出来。

示例2: 美国GDP数据

在以下示例中,我们将下载一段具有特定日期的宏观经济数据,并将其保存为CSV文件。

下面是代码片段示例:

代码:

# importing the required packages
import quandl as qdl
import numpy as np
import pandas as pd

# activating the API key
qdl.ApiConfig.api_key = "dq16p4KxCQzJJsxPyUa2" 

# extracting the data using the get() method
data = qdl.get("FRED/GDP", start_date = "2020-01-01", end_date = "2021-12-31")

# printing the data
# print(data)

# converting the data into Panda DataFrame
dFrame = pd.DataFrame(data, columns = ['Value'])

# printing the data from DataFrame
print(dFrame)

# saving the file in a CSV file
dFrame.to_csv("test.csv")

输出:

                Value
Date
2020-01-01  21481.367
2020-04-01  19477.444
2020-07-01  21138.574
2020-10-01  21477.597
2021-01-01  22038.226
2021-04-01  22740.959
2021-07-01  23202.344
2021-10-01  23992.355

输出到CSV文件中:

Python中的Quandl包

解释:

在上面的代码片段中,我们导入了所需的包。然后,我们激活了API密钥以访问Quandl数据。然后使用 quandl.get() 方法下载 FRED/GDP 数据并提供开始和结束日期。然后使用Pandas库的 DataFrame() 类将此数据转换为数据框并为用户打印出来。最后,我们使用 to_csv() 方法将此数据框保存到CSV文件中。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程