跳转至

Quant Dev - Pod

量化交易属于金融行业,再细说,属于二级市场,即交易的标的物通常是公开交易的产品,比如股票、期货、期权、债券等等。 量化行业里面其实也分了很多类别,比如股票量化、期货量化、固定收益类产品等等。 这些类别中,其实也可以按照频率分成高频、中频和低频。 各个门类之间有区别也有联系,但是总体来说,作为个人,通常是专精其中某个领域。

Pod 是什么

各大量化公司的运营模式也不尽相同,今天我们讲到的 Pod 就是其中一类。 一个 Pod 可大可小,多则数十人,少则几人。这群人有自己的专精领域,交易某类或者某几类策略或者标的物。 他们会得到母公司不同程度的支持(这里我们只从技术角度思考),比如基本的数据源、数据库、计算机资源、交易接口等等。 他们通常会自负盈亏,但也会共同进退。

Pod 模式的量化交易系统需求

Pod 模式的量化交易系统设计跟其他模式有什么区别呢?或者说 Pod 模式的量化系统设计有需求呢?

  • 针对某类交易策略设计,并不需要非常好的通用性,但是需要很好的专用性
  • 不是为很多程序员一起工作设计的,而是为了团队的所有成员,包括 Quant,Trader 和 其他程序员
  • 系统需要对接不同种类的数据源和交易基础设施,最好系统可以以最小的代价接入不同的公司的基础设施
  • 系统不能过于复杂,且具有良好的可操作性,换句话说,他的接口不应该是仅仅面对程序员的,也是面对 Quant 和 Operation 人员的
  • 要有一定的拓展能力,这种拓展在不同策略类型前提下可能会有不同的需求,比如一个中频统计套利系统跟高频套利系统在很多方面都是迥异的

如何设计呢?

一些通用原则:

  • 仅开发必要的功能
  • 面向接口编程
  • 按照业务逻辑设计模块
  • 分离配置和计算逻辑
  • 版本控制配置文件
  • 格式化日志
  • 通过日志和警报增加系统可见性
  • 通过 GUI 增加系统的可操作性

技术栈

  • 语言
  • Python
  • C++
  • Cython
  • Numba
  • 数据库
  • PostgreSQL
  • DataFrame Store ( hand made or ArcticDB )
  • 中间件
  • Redis
  • Kafka/RedPanda
  • 计算
  • Ray
  • Dask
  • 监控
  • Grafana
  • Prometheus
  • Front End
  • 编排
  • Airflow
  • K8s
  • Docker

组件

  • 计算图和计算图的运行时
    • Batch Based
    • Event Based
  • Prompt,用来跟系统进行实时互动,人为干涉
  • Alert,用来发送警报、异常等等
  • Monitor
  • Report
  • Log

最后更新: September 24, 2023
创建日期: September 24, 2023