WILLIAM O’NEIL 高级工程师 陆强

WILLIAM O’NEIL(威廉欧奈尔),成立于1963年,致力于为投资机构和投资者提供投资建议和独立调研报告,目前已服务超过500家世界顶级投资机构。

我所在的是威廉欧奈尔信息科技上海有限公司,团队负责公司所有量化基金产品的业务,同时进行所有数据相关的技术研发。

我们用 DolphinDB 做了什么

目前我们使用 DolphinDB 处理所有的时序数据,主要进行因子研发、中高频数据处理和 tick 级流数据处理。每天的新增数据量在1000万~5000万条级别,如果存为 CSV 文件的话,总共为4~5 GB。

  • 因子研发

我们结合财报和日线数据衍生出大量因子,然后使用 DolphinDB 的分布式存储、分布式计算和实时流计算等功能进行因子的存储、计算和建模。在使用 DolphinDB 进行因子研发的过程中,我们可以快速处理海量数据集,利用内置的多范式的编程语言,高效开发出不同风格的因子。在计算得到一些因子后,我们可以再次使用 DolphinDB 实时计算产生基于这些因子的衍生因子,投研效率得到极大提升。

此外,我们使用 DolphinDB 进行因子评估来测试因子的有效性。之前我们使用 Python 加上国外某知名云服务商的数据库进行因子回测,在使用 DolphinDB 之后,发现 DolphinDB 也提供了一些高效的回测工具。比如通过一个 replay 函数,我们就可以模拟真实的生产环境,通过模拟回放的方式将数据注入到流计算框架中,方便之后的回测计算。在这个过程中,我们可以使用不同的回放形式,并且通过设置不同的回放速率进行匀速、倍速或者极速回放,还可以将多个表的数据回放到同一张表中,总体来说使用非常方便。未来随着项目的推进,我们计划将这块业务逐渐迁移到 DolphinDB 中。

  • 处理中高频数据

目前我们团队专攻中高频数据,这块的数据量非常庞大,历史数据大概在 TB 级别。在使用 DolphinDB 处理高频数据时,我们会对输入的行情数据使用时间序列聚合引擎生成分钟级 K 线,然后根据分钟级 K 线使用自定义函数生成状态因子,同时将输出结果指向另一个流数据表以方便之后的其他计算。在 DolphinDB 的助力下,我们实现了日线数据的高效处理,并且将研究的数据精度推进到分钟级,在降低开发成本的基础上极大提升了研发效率。

  • 搭建 tick 级数据流架构

我们团队在去年搭建了一个处理 tick 级数据的数据流架构——使用 Kafka 连接数据流,然后传到 DolphinDB 中进行计算分析,最后得到所需数据。该数据流框架能够实时产生我们需要的市场信号。

在我看来,只要把 Kafka 接数据流这步做好,后边的很多事情并不需要操心。因为 DolphinDB 提供了非常成熟的实时流计算框架,其中最核心的部件是流计算引擎和流数据表。我们通过流数据引擎进行时间序列处理、横截面处理、窗口处理、表关联和异常检测等操作。同时可以将流数据表作为简化版的消息中间件,实现数据的发布和订阅。在投研阶段封装好的基于批量数据开发的因子函数,可以无缝投入实际生产,实现批流一体,加速开发进程。目前 DolphinDB 的延时可以控制在毫秒级,这完全满足了我们的需求。

回顾数据库选型

之前我们研究中低频数据,主要使用 Python 进行分析计算。当公司有处理高频数据的需求时,我们发现这套系统并不能满足对数据处理的理想需求,尤其在数据分析方面,这套系统的反应速度非常慢。

于是我们在市面上寻找匹配公司需求的新产品,希望这款产品能够实现高效处理时序数据,并且方便未来扩展。

经过一番市场调研与产品性能测试,我们在选型会议上讨论了三套方案。

第一套方案是 KDB+。由于 KDB+语言晦涩,学习成本过高,这套方案并没有被采纳。

第二套方案是 NoSQL Cassandra。经过讨论,这套方案需要额外招人进行系统的重构搭建,并且后续需要专人进行维护。这会极大增加成本,所以并没有采用。

第三套方案是 DolphinDB。当时是21年初,市面上已经出现了金融行业处理时序数据“非 KDB+即 DolphinDB”的两家争霸趋势。我在会议上对照 KDB+的算法例子做了一些 DolphinDB 的性能测试,然后展示了同样的例子使用 DolphinDB 语言来写,脚本明显会变得更加简洁。在一些例子中,DolphinDB 的性能超越了KDB+。当时基金经理们大多熟悉 KDB+,我在会议上做完演示后,他们也非常惊讶于 DolphinDB 的优秀性能。

最后在方案表决时,DolphinDB 以压倒性优势胜出。

对 DolphinDB 的评价

使用 DolphinDB 已经有一年多了,让我印象最深刻的就是它的高性能、易上手与及时支持。

  • 高性能

在性能方面,DolphinDB 可以对实时数据进行快速地计算与分析,实现毫秒级的响应速度,完全满足了我们高效处理时序数据的需求。

  • 易上手

在学习成本方面,由于 DolphinDB 的脚本语言类似 Python,同时提供了很多官方的技术教程,我认为DolphinDB 是非常好上手的。如果是一个有着 C 或 Python 开发经验的同事,只需要2周、最多1个月的时间,这位同事就能对布置的项目实现上手开发。

  • 及时支持

DolphinDB 技术支持团队的响应速度非常好。除过一些日常的技术交流,在和技术支持团队沟通的过程中,我会反馈一些 DolphinDB 原本不提供的接口或者函数的开发需求。不到一个月的时间,我发现之前提到的需求会随着 DolphinDB 的新版本同时上线,这样快速且及时的反应速度极大地帮助了我们的研发生产。

文章最后

使用 DolphinDB 给我们的业务带来了极大的改善。作为一家跨国公司,我们在与国外的同事交流时,也会向他们推荐性能优秀的时序数据库 DolphinDB。衷心希望 DolphinDB 能够越做越强,未来在国际上打出更高的知名度!

DolphinDB 助力 WILLIAM O’NEIL 笑傲股市相关推荐

  1. 散户笑傲股市要记住十句话 [精品] [转]

    散户笑傲股市要记住十句话   [ 精品] 顶楼 1.一个人是否可以做一个证券投资者,其必备的基本素质不是头脑聪明.思维敏锐,也不是股龄多长.知识多渊博.学历多高深,而是"要有止损的勇气和决心 ...

  2. 《笑傲股市 How to Make Money in Stocks》读书笔记

    友情提示:技术分析有一个致命弱点,即掌握它的人越多,它的效果就越差,因为技术的掌握会反过来影响人的行为. 第一部分 CAN SLIM法则 第一章 最重要的选股秘诀        本书概述,略 第二章 ...

  3. “人机结合”基金何以笑傲18年的“团灭行情”?

    "人机结合"基金何以笑傲18年的"团灭行情"? 原创: 关礼 阿尔法工场 5天前 作者为阿尔法工场研究员 2018,冷得蚀人心骨.这种复杂的触感,非亲历者不足以 ...

  4. 攻略:三大秘籍让你笑傲IT职场!

    IT行业作为处于就业金字塔的顶端行业,一直是众多年轻人的职业梦想.那么,对于怀抱高薪理想的年轻人来说,如何实现他们的IT梦想呢? 秘诀一:认清IT的职业价值 通常人们一提到IT人才,马上就会联想到网络 ...

  5. 冲破测试职业天花板--《笑傲测试》读后感

    三年看了五.六遍<笑傲测试>,每次看完,都能对应现状,得到新的触动. <笑傲测试>是一本"软件测试实践"的书籍,和<走出软件作坊>类似,两者都不 ...

  6. 各行业获客的渠道有哪些,笑傲浅谈对比一下

    各行业获客的渠道有哪些,笑傲浅谈对比一下 1.传统线下获客 传统的销售模式比较保守,主要是通过销售人员上门给用户推销保险产品.这种方式虽有一定效果,但见效很慢,很考验保险销售人员的耐心. 2.电话获客 ...

  7. OpenStack 如何笑傲开源云计算战场—— OpenStack 与 CloudStack 的对比

    大概一周前,Zenoss刚刚完成了一份名为"2014开源云计算解析"的市场调查显示,69%已经不同程度地应用云计算技术,43%的用户花费大量资源在开源技术上.在这些选择了开源云的企 ...

  8. 梦三花重金修改服务器,新大区“笑傲三界”闪亮登场 “花好月圆”只唱今朝...

    迎着朝阳,呼吸着新鲜的空气,满怀着春天的希望,我们迎来了新的一年.为了迎接新年,回馈广大玩家长期对<梦幻西游电脑版>的支持与厚爱,我们特意准备了好礼相送--开放全新大区"笑傲三界 ...

  9. 《笑傲仙侠》3.23上线链游玩家|挂机修仙、问鼎江湖

    导语:<笑傲仙侠>是一款仙侠类RPG游戏.采用独特的俯视游戏视角,配合2.5D的游戏画面,给您拟幻如真的轻灵感官体验!更有优美舒缓的游戏配乐,美轮美奂的场景展示,让您放松心情,轻松游戏! ...

最新文章

  1. 临界区设计太大或太小有何缺点_这些衣帽间设计案例,装出豪宅范?闺蜜来了都看呆!...
  2. iOS对UIViewController生命周期和属性方法的解析
  3. Python Django 装饰器模式之二阶装饰器
  4. 【工业控制】激光跟踪仪概述
  5. 洛谷P1396营救(最小生成树)
  6. 7 centos 设置jvmgc_centos下docker离线部署
  7. 苹果cms8x缩图带3D翻转自适应模版
  8. 软件工程复习提纲——第一章
  9. ZOJ 1234 UVA 10271 Chopsticks
  10. c语言学习进阶-C语言带命令行参数的文件数据批量计算
  11. java爬虫新闻网站_java爬虫 之 搜狐新闻爬虫(一)
  12. 实验三 Python表达式
  13. 《JavaScript设计模式与开发实践》
  14. 【Linux内核分析与应用-陈莉君】进程的调度
  15. html怎么解压缩文件,压缩包7z如何解压
  16. 渗透学习日记day3
  17. Java excel导出压缩zip并加密(拿起即用,有用请点赞,不做白嫖怪!)
  18. 心得分享——c语言如何将多个字符串赋值给字符串数组(即c语言如何输入并储存多个字符串)
  19. win7 引导 ubuntu
  20. 计算机应用能力考试裸考,五分钟拯救裸考生,计算机二级这样就能过

热门文章

  1. 负边距在布局中的使用 BY:色拉油啊油
  2. 《Google Android 开发入门与实战》
  3. android8强制将app移到sd卡,小内存手机 APP强制转移至SD卡教程
  4. android 融云群组列表,群组中 @ 功能介绍
  5. Linux群组与文件权限
  6. VS2015正式版出炉-----
  7. 树莓派4B 声音传感器AO模块
  8. 基于IEC61499 的楼宇自动控制系统
  9. java ffmpeg 海康视频流rtsp转http-flv的方式
  10. 2013再见,2014,在路上