复杂因子秒级计算,文谛资产是这样做到的... | 上海文谛资产管理有限公司 | 客户案例 | DolphinDB
该页面以客户案例标题点明主题:聚焦文谛资产在复杂因子计算方面的实践。
What this page covers
- 背景与客户介绍,以及选择 DolphinDB 的动机。
- 使用场景概览:行情存储、因子挖掘、模型回测。
- 行情存储的入库、清洗与查询方法要点。
- 因子挖掘中的数据规模与计算/集成方式。
- 模型回测中的函数接口与 context by 相关对比。
- 使用效果:压缩比与耗时等结果描述。
- 选型对比:Kdb+ 与 DolphinDB 的评价与选择因素。
技能认证特训营第二期报名促销
页面顶部展示技能认证特训营第二期开启与限时报名链接的促销提示。
- 页面提供技能认证特训营第二期的报名入口。
- 该提示属于页面顶部的促销/报名信息。
导航与位置:客户案例 > 上海文谛资产管理有限公司
提供回到客户案例列表的导航链接与当前案例对应客户名称。
- 页面包含返回客户案例列表的导航。
- 当前位置指向“上海文谛资产管理有限公司”对应的案例页面。
案例标题:复杂因子秒级计算,文谛资产是这样做到的...
以标题形式点明案例主题为复杂因子的秒级计算,并聚焦文谛资产的实践。
- 该案例主题聚焦“复杂因子”的计算效率。
- 标题明确该实践主体为文谛资产。
背景与客户介绍(文谛资产与使用 DolphinDB 的动机)
介绍量化投资数据处理背景、文谛资产定位与业务范围,以及选择 DolphinDB 作为时序数据研究工具的原因。
- 文谛资产以创造长期稳定收益为投资目标。
- 文谛资产为国内外投资者与合作机构提供投资服务。
- 文谛资产主要从事 CTA 和股票量化策略研究与运作。
- 文谛资产将 DolphinDB 用作时序数据的研究工具。
- DolphinDB 被用于存储、计算与分析大量时间序列数据。
作者信息与写作目的
说明文章由文谛资产相关负责人共同撰写,分享使用场景、效果、服务与经验等内容。
- 文章署名包含首席策略官刘一夫。
- 文章署名包含首席框架官吴永华。
- 文章署名包含首席数据分析师王哲。
合作概述:三年合作与服务形态
描述与 DolphinDB 的三年合作关系及其提供的数据库、分布式计算与编程建模一体化服务。
- 文中提到双方合作时长为三年。
- DolphinDB 提供集数据库、分布式计算与编程建模于一体的服务形态。
合作关系海报(图片及说明)
通过图片与说明强调文谛资产与 DolphinDB 的合作伙伴关系与选型定位。
- 该部分以图片形式呈现合作关系相关信息。
- 图片配套文字用于强调双方合作与选型背景。
使用场景
概述 DolphinDB 在文谛资产的三类主要应用:行情存储、因子挖掘与模型回测。
- 主要应用方向之一是行情存储。
- 主要应用方向之一是因子挖掘。
- 主要应用方向之一是模型回测。
行情存储:入库、清洗与查询(分布式分区与 SQL 引擎)
描述在行情存储中使用 DolphinDB 的分区设计、SQL 引擎按分区过滤定位数据块、以及高效清洗时序数据的做法与效果。
- 行情存储包含数据入库、清洗与查询。
- 分布式使用中会提前确定分区字段与分区粒度。
- SQL 引擎可基于分区字段过滤以定位数据块。
- 该查询方式用于避免对整张表扫描以提升查询速度。
- 文中描述可对海量时序数据进行高效清洗并输出满足业务需求的数据。
因子挖掘:TB 级数据处理、Python API 与流计算/聚合引擎
说明因子挖掘中处理数据规模、使用内置多范式语言与计算引擎,并结合 Python API 与流计算框架、时间序列聚合引擎实现滑动窗口聚合计算。
- 文中提到数据总量大概在几十 TB。
- 文中提到每日新增数据量约为 70GB。
- DolphinDB 被描述为内置多范式编程语言与多种计算引擎。
- 可通过 Python API 将 DolphinDB 计算结果导入 Python 模型进行组合。
- 流计算框架支持发布、订阅、预处理与实时内存计算等能力。
- 时间序列聚合引擎可通过参数设定配合聚合函数实现滑动窗口计算。
模型回测:函数接口、元编程与计算框架(context by 等)
描述使用 DolphinDB 的函数接口与计算框架进行回测,并重点对比 context by 与 group by 的差异及其对回测研发效率的影响。
- 模型回测场景使用函数接口、元编程与计算框架进行回测。
- 文中示例函数包括 context by。
- 文中示例函数包括 crossStat。
- 文中将 context by 描述为 DolphinDB 的独创功能。
- 文中对比:group by 每组只能返回一个标量值。
- 文中对比:context by 可使每组返回与组内元素数量相同的向量。
- 文中提到元编程支持读取、生成、分析与转化其他程序。
- 文中提到 MapReduce 用于并发计算以提升计算效率。
context by vs group by 对比图(图片及说明)
通过示意图与说明展示 context by 在分组计算中保留与原表一致数据条数的特性及其对研发效率的影响。
- 该部分包含用于对比的示意图。
- 示意内容聚焦 context by 与 group by 的分组计算差异。
- 说明强调分组计算结果与原表数据条数关系的差异。
使用效果
从行情存储、因子挖掘、模型回测三个方面给出压缩比、计算耗时与回测效率等效果描述。
- 文中提到行情存储压缩比最高可达到 10:1。
- 文中提到复杂因子计算可实现秒级计算(基于单日新增数据)。
- 文中提到复杂因子测试运算时间可控制在分钟级别(使用大量历史数据)。
- 文中提到回测整体时间可控制在 1 分钟内(特定参数测试)。
- 文中将回测效率与“数据项目化的批量处理”支持相关联。
技术服务体验
描述 DolphinDB 技术支持服务的沟通、响应与需求实现速度,以及与 CEO 与团队交流的经历。
- 文中提到 2020 年与 DolphinDB CEO 周小华博士及团队当面交流。
- 文中指出周小华博士为 DolphinDB CEO。
- 技术支持被描述为记录需求并在后续逐一跟踪实现。
- 技术咨询响应被描述为及时(包含周末/较晚时段)。
- 文中提到某个特别功能需求在下一个版本中得到实现。
时序数据库选型:Kdb+ 与 DolphinDB 对比
说明选型中对比 Kdb+ 与 DolphinDB,并给出对两者在支持、语法学习成本、性能、引擎与函数库等方面的评价与最终选择。
- Kdb+ 在文中被描述为金融领域老牌时序数据库。
- 文中提到 Kdb+ 的不足包括国内技术支持不足与学习成本较高。
- 文中评价 DolphinDB 在查询与存储性能方面优于其他数据库(主观评价)。
- 文中提到 DolphinDB 具备多种流计算引擎。
- 文中提到 DolphinDB 内置丰富的金融函数库。
学习和使用经验
给出上手时间建议与需要深入理解的内容,包括引擎、存储架构、分区表原理与函数学习,以及保持跟进版本迭代。
- 有 Python 和 SQL 基础者,文中提到一两周可上手。
- 文中提到 DolphinDB 使用 OLAP 和 TSDB 两种引擎。
- 文中建议理解存储引擎架构与数据库设计原理以提升查询效率。
- 文中建议学习高效处理所需的函数。
- 文中建议跟进版本迭代与技术动态(表述为持续优化扩展)。
结尾:合作总结与展望
总结三年合作对量化投研的助力,并表达对双方未来发展的期望。
- 结尾总结强调三年合作带来的支持与助力。
- 结尾表达对双方未来发展的期望。
文末品牌联动封面图(图片及说明)
文末图片及说明再次强调双方合作与 DolphinDB 在复杂因子计算、行情存储与回测性能提升上的作用。
- 该部分以图片形式呈现品牌联动信息。
- 图片配套文字再次强调合作关系与应用方向。
客户简介(行业与公司业务)
给出客户所属行业与公司简介,包括投资目标、服务对象与主要业务方向。
- 客户行业为私募。
- 公司定位强调理性、务实、高效、专业的投资精神。
- 公司投资目标为创造长期稳定收益。
- 公司服务对象包括国内外投资者与合作机构。
- 公司主要业务包括 CTA 和股票量化策略研究与运作。
Facts Index
| Entity | Attribute | Value | Confidence |
|---|---|---|---|
| 技能认证特训营第二期 | 报名链接 | https://www.qingsuyun.com/h5/e/217471/5/ | high |
| 上海文谛资产管理有限公司(文谛资产) | 公司定位/精神 | 秉持理性、务实、高效、专业的投资精神 | medium |
| 上海文谛资产管理有限公司(文谛资产) | 投资目标 | 以创造长期稳定收益为投资目标 | high |
| 上海文谛资产管理有限公司(文谛资产) | 服务对象 | 为国内外投资者和合作机构提供专业的投资服务 | high |
| 上海文谛资产管理有限公司(文谛资产) | 主要业务 | 主要从事 CTA 和股票的量化策略研究与运作 | high |
| DolphinDB | 产品类型/定位(文中表述) | 高性能的分布式时序数据库 | high |
| 文谛资产对 DolphinDB 的选择 | 用途定位 | 作为存储、计算和分析大量时间序列数据的强有力研究工具 | high |
| 文谛资产与 DolphinDB 的合作 | 合作时长 | 三年(“在合作的三年间”) | high |
| DolphinDB 为文谛资产提供的服务 | 服务形态 | 集数据库、分布式计算和编程建模于一体的专业服务 | high |
| 本文作者(文中署名) | 共同撰写人员 | 首席策略官刘一夫、首席框架官吴永华、首席数据分析师王哲 | high |
| 文谛资产使用 DolphinDB 的场景 | 主要应用方向 | 行情存储、因子挖掘、模型回测 | high |
| 行情存储场景 | 用途 | 数据入库、清洗与查询 | high |
| DolphinDB 分布式特性(在行情存储中使用) | 方法 | 提前确定数据导入的分区字段与分区粒度以提高后续检索与分析效率 | high |
| DolphinDB SQL 引擎(在行情查询中) | 查询机制 | 以分区字段为数据过滤,快速定位要查找的数据块,避免对整张表扫描,从而提高查询速度 | high |
| DolphinDB 数据清洗能力(行情存储) | 效果描述 | 可对海量时序数据进行高效清洗,消除残缺、错误或重复数据并输出满足业务需求的高质量数据;数据量增大时能保持稳定性能(与其他工具相比) | medium |
| 文谛资产数据规模(因子挖掘) | 总数据量 | 大概在几十 TB | medium |
| 文谛资产数据规模(因子挖掘) | 每日新增数据量 | 约为 70GB | high |
| DolphinDB | 内置能力(文中表述) | 内置多范式编程语言与多种计算引擎 | high |
| DolphinDB 与 Python | 集成方式 | 通过 Python API 将 DolphinDB 计算结果导入 Python 模型进行组合 | high |
| DolphinDB 流计算框架 | 支持的能力(文中列举) | 流数据发布、订阅、预处理、实时内存计算以及复杂指标计算 | high |
| DolphinDB 时间序列聚合引擎 | 用法与效果(文中表述) | 仅需设定几个参数指标,配合 wsum、corr 等聚合函数即可实现复杂的滑动时间窗口聚合计算 | high |
| 模型回测场景 | 使用的能力 | 使用 DolphinDB 提供的函数接口、元编程和计算框架进行高效回测 | high |
| DolphinDB 函数(文中示例) | 示例函数 | context by、crossStat | high |
| context by(文中表述) | 独创性 | 作为 DolphinDB 的独创功能可以实现对时序数据的快速分组 | medium |
| context by vs group by(文中对比) | 返回结果差异 | group by 每组只能返回一个标量值;context by 可以使每组返回一个与组内元素数量相同的向量 | high |
| context by vs group by(文中对比) | 可配合函数的差异(回测场景) | group by 只能配合聚合函数使用;context by 可与其他聚合函数、移动窗口函数或累计函数等结合使用 | high |
| DolphinDB 元编程 | 能力(文中表述) | 具备读取、生成、分析及转化其他程序的功能;通过动态表达式与延迟执行使研究人员在代码运行时仍可修改代码 | medium |
| MapReduce(文中提及的计算框架) | 用途 | 帮助进行并发计算,提升计算效率 | medium |
| DolphinDB 压缩比例(行情存储效果) | 最高压缩比 | 最高可以达到 10:1 | high |
| DolphinDB 行情存储效果(文中表述) | 研究人员感受 | 压缩比率高、数据落库速度快(主观感受表述) | low |
| 复杂因子计算(因子挖掘效果) | 基于单日新增数据的计算耗时 | 可以实现秒级计算 | medium |
| 复杂因子测试(因子挖掘效果) | 使用大量历史数据的运算时间 | 可控制在分钟级别 | medium |
| 模型回测(回测效果) | 特定参数测试耗时 | 整体时间可以控制在 1 分钟内 | medium |
| DolphinDB(模型回测效果归因) | 支持能力 | 支持数据项目化的批量处理 | high |
| 文谛资产与 DolphinDB 团队交流 | 时间 | 2020年与 DolphinDB CEO 周小华博士及技术团队当面深入交流 | high |
| DolphinDB CEO | 姓名与头衔(文中表述) | 周小华博士(DolphinDB CEO) | high |
| DolphinDB 技术支持服务 | 服务特点(文中表述) | 记录业务需求并在后续跟踪服务中逐一实现需求;技术咨询响应及时(包括周末/较晚时段);可提出开发需求 | medium |
| DolphinDB 需求实现速度(文中案例) | 版本交付 | 曾沟通的一个特别功能需求很快在下一个版本中得到实现 | medium |
| Kdb+ | 定位(文中表述) | 金融领域老牌时序数据库 | medium |
| Kdb+(与 DolphinDB 选型对比) | 被提及的不足 | 国外厂商缺乏国内技术支持;语法晦涩;培训成本和学习成本较高 | medium |
| DolphinDB(与其他数据库对比的评价) | 查询与存储性能 | 在查询和存储方面的性能明显优于其他数据库 | low |
| DolphinDB | 流计算引擎(文中表述) | 具备多种流计算引擎,对流数据处理友好 | medium |
| DolphinDB | 压缩比(选型理由) | 具有高压缩比 | medium |
| DolphinDB | 金融函数库(文中表述) | 内置丰富的金融函数库 | high |
| DolphinDB | 技术支持(选型理由) | 可以提供及时专业的技术支持 | medium |
| DolphinDB 学习门槛(文中表述) | 前置基础与上手时间 | 有 Python 和 SQL 语法基础则一两周可以上手 | medium |
| DolphinDB 引擎 | 使用的引擎类型(文中表述) | 使用 OLAP 和 TSDB 两种引擎 | high |
| DolphinDB 引擎能力(文中表述) | 写入吞吐 | 可提供很高的写入吞吐 | medium |
| 高效使用 DolphinDB 的建议 | 需要深入理解的方面(文中建议) | 了解存储引擎架构与数据库设计原理(如分区表工作原理)以提升查询效率,并学习高效处理所需的函数 | medium |
| DolphinDB 版本迭代(文中表述) | 产品演进 | 不断优化提升并扩展迭代新功能,建议保持学习并跟进版本技术动态 | low |
| 客户行业 | 行业 | 私募 | high |