简介
本指南将为你提供如何开始使用Refinitiv数据平台(RDP-Refinitiv Data Platform)与Refinitiv数据平台库的步骤。你还可以得到有用的文档和支持的链接。如果你完成这些步骤,你应该已经准备好从Refinitiv数据平台提出你的第一个数据请求。
虽然本指南中的说明几乎都是关于Refinitiv数据平台库的,但非Refinitiv数据平台库用户(即Refinitiv实时API、Websocket或REST API客户端)可以通过设置凭证和用户账户部分来获得益处。
在欢迎信中确定你的Refinitiv数据平台用户身份
首先,在继续下一步之前,我们需要你确定欢迎信中的凭证类型。Refinitiv数据平台提供两种类型的访问凭证。每种凭证都有不同的访问设置步骤。
- 机器ID:允许访问合同授权的数据和生产环境中的API的机器的标识符。机器ID通常用于RTO产品(Refinitiv Real-time Optimized)。例如:GE-A-01234560-1-1234。
- 用户ID:允许访问合同授权的数据和生产环境中的API的用户的标识符。它通常是用户的电子邮件地址。用户ID一般用于Refinitiv数据平台非实时产品。例如:sample@refinitiv.com。
接下来,请继续进行设置凭证和运行基本功能的步骤。下面分别阐述:
机器ID入门指南
用户ID入门指南
最后,请看 "支持材料和资源 "部分,了解有用的信息和支持渠道。
机器ID入门指南
下面是创建一个Python应用程序来访问Refinitiv数据平台API的步骤。
第一步:设置凭证和用户账户
机器ID的欢迎邮件如下。它包括:
- 机器ID信息;
- 在MyRefinitiv网站上创建/验证账户的指示;
- 链接到密码管理网站以重设密码。
注册MyRefinitiv
你需要确保你在MyRefinitiv中有一个用户账户 [步骤1] - 点击所提供的链接,使用电子邮件中显示的请求者电子邮件验证并注册一个新用户(如果需要)。
激活RDP机器ID
接下来,欢迎信的开头包含了说明和链接[步骤2],以激活您的机器ID。
请点击链接,激活机器ID,并设置用于访问RDP API的密码。
注册您的应用程序
RDP凭证由3部分组成:
- UserID/MachineID(机器ID)
- 密码
- AppKey(客户端ID)
APP密钥是为访问RDP数据和API的应用程序定义的唯一ID。第一和第二部分已在前面的步骤中完成。对于AppKey,你需要注册你的应用程序,使用AppKey生成工具来手动生成。AppKey是数据加密密钥,用于对终端节点和RDP API之间的信息进行 "编码"。AppKey通常是一个随机生成的数字。
步骤如下:
- 打开AppKey Generator,用在步骤1中创建的MyRefinitiv凭证登录。
- 输入一个独特的有意义的名字,帮助你识别你的应用程序。
- 勾选EDP API复选框。
- 点击 "注册新应用程序",接受条款和条件。
- 生成的应用程序密钥将出现在应用程序密钥栏中。
登陆开发者论坛
开发者论坛提供有关所有Refinitiv API、文档、示例代码和教程的信息。在论坛的RDP部分,你将找到学习RDP APIs所需的一切。除了本指南中包含的信息外,我们鼓励你查看开发者论坛中的可用文档。这个论坛还包括有一个问答区,专门讨论围绕Refinitiv API使用的一般问题和讨论,并能提供最大帮助。
你可以在开发者论坛网站上注册。电子邮件可以是任何可以使你保持匿名的电子邮件,这样可以自由地在论坛上发布你的问题。
第二步:设置Python环境和Refinitiv数据平台库
Refinitiv数据平台(RDP)分别通过Websocket API/Refinitiv Real-Time APIs接口和REST API提供流式和非流式数据。用户可使用任何编程语言提供的Websocket和HTTP库创建应用程序,以访问RDP界面,包括用户认证。
另外,用户可以使用Refinitiv数据平台(RDP)库(Refinitiv Data Platform (RDP) Library ),该库是易于使用的API,定义了一套统一的接口,为开发者提供对Refinitiv数据平台的访问。这些库可用于Python、TypeScript/JavaScript和.NET。
在本指南中,我们将在Jupyter Notebook中创建Python应用程序,以访问来自Refinitiv数据平台的流式实时数据 - Refinitiv Real-time Optimized。对于非实时数据,你可以在我们的Refinitiv数据平台库(第一部分)和发现我们的Refinitiv数据平台库(第二部分)(Discover our Refinitiv Data Platform Library (part 1) & Discover our Refinitiv Data Platform Library (part 2))中找到更多关于RDP库的样本。
安装Jupyter Notebook/Anaconda
Jupyter Notebook是一个网络应用程序,允许你创建和分享包含实时代码、方程式、可视化和叙述性文本的文档。你可以按照本页的说明(this page )在你的机器上安装Jupyter Notebook。
安装RDP库
从开始菜单中打开Anaconda Prompt(Anaconda3)并输入以下命令:
pip install refinitiv-dataplatform
第三步:在Jupyter notebook中创建RTO(Real-Time Optimized)的Python应用程序
1. 打开Jupyter Lab,然后选择 "新建"->"Python 3 "笔记本,创建一个新的笔记本。
2. 定义变量来存储RDP凭证。请将数值改为你的RDP用户ID、密码和App密钥,然后将文件保存为'credentials.ipynb' 。
RDP_LOGIN = 'RDP Machine ID'
RDP_PASSWORD = 'RDP Password'
APP_KEY = 'APP Key'
3. 保存文件,然后创建一个新的笔记本文件。
4. 导入Refinitiv数据平台API库和Credential文件。
import refinitiv.dataplatform as rdp
import pandas
%run ./credentials.ipynb
5. 创建RDP OpenPlatform会话以连接到RDP。
session = rdp.open_platform_session(
APP_KEY,
rdp.GrantPassword(
username = RDP_LOGIN,
password = RDP_PASSWORD
)
)
6. 创建流媒体请求,包括RIC代码、字段名以及如何处理事件回调功能。
import json
pricing = rdp.StreamingPrices(session = session,
universe = ['CHF=','GBP=', 'EUR='],
fields = ['BID', 'ASK','DSPLY_NAME','OPEN_PRC','HST_CLOSE'],
on_refresh = lambda streaming_price, name, fields : print("Refresh for {} :\n{}".format(name,json.dumps(fields, indent=2))),
on_update = lambda streaming_price, name, fields : print("Update for {} :\n{}".format(name,json.dumps(fields, indent=2))),
on_status = lambda streaming_price, name, status : print("Status for {} : {}".format( name, status))
)
7. 打开请求。
pricing.open()
8. 应用程序应按以下方式接收流媒体数据:
(视频请点击原文链接观看:Getting Start with Refinitiv Data Platform | Refinitiv Developers)
用户ID的入门指南
以下是创建Python应用程序来访问Refinitiv数据平台API的步骤。
第一步:设置凭证和用户账户
用户ID的欢迎信如下:
登陆开发者论坛
开发者论坛(Developer Community portal )提供有关所有Refinitiv API、文档、示例代码和教程的信息。在论坛的RDP部分,你将找到学习RDP APIs所需的一切。除了本指南中包含的信息外,我们鼓励你查看开发者论坛中的可用文档。这个论坛还包括有一个问答区,专门讨论围绕Refiniv API使用的一般问题和讨论,并能提供最大帮助。
你可以在开发者论坛网站上注册(第一步)。电子邮件可以是任何可以使你保持匿名的电子邮件,这样可以自由地在论坛上发布你的问题。
激活RDP用户ID
你收到的欢迎邮件包含了访问API Playground(API Playground )的说明[步骤2]。
你会看到下面的登录页面,然后点击 "忘记密码?"。
输入你的用户ID(电子邮件)并点击 "确定"。你会收到一封重置密码的电子邮件,以设置你的密码。
访问API Playground
API Playground是一个通过图形用户界面(GUI)访问API的前端。它充当了一个交互式参考指南和工具。它允许对API进行实验,发送请求,查看响应,并审查Swagger文档。API Playground的网址是:https://apidocs.refinitiv.com/Apps/ApiDocs
你可以使用你的RDP凭证来访问API Playground。
API Playground提供了各种有用的文档,如:
- 对RDP API的参考;
- API Playground允许你用你的RDP凭证尝试API终端;
- Swagger文档;
下面是环境社会治理--基本视图的样本API Playground,它将被用于本指南的演示。
在Playground中,你可以选择请求的样本[1]并点击发送[2]。结果将显示在 "响应 "选项卡中,包括HTTP状态和数据[3]。
关于API Playground的更多细节和使用示例,请参见RDP API通用指南文件中的API Playground部分(RDP API General Guidelines document)。
请注意,访问API Playground的权限取决于你的许可证。
注册你的应用程序
RDP 凭证包括以下3部分:
- 用户ID/机器ID;
- 密码;
- AppKey(客户端ID)
APP密钥是为访问RDP数据和API的应用程序定义的唯一ID。第一和第二部分已在前面的步骤中完成。对于AppKey,你需要注册你的应用程序,使用AppKey生成工具 (AppKey Generator)手动生成。AppKey是用于对终端节点和RDP API之间的信息进行 "编码 "的数据加密密钥。AppKey通常是一个随机生成的数字。
步骤如下:
1. 在API DOCs页面,打开左上方的AppKey Generator。
2. 输入一个独特的有意义的名字,这有助于你识别你的应用程序。
3. 勾选EDP API复选框。
4. 点击 "注册新应用程序",接受条款和条件。
5. 生成的应用程序密钥将出现在应用程序密钥栏中。
第二步:设置Python环境和Refinitiv数据平台库
Refinitiv数据平台(RDP)分别通过Websocket API/Refintiv Real-Time APIs接口和REST API提供流式和非流式数据。用户可以使用任何编程语言提供的Websocket和HTTP库创建一个应用程序,以访问RDP界面,包括用户认证。另外,用户可以使用Refinitiv数据平台(RDP)库( Refinitiv Data Platform (RDP) Library),它是易于使用的API,定义了一套统一的接口,为开发者提供对Refinitiv数据平台的访问。这些库可用于Python、TypeScript/JavaScript和.NET。
在本指南中,我们将在Jupyter Notebook中创建一个Python应用程序来访问Refinitiv数据平台的环境社会治理(ESG)数据。你可以在我们的Refinitiv数据平台库(第一部分)和发现我们的Refinitiv数据平台库(第二部分)(Discover our Refinitiv Data Platform Library (part 1) & Discover our Refinitiv Data Platform Library (part 2))中找到更多关于RDP库的样本/用法。
安装Jupyter Notebook/Anaconda
Jupyter Notebook是一个网络应用程序,允许你创建和分享包含实时代码、方程式、可视化和叙述性文本的文档。你可以按照本页的说明(this page)在你的机器上安装Jupyter Notebook。
安装RDP库
从开始菜单中,打开Anaconda Prompt(Anaconda3)并输入以下命令:
pip install refinitiv-dataplatform
第三步:在Jupyter Notebook中创建Real-Time云端实时Python应用程序
1. 打开Jupyter Lab,然后选择 "新建"->"Python 3 "笔记本,创建一个新的笔记本。
2. 定义变量来存储RDP凭证。请将数值改为你的RDP用户ID、密码和App密钥,然后将文件保存为'credentials.ipynb' 。
RDP_LOGIN = 'RDP User ID'
RDP_PASSWORD = 'RDP Password'
APP_KEY = 'APP Key'
3. 保存该文件,然后创建一个新的笔记本文件。
4. 导入Refinitiv数据平台API库和Credential文件:
import refinitiv.dataplatform as rdp
import pandas
%run ./credentials.ipynb
5. 创建RDP OpenPlatform会话以连接到RDP:
session = rdp.open_platform_session(
APP_KEY,
rdp.GrantPassword(
username = RDP_LOGIN,
password = RDP_PASSWORD
)
)
6. 定义通往Refinitiv数据平台的终端 - 环境社会治理/查看/基本:
endpoint = rdp.Endpoint( session = session, # Optionnal url = "https://api.refinitiv.com/data/environmental-social-governance/v1/views/basic", )
7. 打开指定一个输入标识符和HTTP请求方法的请求。
response = endpoint.send_request( method = rdp.Endpoint.RequestMethod.GET, query_parameters = {'universe':'IBM.N'} )
8. 展示结果:
if response.is_success: headers = [h['name'] for h in response.data.raw['headers']] df = pandas.DataFrame(data=response.data.raw['data'], columns=headers) display(df)
最后,你会得到如下的结果:
(视频请点击原文链接观看:Getting Start with Refinitiv Data Platform | Refinitiv Developers)
参考材料和资源
开发者社区论坛
开发者社区论坛提供有关所有Refinitiv API、文档、示例代码和教程的信息。在论坛的RDP部分,你将找到学习RDP APIs所需的一切。除了本指南中包含的信息外,我们鼓励你查看开发者社区中的可用文档。
你可以在论坛网站上进行自我注册。电子邮件可以是任何可以让你匿名的邮箱,这可以自由地在论坛上发布你的问题。
API页面提供各种类型的有用资源,如快速入门指南、教程和API文档。
- Q&A论坛 (Q&A Forum)
本论坛专门讨论围绕Refinitiv API使用的一般问题和讨论,并能提供最大的帮助,论坛的大多数成员是开发人员,版主是API专家。
MyRefinitiv 支持
对于事件支持(如连接问题)和与内容有关的查询,你可以通过MyRefinitiv Get Support直接向API产品支持开case。
提交case步骤如下:
1. 选择查询类型:
2. 选择产品,其中有前缀"Refinitiv数据平台(Refinitiv Data Platform )"。
3. 提供关于问题的更多细节最后提交:
Github
你也可以在Github上找到更多Refinitiv数据平台库的Python示例代码。