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 Oaks | JVM 调优、GC 分析、JIT 编译,低延迟 Java 必读 | Phase 3 之后 |
| 《Systems Performance》—— Brendan Gregg | Linux 性能分析工具全集(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 Lewis | HFT 行业的通俗读物,了解市场结构 | 任何阶段(轻松) |
| 《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 1 | CFA Institute | Level 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 行业资源:书单、开源项目、社区、职业路径
你现在拥有的,不只是一份学习大纲,而是一张进入金融后端工程师世界的完整地图。