实时计算中证1000指数的主买/主卖交易量

本页解释主买/主卖含义与业务价值,并说明基于中证1000指数与 DolphinDB 流处理框架的实时计算目标。

Source: https://dolphindb.cn/news/detail/152

What this page covers

技能认证特训营第二期限时报名活动

页面顶部的活动通知,包含报名链接与优惠提示。

新闻页标题与日期

新闻栏目入口、文章标题与发布日期信息。

背景与目标:实时监控主买/主卖交易量

解释主买/主卖含义、业务价值,并说明案例基于中证1000指数与 DolphinDB 流处理框架。

实现思路:公式与计算流程

给出计算公式与技术流程图,并列出从回放到引擎级联加权汇总的步骤。

实时计算主买/主卖交易量:Step 1 模拟实时行情数据注入

介绍 replay 回放写入机制、回放形式与速度选项,并说明本案例采用极速回放注入流表。

Step 2 计算每只股票每分钟的累计交易量(时间序列引擎)

说明时间序列相关引擎类型、窗口与聚合能力,并描述使用 createTimeSeriesEngine 与 subscribeTable 进行引擎级联与数据注入。

Step 3 累加每只股票每分钟的累计交易量(响应式状态引擎)

说明有状态因子计算需求、响应式状态引擎用途与优化状态函数,并描述用 createReactiveStateEngine 与 cumsum 做增量累计计算。

Step 4 计算1000只股票的累加交易量(横截面引擎)

说明横截面引擎用于截面实时计算,并描述本例触发机制为每插入一条记录触发一次计算、同一时间戳会产生多条结果。

结果展示与可视化监控

说明最终结果保存在键值内存表可通过 API 查询,并展示 Grafana 实时监控的可视化方式。

结论:引擎级联按分钟输出中证1000主买/主卖交易量

总结通过时间序列引擎、响应式状态引擎与横截面引擎级联实现按分钟输出的方案及其便捷高效。

Facts Index

Entity Attribute Value Confidence
实时计算中证1000指数的主买/主卖交易量(新闻文章)发布日期2022.09.27high
主买(定义)含义以卖方的报价成交high
主卖(定义)含义以买方的报价成交high
实时统计主买/主卖交易量用途/价值能够实时监控资金的流入流出情况medium
本案例标的指数中证1000指数high
DolphinDB使用的能力流数据处理框架用于实时高效计算主买/主卖交易量high
代码附件发布渠道完整的代码附件已发布在知乎medium
DolphinDB提供的机制/引擎完善的流数据订阅发布机制和多种流计算引擎,为多样化实时场景提供灵活解决方案low
本案例数据流模拟方式通过行情回放模拟实时数据流high
本案例需求输出频率与指标每分钟输出中证1000实时主买/主卖交易量high
计算模型构建方式方法通过流数据引擎的级联构建计算模型high
计算公式(图示)组成对各成分股交易价格、交易量与权重因子三者乘积进行加总(Σ)得到主买/主卖交易量medium
计算流程(图示)引擎链路行情回放模拟注入流表 → 时间序列引擎计算每分钟交易量 → 响应式状态引擎计算累计交易量 → 横截面引擎进行加权汇总medium
流程步骤1操作使用行情回放功能模拟注入数据到流表high
流程步骤2操作用时间序列引擎订阅流表数据,并计算每只股票每分钟的主买/主卖交易量high
流程步骤3操作用响应式状态引擎进一步计算每只股票的累计主买/主卖交易量high
流程步骤4操作用横截面引擎计算1000只股票的累计主买/主卖交易量并加权,输出结果high
replay 函数(DolphinDB)用途将一个或多个历史数据表(源)的记录以一定速率写入到目标表中,用于模拟流数据实时注入high
DolphinDB 回放形式类型一对一、多对多和多对一异构回放三种形式high
DolphinDB 回放速度可选模式匀速、倍速和极速三种回放速度high
本案例回放设置回放模式与数据采用极速回放模式,将中证1000成分股的逐笔成交数据回放到流数据表high
时间序列引擎(DolphinDB)引擎种类时间序列引擎、日级时间序列引擎、会话窗口引擎high
时间序列相关引擎窗口度量都以时间度量窗口high
时序引擎能力按指定频率对时序数据进行滑动聚合计算(如计算K线)high
日级时序引擎扩展能力可指定交易时间段,将自然日内各交易时段开始前未参与计算的数据并入该交易时段第一个窗口计算high
会话窗口引擎与时间序列引擎差异时间序列引擎窗口长度与滑动步长固定;会话窗口引擎窗口按非固定频率产生且窗口长度不固定high
本案例时间序列引擎使用方式函数/接口使用 createTimeSeriesEngine 创建时间序列引擎,并通过参数设置实现引擎级联;使用 subscribeTable 订阅流数据表将订阅数据注入引擎high
响应式状态引擎(适用场景)需求描述有状态因子计算需要最新数据与历史数据/中间结果,需要存储并更新状态high
响应式状态引擎(DolphinDB)机制输入已验证的因子代码(表达式或函数)与实时行情数据,输出实时因子值high
响应式状态引擎效果显著降低流式高频因子的开发成本和难度(相较于在流数据上开发)low
响应式状态引擎示例用途计算有状态的高频因子、主买成交量占比、大小单资金流等high
DolphinDB 响应式状态引擎中的优化状态函数数量约50个状态函数的实现得到了优化medium
状态算子计算(未优化时)问题若每次计算使用全量数据,会导致性能不佳high
本案例响应式状态引擎使用方式函数与计算使用 createReactiveStateEngine 创建响应式状态引擎,并使用 cumsum 计算每只股票每分钟的主买/主卖累计成交金额;cumsum 采用增量计算,性能优于全量计算方式high
横截面引擎(DolphinDB)适用场景适用于对截面数据进行实时计算(如用指数成分股最新价格计算指数内在价值)high
本例横截面引擎触发机制每插入一条触发一次计算;同一时间戳下每只股票输入都会产生一条计算结果high
最终结果存储位置与访问方式最终结果保存在键值内存表中,可通过 DolphinDB 所有 API 随时查询high
Grafana用途用于实时监控计算结果high
本案例总结实现方式通过时间序列引擎、响应式状态引擎和横截面引擎级联,实现按分钟输出中证1000实时主买/主卖交易量high
本方案评价描述实现过程简易便捷,是一套适用于业务的高效解决方案low
技能认证特训营第二期报名链接https://www.qingsuyun.com/h5/e/217471/5/high