介绍
@activfinancial/cg-api-examples-common 是一个 Node.js 模块,提供了一系列可以用于与 Activ 高性能行情数据传输协议 API(CG API)交互的示例代码,供用户参考和学习。它包含了以下功能:
- 创建 CG API 连接
- 认证 CG API 连接
- 订阅市场数据
- 处理市场数据流
- 取消订阅市场数据
- 关闭 CG API 连接
本教程将介绍如何使用 @activfinancial/cg-api-examples-common 模块,并提供详细的代码示例和解释。同时,也会介绍一些与 CG API 相关的基础知识,帮助读者更好地理解这个模块的使用方法。
环境准备
在使用 @activfinancial/cg-api-examples-common 之前,需要先在本地安装以下依赖:
- Node.js 运行环境(建议使用 v14.17.6 及以上版本)
- NPM 包管理器(建议使用 v6.14.15 及以上版本)
- Activ 的 CG API 认证信息(包括 APP ID、用户名和密码)
如果还没有 Activ 的 CG API 认证信息,请到 Activ 官网 上注册并申请,申请成功后会得到一个 APP ID 和相应的用户名和密码,这些信息将在后面的代码中用到。
安装 @activfinancial/cg-api-examples-common
安装 @activfinancial/cg-api-examples-common 可以通过 NPM 包管理器来实现,只需要在命令行中输入以下命令:
$ npm install @activfinancial/cg-api-examples-common
使用示例
以下是一个简单的使用示例,在这个示例中,我们将订阅 NASDAQ.NMS
市场的 AAPL.O
和 GOOG.O
两只股票的实时行情数据,并在接收到数据后将其输出到控制台:
-- -------------------- ---- ------- ----- ------------------- - -------------------------------------------------- ----- ----- - ----- ----- ----- -------- - ------------- ----- -------- - ------------- ----- -------- - ------------- ----- ---- - --------- ---------------------------------- --------- --------- --------- ----- ----- ----- ------- -- - -- ----- - ------------------- -- ------- -- -- ---- --------- ------- - ---------------------- -- -- ------ ----- ---- - ------------------------------------ ----- ------------------------------ ---------- ----------- ----------------------- -- ----------------- --- -------------------- --------------------- --------------- -- - --------------------- ---- ------- ----------------------------------- --- ---
在上述代码中,我们首先导入了 @activfinancial/cg-api-examples-common
模块,然后使用 cgApiExamplesCommon.connect
方法连接到 CG API,并获取了一个 IMDS
对象。接着,我们使用 IMDS.subscribe
方法订阅了 NASDAQ.NMS
市场的 AAPL.O
和 GOOG.O
两只股票的实时行情数据,在订阅成功后,使用 IMDS.on
方法监听了 itemUpdate
事件,在接收到数据后将其输出到控制台。
API 参考手册
cgApiExamplesCommon.connect(appID, username, password, hostname, port, callback)
参数:
appID
:string 类型,必填,Activ 的 APP ID。username
:string 类型,必填,Activ 的用户名。password
:string 类型,必填,Activ 的密码。hostname
:string 类型,必填,CG API 的服务器地址。port
:number 类型,必填,CG API 的服务器端口号。callback
:function 类型,必填,连接成功或失败后的回调函数。
返回值:无。
说明:使用该方法连接到 CG API,并在连接成功或失败后执行回调函数,如果连接成功,则回调函数会传入一个 cgConn
对象作为参数。
cgApiExamplesCommon.getIMDS(cgConn)
参数:
cgConn
:object 类型,必填,使用cgApiExamplesCommon.connect
方法连接成功后得到的cgConn
对象。
返回值:返回一个 IMDS
对象。
说明:用于创建一个 IMDS
对象,完成对市场数据的订阅、接收和取消订阅等操作。
IMDS.subscribe(marketIds, symbolIds)
参数:
marketIds
:string[] 类型,必填,市场 ID 的数组,支持多市场订阅。symbolIds
:string[] 类型,必填,股票代号的数组,支持多种股票的订阅。
返回值:Promise。
说明:用于订阅指定市场和股票的实时行情数据,在订阅成功后,可以通过 IMDS.on('itemUpdate'
方法接收市场数据流。
IMDS.on(eventName, callback)
参数:
eventName
:string 类型,必填,事件名称。callback
:function 类型,必填,事件发生后的回调函数。
返回值:无。
说明:用于监听 IMDS
对象的事件。目前支持以下事件:
itemUpdate
:当订阅的股票实时行情数据发生更新时触发该事件,回调函数会传入一个itemUpdateMsg
参数,该参数包含了已订阅股票的实时行情数据。
IMDS.unsubscribe()
参数:无。
返回值:无。
说明:用于取消订阅已经订阅的实时行情数据。
cgApiExamplesCommon.disconnect(cgConn)
参数:
cgConn
: object 类型,必填,使用cgApiExamplesCommon.connect
方法连接成功后得到的cgConn
对象。
返回值:Promise。
说明:用于关闭 CG API 连接。
总结
本教程介绍了如何使用 npm 包 @activfinancial/cg-api-examples-common 来实现与 Activ 高性能行情数据传输协议 API(CG API)交互,包括连接 CG API、认证 CG API 连接、订阅市场数据、处理市场数据流、取消订阅市场数据和关闭 CG API 连接等功能,并提供了详细的使用示例和解释。希望对需要使用 CG API 的开发者有所帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/193849