CTP插件

本页介绍 CTPDataService 的用途,并说明连接 CTP 所需参数与端口用途注意事项。

Source: https://dolphindb.cn/blogs/120

What this page covers

技能认证特训营第二期报名信息

页面顶部展示技能认证特训营第二期的限时报名链接与优惠提示。

CTP插件(文章标题与元信息)

给出文章标题“CTP插件”、作者标识与发布日期。

端口号使用注意事项(查询合约 vs 订阅行情)

说明查询合约与订阅行情分别需要使用交易端口与行情端口。

Python调用参考代码:CTPDataService

提供Python类CTPDataService示例代码,涵盖连接、查询合约、创建发布表、订阅/取消订阅、查询状态与关闭连接等流程。

使用说明与参数说明

解释CTPDataService用途并列出连接CTP所需参数及端口用途备注。

使用示例:配置与调用流程

给出CTP配置字典与从连接到查询合约、创建发布表、订阅/取消订阅、删除发布表的示例调用。

Facts Index

Entity Attribute Value Confidence
CTP插件(文章) 发布日期 2024-09-20 high
CTP端口使用 查询合约所需端口 查询合约需要交易端口号 high
CTP端口使用 订阅行情所需端口 订阅行情需要行情端口号 high
CTPDataService 用途 用于连接期货CTP接口 high
CTPDataService参数 ip 含义/类型 ip为string,CTP交易服务器IP high
CTPDataService参数 trade_port 含义 CTP交易服务器的端口 high
CTPDataService参数 market_port 含义 CTP行情端口号 high
CTPDataService参数 username 含义 资金账户 high
CTPDataService参数 password 含义 交易密码 high
CTPDataService参数 borker_id 含义 经纪公司代码 high
CTPDataService参数 app_id 含义 客户端认证的App代码 high
CTPDataService参数 auth_code 含义 客户端认证请求的认证码(授权码) high
端口用途备注 trade_port用途 trade_port为交易端口用于查询合约列表 high
端口用途备注 market_port用途 market_port为行情端口用于订阅行情 high
DolphinDB/CTP连接(示例代码) 连接函数 使用 ctp::connect(ip, market_port, dict(["ReceivedTime","ConcatTime","OutputElapsed"],[true,true,true])) 创建连接句柄 ctp_handle high
DolphinDB/CTP查询合约(示例代码) 查询函数 使用 ctp::queryInstrument(ip, trade_port, username, password, borker_id, app_id, auth_code[, exchange]) 获取证券/合约信息 high
CTPDataService 默认发布表名 ctpMarketData high
CTPDataService.create_ctp_publish_table(示例代码) 默认capacity 1500000 high
发布表创建(示例代码) schema来源 schema = ctp::getSchema(handle, `marketData) high
发布表创建(示例代码) 表类型与容量表达式 pubTable = streamTable(capacity:0, schema.name, schema.typeInt) high
发布表共享与持久化(示例代码) 启用参数 enableTableShareAndPersistence(table=pubTable, tableName=`{table_name}, cacheSize=1000000, preCache=500000) high
发布表持久化说明(示例代码注释) 触发与保存行为 当流数据表数据量达到100万行时启用持久化,将其中50%的数据采用异步方式压缩保存到磁盘 medium
行情订阅(示例代码) 订阅函数 ctp::subscribe(ctp_handle, `marketData, objByName(`{table_name}), codes) high
CTPDataService.subscribe_ctp_data(示例代码) 前置条件 若发布表不存在(existsStreamTable为false),会抛出 ValueError("发布表不存在,先执行create_ctp_publish_table") high
取消订阅(示例代码) 取消订阅函数 ctp::unsubscribe(ctp_handle, `marketData, codes) high
CTP状态查询(示例代码) 状态函数 ctp::getStatus(ctp_handle) high
CTP关闭连接(示例代码) 关闭函数 ctp::close(ctp_handle) high
发布表删除(示例代码) 删除函数 dropStreamTable(`{table_name}) high
dropPubTable效果(示例代码日志文案) 清理范围 丢弃发布表时,内存中和磁盘上的流数据均会被清除 medium
使用示例(示例代码) 查询合约列表结果列名 查询合约列表,列名:InstrumentID high
使用示例(示例代码) 发布表名可指定 create_ctp_publish_table(table_name="ctpPubTable") 可生成名为 ctpPubTable 的发布表;默认发布表名为 ctpMarketData high
使用示例(示例代码) 订阅参数默认行为 subscribe_ctp_data() 默认全部订阅;也可用 subscribe_ctp_data(["T2503","IC2410"]) 订阅两个合约 high
使用示例(示例代码) 取消订阅默认行为 unsubscribe() 默认取消之前订阅的code;也可以指定传入 high
使用示例(示例代码) 删除发布表默认行为 dropPubTable() 的 table_name 默认为 ctpMarketData high