缘起

当站在如今之刻回望工作乃至学习以来,迈入基础架构领域,实属校招工作分配的筛子,赖着云计算的高歌猛进算是押对了行业;然而对数字的和推理的追求,那是曾经无尽的兴趣所在,限于大脑一般的记性和视觉审美,唯觉简洁深度抽象乃是美的展现形式,本质所在。不幸之是,作为一般开发,基础架构对于数理之需求实乃不高,所谓用进废退,对数字与定理之敏感,已是退步许多。

因机缘巧合触及机器学习云原生化,进而对应用/图像算法工程领域有皮毛的接触,三年前便知曾经人为发掘的特征或者算法,几乎为海量的数据和算力的深度学习所碾压。如今机缘巧合,感触到量化交易也展现雷同之势。我们建设机器学习平台,对于推广搜而言是带来多个点击率和 GMV 的提升;对于计算视觉而言是诸如车牌人脸识别提升多少个百分点,固然有很大的业务价值。但是当站在科技和金融的十字路口时,其团队和个人的业务价值或者可以更加体现。

有时问起自己,从哪里来、到哪里去的哲学命题时,时间的维度便拉的很长,兴趣与个人的意义便被突出与放大,生而有涯学无涯,在有条件之余,给自己一个探索的机会,用一年的周期折腾一把量化交易。

选型

折腾的选型因素主要考虑功能、生态;其次是快速的进行开发和实现第一笔实盘交易,形成流程的闭环,让飞轮的运转起来,进而在算法策略逐步迭代,在此约束下完成如下梳理和调研。

功能

无论是平台还是开源项目,期望可以提供准确丰富的数据源、提供易用的开发环境,支持测回/模拟/实盘和交易后端。

  • 丰富的数据源:国内/国际期货、股票、外汇、数字货币等数据,准确和完整是核心诉求,越精细越好。
  • 友好的算法开发和模拟:提供快速的算法策略开发环境,支持回测和分析;支持模拟和实盘。
  • 丰富的交易后端:支持国内/国际券商/期货公司的交易后端为佳。其中 futu 提供了简易的交易入口,支持 A股/H/US 等,适配 futu 的成本非常低。

生态

  • 社区:文档 & 热度。
  • 语言:必须以 Python 为主,核心能力上 Python 在数理统计分析、机器学习算法等生态丰富;周边能力上系统层面也具备较好的生态。
  • 系统:稳定性 / 成熟度。

开源项目

  • vnpy: 17.4k Star,基于 Python 的开源量化交易系统开发框架,在开源社区 7 年持续不断的贡献下一步步成长为全功能量化交易平台,社区活跃度高,支持丰富的后端,支持 ubuntu/windows 系统,代码风格一般。
  • Zipline:14.8k Star,基于事件触发的 Python 交易库,支持回测等等,用于在 Quantopian 社区(目前已关闭),github 最近一年无 commit 记录,据网络信息表示米筐和聚宽参考了 Zipline 原形。
  • rqalpha:4.4k Star,RQAlpha 提供数据获取、算法交易、回测引擎、实盘模拟等能力,为程序化交易者提供了全套解决方案,对应的社区 Ricequant(米筐科技),社区相对活跃。
  • QUANTAXIS:6.2k Star,提供股票/期货/期权/虚拟币的数据、回测、模拟、交易功能,社区相对活跃。
  • qlib:7.8k Star,微软开源的基于机器学习的量化交易项目,社区比较活跃。

平台

  • 米筐科技:主导 rqalpha 开源项目,提供 SaaS 化的平台和数据能力。
  • MindGo:同花顺。提供丰富的国内数据,不支持实盘,数据不支持下载。
  • JoinQuant:提供免费的量化数据、工具和学习体系,其旗下的私募近年收益不错。 ……

学习路径

方向上仅考虑中低频,并给予时间和耐心,跑通第一次回测、模拟和第一笔交易是首要任务,让迭代的飞轮运作起来,拿到可见的进步。量化交易的策略从简单到复杂逐步迭代,甚至短期内不考虑深度学习等场景,相关的专业名词、经济金融知识在迭代中积累,确认收益后再进行基础性系统性学习。