DolphinDB作为量化金融研究平台的8大优势

2022-04-28 00:00:00 数据 分析 支持 分布式 研究

DolphinDB不仅可以当作分布式数据仓库或者内存数据库来使用,而且自带丰富的计算工具,可以作为一个研究工具或研究平台来使用。DolphinDB对时间序列数据的处理特别友好,非常适合量化金融、物联网等领域的海量数据分析。例如在量化金融领域的不少问题,交易信号研究,策略回测,交易成本分析,股票相关性研究,市场风险控制,都可以用DolphinDB平台快速的解决。下面列举的8大功能特点完美阐释了DolphinDB作为一个研究平台的优势。

1. 快速的数据清洗

数据清洗是数据分析实践中重要也是耗时的一环。DolphinDB的脚本语言支持多范式编程,包括命令式编程、向量化编程、函数化编程、SQL编程、RPC编程以及元编程,表达能力非常强,代码十分简洁,可快速实现对包含缺省值的数据处理,面板数据的处理,数据表的透视,多个数据表的常规连接和非同步连接。对于字符串和日期类型的数据,系统提供了大量的内置函数,方便处理。尤其面对海量数据时,DolphinDB提供了非常高效的分布式解决方案。更值得一提的是,大部分解决方案可以通过SQL语句和自定义函数来完成。

2. 高效的数据导入

数据分析时经常需要集成多个数据源。DolphinDB database 内置对文本文件,HDF5以及ODBC数据源的数据导入。导入工具能自动识别源数据的字段类型,包括对各种日期和时间类型的识别,也可以按照用户指定的数据类型进行导入。DolphinDB支持数据的并行导入,具有非常高的效率。以文本文件导入为例,性能是Pandas的10倍多。

3. 交互式分析

研究是一个不断试错和求真的过程。交互式分析可以大大提高研发的效率。DolphinDB采用列式存储,充分的利用内存,对时间序列数据进行大量优化,分区机制灵活高效,性能相比MPP数据仓库胜出一个数量级。即便面对TB级的数据,仍可以轻松实现秒级毫秒级的低延时,非常适合交互式的数据分析。

4. 支持库内分析

DolphinDB不仅仅是一个分布式时序数据库,它还自带强大的计算功能。除了数据检索和处理,DolphinDB还内置基本的数据分析和建模功能,包括机器学习中常用的回归、分类等功能模块。特别值得一提的是,很多计算,可以直接在分布式数据表上完成。并行计算和分布式计算不仅加快了运算过程,而且让数据科学家免去了将海量数据从一个系统转移到另一个系统的麻烦。

5. 丰富的编程接口

研究往往会用到多种数据分析和建模工具。DolphinDB提供了Java,C#,Python,R,JSON等编程语言的接口。DolphinDB也提供了Excel的add-in插件,支持Excel和DolphinDB之间的双向数据交换。当DolphinDB无法提供用户希望的分析和建模工具时,可以将清洗过的数据导出到用户熟悉的编程语言或工具,处理完的结果再传回DolphinDB。

6. 易用易维护

DolphinDB从一开始就是为数据科学家和数据分析师设计的。系统简单易用,没有专职IT团队的协助,数据科学家也可以独立完成工作。DolphinDB虽然包含了数据仓库,内存数据库,分布式文件系统,分布式计算框架,流计算框架等多种功能,但核心系统非常轻型,只有一个20几兆的可执行程序,复制到指定目录即可使用。DolphinDB可以根据数据规模的大小,部署在单个笔记本和台式机上,或者本地和云端的集群,支持Windows和Linux操作系统。DolphinDB的工作语言是即写即用的脚本语言。在一个节点上编写的自定义函数或脚本,无需编译、打包和部署,即可在整个集群中使用。这些都有利于提高研发人员的工作效率。

7. 生产环境代码重用

研究通常是在离线数据集上进行。当搬到生产环境时,出于工程、效率或者数据集的变化,往往会重写代码。譬如有些量化金融团队,会使用Matlab或Python做研究,然后用C++重写交易系统的代码。DolphinDB除了支持离线计算,也提供了一个很高性能的实时(流)计算框架。用户在研究环节的写的部分代码,可以在生产环境中重用。

8. 集成开发工具方便研究

DolphinDB自带的Java GUI是一个功能强大的集成开发工具(IDE),可以用于组织一个大型研究项目的代码。IDE支持交互式的代码运行。用户可以方便的观察和比较内存中的变量以及数据表(包括分布式数据表)中的数据,查找问题。IDE支持图形化的数据显示,让实验结果更加直观,易于理解。IDE的编辑器支持函数名称和函数参数的自动提示,可以减轻数据分析人员的学习成本。

来源 https://zhuanlan.zhihu.com/p/44995618

相关文章