Refinitiv数据平台(RDP)入门指南

Veerapath Rungruengrayubkul
Developer Advocate Developer Advocate
Wasin Waeosri
Developer Advocate Developer Advocate

简介

本指南将为你提供如何开始使用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通常是一个随机生成的数字。

步骤如下:

  1. 打开AppKey Generator,用在步骤1中创建的MyRefinitiv凭证登录。
  2.  输入一个独特的有意义的名字,帮助你识别你的应用程序。
  3. 勾选EDP API复选框。
  4. 点击 "注册新应用程序",接受条款和条件。
  5. 生成的应用程序密钥将出现在应用程序密钥栏中。

登陆开发者论坛

开发者论坛提供有关所有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部分:

  1. 用户ID/机器ID;
  2.  密码;
  3. 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文档。

本论坛专门讨论围绕Refinitiv API使用的一般问题和讨论,并能提供最大的帮助,论坛的大多数成员是开发人员,版主是API专家。

MyRefinitiv 支持

对于事件支持(如连接问题)和与内容有关的查询,你可以通过MyRefinitiv Get Support直接向API产品支持开case。

提交case步骤如下:

1.       选择查询类型:

2.       选择产品,其中有前缀"Refinitiv数据平台(Refinitiv Data Platform )"。

3.       提供关于问题的更多细节最后提交:

Github

你也可以在Github上找到更多Refinitiv数据平台库的Python示例代码。