Skip to main content

Phase 4.6 行业资源与持续学习

学习不是有终点的事。这一节整理值得长期跟踪的信息源、社区和开源项目。


一、核心判断:什么值得持续学习​

信息爆炸时代,关键是过滤而非收集。

值得持续跟踪的信息特征:

  • 讲原理和机制,而非只讲工具使用
  • 作者有真实实践经验,不只是理论整理
  • 内容有时效性标注,知道什么时候过时
  • 能引发你产生新的问题,而非只提供答案

二、技术博客与论文​

工程类(后端工程师必读)​

LMAX 技术博客

  • 关键文章:LMAX Disruptor - High Performance Alternative to Bounded Queues for Exchanging Data Between Concurrent Threads(Martin Thompson, 2011)
  • 为什么:Disruptor 是金融系统低延迟的标杆,这篇是第一手解释

Mechanical Sympathy(机械同情)

  • 作者:Martin Thompson(LMAX 联合创始人)
  • 核心观点:软件工程师需要理解硬件(CPU、内存、缓存)才能写出真正高性能的代码
  • 关键主题:False Sharing、NUMA 架构、内存屏障

Martin Fowler 博客

  • 关键文章:LMAX Architecture(讲 LMAX 整体设计),Event Sourcing,CQRS
  • 为什么:金融系统常用架构模式的权威解释

High Scalability Blog

  • 收录了全球各大公司的架构案例,包括交易所、支付系统
  • 关键案例:NYSE 技术架构,PayPal 分布式系统

量化与金融工程类​

Ernie Chan 博客(epchan.blogspot.com)

  • 主题:量化交易策略实现,从研究到实盘
  • 特点:代码示例丰富,注重实用

QuantLib(开源金融计算库)文档

  • 内容:债券定价、期权定价、利率模型等金融数学的参考实现
  • 为什么:了解定价模型的实现细节,而非只看公式

Two Sigma / Jane Street / DE Shaw 的技术文章(偶有公开)

  • 搜索:Jane Street Tech Blog,Two Sigma Engineering
  • 特点:顶级量化公司视角,思路领先业界 5-10 年

三、必读书单​

技术类​

书名重点内容适合阶段
《Designing Data-Intensive Applications》—— Kleppmann分布式系统、数据一致性,是金融系统架构的理论基础任何阶段
《The Art of Multiprocessor Programming》并发编程深度,理解 CAS、无锁数据结构的理论Phase 3 之后
《Java Performance》—— Scott OaksJVM 调优、GC 分析、JIT 编译,低延迟 Java 必读Phase 3 之后
《Systems Performance》—— Brendan GreggLinux 性能分析工具全集(perf、flame graph 等)Phase 3 之后

金融类​

书名重点内容适合阶段
《Options, Futures, and Other Derivatives》—— Hull衍生品定价权威教材,第 10 版Phase 1-2
《Algorithmic Trading》—— Ernie Chan量化策略从研究到实盘的全流程Phase 2-3
《Market Microstructure Theory》—— Maureen O'Hara市场微结构学术权威,理解价格形成机制Phase 4
《Inside the Black Box》—— Rishi Narang量化对冲基金内部的工作方式Phase 4
《Flash Boys》—— Michael LewisHFT 行业的通俗读物,了解市场结构任何阶段(轻松)
《Liar's Poker》—— Michael Lewis投行文化入门,理解金融行业生态任何阶段(轻松)

四、开源项目(可以读代码)​

系统基础设施​

LMAX Disruptor
https://github.com/LMAX-Exchange/disruptor
读 RingBuffer.java 和 AbstractSequencer.java
学习目标:无锁队列的完整实现

Agrona
https://github.com/real-logic/agrona
读 ManyToOneRingBuffer.java、UnsafeBuffer.java
学习目标:堆外内存操作、高性能数据结构

Aeron
https://github.com/real-logic/aeron
读 Publication.java、Subscription.java
学习目标:高性能网络传输协议

Chronicle Queue
https://github.com/OpenHFT/Chronicle-Queue
学习目标:基于内存映射文件的持久化队列,极低延迟

金融协议​

QuickFIX/J
https://github.com/quickfix-j/quickfixj
读 Session.java(心跳、重传、序号管理)
学习目标:生产级 FIX 协议实现的工程细节

QuickFIX/n(.NET 版本)
https://github.com/connamara/quickfixn
如果你做 .NET 金融系统

SBE(Simple Binary Encoding)
https://github.com/real-logic/simple-binary-encoding
学习目标:低延迟金融消息的二进制编码

数据与分析​

QuantLib(C++/Python)
https://github.com/lballabio/QuantLib
读期权定价、利率模型、风险计算的实现
学习目标:金融数学在代码中的实现

Zipline(Python 回测)
https://github.com/quantopian/zipline
学习目标:事件驱动回测框架的完整实现

vnpy(Python 量化交易框架)
https://github.com/vnpy/vnpy
国内最流行的开源量化交易框架
学习目标:多市场统一接口设计,国内市场对接

五、中国市场特有资源​

监管文件(值得精读)​

文件来源重要性
《证券登记结算管理办法》证监会理解 A 股结算规则的法规基础
《期货交易管理条例》国务院期货系统合规基础
《反洗钱法》及实施细则人民银行AML 系统建设的法律依据
上交所/深交所交易规则两大交易所开发前必读,涨跌停、申报要求等
中登结算规则中国结算清结算系统建设的技术规范

技术标准与接口文档​

上交所行情接口(Level-2):
搜索"上交所 行情数据接口规范"
包含:Snap 快照、逐笔成交、逐笔委托的字段定义

上交所交易接入(QDP/FIX):
上交所的标准化交易接口,基于 FIX 协议

深交所类似,搜索"深交所 交易参与人接入说明"

中金所期货接口(CTP):
期货行业标准接口,基本上所有期货公司都用
开源 C++ SDK:https://github.com/nicai0609/ctp

国内社区​

知乎量化专栏:

  • 搜索"量化交易"、"金融工程",有大量实践分享

掘金量化(JoinQuant)论坛:

  • 国内量化平台,有很多策略讨论和技术分享

万矿社区(Wind 的量化平台):

  • 主要面向机构,有 Wind 数据对接的经验分享

六、证书与系统性学习​

对工程师最有价值的认证​

证书机构对工程师的价值
CFA(特许金融分析师)Level 1CFA InstituteLevel 1 覆盖投资基础、衍生品、固收,工程师学 Level 1 足够建立完整知识框架
FRM(金融风险管理师)GARP专注风险管理,与风控系统方向高度相关
PRM(专业风险管理师)PRMIA类似 FRM,更注重数学

工程师需要考证吗?

不是必须,但系统学 CFA Level 1 的教材(不一定考试)是建立完整金融知识框架的高效方式。CFA 教材按知识体系组织,而非按市场碎片分散,适合系统性建立认知。

预计时间:100-200 小时精读 Level 1 教材,不需要刷题考试


七、在当前工作中积累​

主动创造学习机会​

如果你目前不在金融公司,如何积累经验?

策略 1:参与开源金融项目

建议的贡献路径:
1. 从 QuickFIX/J 或 vnpy 开始,读懂核心代码
2. 找到一个明确的 bug 或文档不足的地方
3. 提 PR,和核心贡献者互动
4. 逐步承担更大的功能开发

策略 2:构建个人项目

有区分度的个人项目(按价值排序):
✓ 完整的 OMS(FIX 接入 + 持仓 + 风控)
✓ 量化因子研究 + 回测框架
✓ 实时行情处理 + WebSocket 推送
✗ "CRUD 交易记录"(没有技术深度,不值得花时间)

策略 3:深研金融行业技术博客

把金融科技公司的技术博客当作学习材料:
- 他们描述问题的方式
- 他们选择技术方案的理由
- 他们遇到的边界情况

理解这些,面试时才能证明你"懂这个行业"

在金融公司时,如何加速成长​

第一年:广度优先

  • 把能接触到的代码都读一遍(前台/中台/后台)
  • 主动申请轮岗或参与跨团队项目
  • 参加所有业务评审会,哪怕不说话也要听

第二年:深度优先

  • 选定一个方向(交易/量化/风控/后台),深入投入
  • 参与 on-call,直接面对生产问题
  • 主动承担设计文档的撰写(逼自己系统整理思路)

持续:建立个人品牌

  • 在内部 Wiki 写技术分享
  • 在代码评审中提出有建设性的意见
  • 成为某个领域的"go-to person"(有问题大家来找你)

八、职业发展路径参考​

技术深度路径​

Junior(0-3年)
├── 能独立实现功能需求
└── 理解自己负责模块的业务含义

Mid-level(3-6年)
├── 能设计和拆解中等复杂的系统
├── 能在需求评审中识别业务风险
└── 在 1-2 个技术领域有深度

Senior(6-10年)
├── 能设计跨系统的复杂架构
├── 能量化技术方案的商业价值
└── 成为某领域的行业级专家

Staff/Principal(10年+)
├── 定义技术方向,影响公司策略
└── 技术决策直接影响 P&L

横向转型路径​

工程师 → 量化研究员:
需要补充:数学统计、金融建模
路径:先做量化基础设施,逐渐参与因子研究

工程师 → 技术产品经理(TPM):
需要补充:需求管理、跨团队协作、商业敏感度
路径:在需求评审中承担更多责任,主导小项目

工程师 → 风险/合规技术专家:
需要补充:监管知识(FRM 有帮助)、流程设计
路径:深入参与合规系统建设,理解监管逻辑

Phase 4 完成检验​

完成 Phase 4 后,你应该能够:

业务对话能力

  • 独立主持需求评审,能追问出所有关键边界条件
  • 用业务语言(而非技术术语)解释任何技术决策
  • 主动识别需求中的合规风险和业务逻辑漏洞

深度技术能力(至少一个方向)

  • 能设计一个完整的 OMS,处理所有异常场景
  • 能构建一个从因子研究到回测的量化研究平台
  • 能设计一个毫秒级延迟的实时风控引擎
  • 能设计一个幂等、可重跑的日终清结算流程

行业认知

  • 能解释中国市场的特殊规则(涨跌停、T+1、两融)如何影响系统设计
  • 了解当前监管环境对技术系统的最新要求
  • 能评估一个金融科技公司的技术团队成熟度

整体课程回顾​

Phase 1(0-3月):金融语言关
├── 1.1 基础金融概念:利率、汇率、市场分类、机构角色
├── 1.2 证券基础:股票、债券、基金、衍生品
└── 1.3 交易基础:订单类型、撮合、T+N 规则

Phase 2(3-6月):核心业务关
├── 2.1 交易系统:订单生命周期、FIX 协议、订单簿
├── 2.2 风险管理:VaR、希腊字母、事前/实时/事后风控
├── 2.3 清算与结算:净额清算、DVP、CCP、托管
└── 2.4 合规与监管:KYC、AML、交易报告、审计日志

Phase 3(6-12月):技术落地关
├── 3.1 低延迟设计:ZGC、Disruptor、对象池
├── 3.2 金融数据建模:BigDecimal、持仓模型、事件溯源
├── 3.3 消息与通信:QuickFIX/J、Kafka、WebSocket
├── 3.4 数据库选型:PostgreSQL、TimescaleDB、Redis
├── 3.5 系统可靠性:幂等、对账、灾备、审计日志
└── 3.6 实践项目:撮合引擎、持仓系统、风控引擎

Phase 4(12-24月):深度整合
├── 4.1 业务对话能力:需求评审、技术翻译、合规识别
├── 4.2 交易系统深度:市场微结构、执行算法、OMS 设计
├── 4.3 量化方向深度:数据基础、因子研究、回测框架
├── 4.4 风控方向深度:实时 VaR、规则引擎、压力测试
├── 4.5 清结算方向深度:日终流程、对账系统、企业行为
└── 4.6 行业资源:书单、开源项目、社区、职业路径

你现在拥有的,不只是一份学习大纲,而是一张进入金融后端工程师世界的完整地图。