零基础程序员要补哪些量化知识,才可能做出一个能赚钱的平台
本文首发于 www.zicode.com。
这是「程序员量化交易实战」系列的一篇基础地图:不讨论某个神秘指标,也不承诺任何收益,而是把一个零基础程序员真正需要补的量化知识系统地摊开。

很多程序员第一次接触量化交易时,会下意识地问一个问题:有没有一个策略,能稳定赚钱?
这个问题当然重要,但它来得太早了。
如果把量化平台想象成一辆车,策略只是方向盘和油门。没有干净的燃料,没有能承重的底盘,没有刹车,没有仪表盘,没有保养记录,方向盘再漂亮也没用。更麻烦的是,回测里看起来飞快的车,到了真实道路上可能第一脚油门就熄火。
所以零基础程序员要学量化,第一件事不是背一堆金融术语,而是建立一张地图:哪些知识决定数据是否可信,哪些知识决定回测是否在骗自己,哪些知识决定实盘是否活得下来,哪些知识才真正靠近“赚钱”。
这篇文章就按这张地图来讲。先把量化本身讲清楚,再谈平台怎么做。
什么是量化
量化交易不是“用 Python 炒股”,也不是“把几个技术指标自动化”。
更准确地说,量化是把交易判断写成可以被数据验证、可以被程序执行、可以被持续复盘的一套规则。它关心的不是某一次判断对不对,而是一组规则在大量样本、长期市场环境和真实交易约束下,是否仍然有正期望。
人工交易常见的表达是:
这家公司不错,位置也不高,可以买一点。
量化系统需要把这句话拆成更硬的东西:
股票池:沪深 300 成分股
买入条件:估值分位低于过去 5 年的 20%,且近 60 日动量为正
调仓周期:每月第一个交易日
持仓数量:20 只
权重规则:等权,单票不超过 5%
卖出规则:估值分位回到 60% 以上,或动量转负,或风控触发
交易约束:扣除手续费、印花税、滑点,不能买停牌和涨停股票
这就是量化和“感觉不错”的区别:它把判断变成了可计算的规则,也把规则放到市场里接受检验。
量化最重要的三个要素
如果只记三个词,我会选:数据、模型、执行。
数据决定你看到的世界是不是真的。模型决定你从世界里提取什么规律。执行决定规律能不能在真实市场里变成交易结果。
| 要素 | 它解决什么问题 | 常见失败方式 |
|---|---|---|
| 数据 | 当时市场发生了什么,哪些信息已经可见 | 数据缺失、未来函数、复权错误、幸存者偏差 |
| 模型 | 什么情况下买、卖、持有、调仓 | 过拟合、样本太少、解释不清、换市场失效 |
| 执行 | 如何把信号变成真实成交 | 成本过高、滑点过大、流动性不足、订单状态混乱 |
这三件事缺一不可。
只有数据,没有模型,平台只是一个数据库。只有模型,没有数据,策略像写作文。只有数据和模型,没有执行,回测再漂亮也只是纸面成绩。
量化的几个层级
量化不是一个单点技能,而是一层一层往上搭。
第一层:指标自动化
这一层最接近程序员入门。比如自动计算均线、涨跌幅、成交量放大、财务指标、估值分位。
它能节省人工看盘时间,但还不等于策略。因为指标只是观察角度,不是完整交易规则。
第二层:规则策略
这一层开始有明确的买卖规则。比如“20 日均线上穿 60 日均线买入,下穿卖出”,或者“每月买入市盈率最低的 20 只股票”。
规则策略的好处是可解释、可回测、容易发现错误。缺点是容易太简单,也容易被参数调参带偏。
第三层:因子模型
因子模型不只看一个规则,而是把多个解释收益的变量放在一起。比如价值、动量、质量、成长、波动率、规模、流动性。
它通常会经历因子计算、截面排序、因子合成、行业和风格中性化、组合构建这些步骤。做得好时,比单一规则更稳定;做不好时,只是把一堆噪声混在一起。
第四层:组合管理
这一层关心的不是“买哪一只”,而是“整个组合承担了什么风险,资金怎么分配”。
同样是 20 只股票,等权、按波动率倒数加权、按因子分数加权、按风险预算加权,结果可能完全不同。这里会涉及行业暴露、相关性、跟踪误差、换手约束和容量。
第五层:交易执行和风控
这一层离真实资金最近。它处理订单怎么拆、什么时候发、成交不完整怎么办、日内亏损过大怎么办、数据源断了怎么办。
很多回测里有优势的策略,实盘收益被执行吞掉,就是因为这一层没有做好。
先说清楚:什么叫“能赚钱”
在量化里,“能赚钱”不是回测曲线很漂亮,也不是某一年收益很高,更不是参数调到刚好适配历史行情。
一个更朴素、也更难糊弄自己的定义是:
在扣掉交易成本、滑点、税费和错误损耗后,策略仍然有正期望;在市场状态变化时,亏损可控;在真实执行环境里,系统不会因为数据、延迟、权限、代码错误和人工疏忽把优势吃掉。
这句话有点长,可以拆成五个问题:
| 问题 | 程序员容易忽略的坑 |
|---|---|
| 历史上赚了吗 | 回测用了未来数据,或者样本太少 |
| 扣成本后赚了吗 | 手续费、印花税、滑点、冲击成本没算全 |
| 未来可能还赚吗 | 参数过拟合,换一段行情就失效 |
| 亏的时候扛得住吗 | 最大回撤太深,仓位太激进 |
| 实盘能执行出来吗 | 信号有了,订单没成交,或者成交价完全不同 |
所以,一个赚钱平台不是“保证赚钱的机器”。它更像一个把想法变成证据、把证据变成纪律、把纪律变成可复盘交易的系统。
盈利来自策略优势,但平台决定你能不能发现优势、验证优势、保护优势。
量化平台的知识地图
如果你是程序员出身,可以先把量化平台拆成八层。每一层都不神秘,但每一层都有足够多的细节让人踩坑。
市场规则 -> 数据 -> 研究 -> 回测 -> 风控 -> 模拟盘 -> 实盘执行 -> 监控复盘
这不是技术架构图,而是认知顺序。先知道市场怎么运行,再知道数据怎么来的,然后才能谈因子、策略、回测和执行。
第一层:市场和交易规则
市场不是一个抽象的价格序列。真实市场有交易时间、竞价阶段、涨跌停、最小交易单位、停牌、除权除息、不同品种的保证金规则、不同订单类型和不同清算方式。
如果做 A 股,至少要知道 T+1、涨跌停、整手交易、集合竞价、停复牌、除权除息、分红送转、北向资金、指数成分调整。做港股、美股、期货、期权、数字资产,又会有完全不同的规则。
程序员很容易把市场想成一个 API:
输入:买入数量
输出:成交成功
真实情况更接近:
输入:买入意图
经过:交易时段、价格限制、流动性、队列、撮合、费用、风控、券商接口
输出:部分成交、未成交、撤单失败、成交价偏移、状态延迟
如果不懂规则,策略可能在回测里每天买在最低点,实盘里却根本买不到。
第二层:数据
量化平台的地基是数据。地基歪了,楼盖得越高越危险。
常见数据可以分成几类:
| 数据类型 | 用来做什么 | 关键问题 |
|---|---|---|
| 行情数据 | K 线、成交量、盘口、逐笔 | 时间戳、复权、缺失、异常值 |
| 基本面数据 | 财报、估值、行业、股本 | 公告时间、口径变化、滞后性 |
| 公司行为 | 分红、送转、拆合股 | 复权计算、持仓数量调整 |
| 交易日历 | 开市、休市、特殊交易日 | 跨市场时区和节假日 |
| 新闻和事件 | 舆情、公告、宏观事件 | 发布时间、可机器理解程度 |
| 账户数据 | 持仓、成交、资金、订单 | 与券商对账、延迟和幂等 |
最要命的不是“没有数据”,而是“数据看起来有,实际上不能用于交易判断”。
比如财报数据,如果你用的是报表所属季度,而不是市场真正能看到公告的时间,就会把未来信息塞进过去。比如股票池,如果你今天只保留还活着的股票,再回头测十年前,就会自动排除已经退市的公司,结果自然好看。
量化里的数据准确,不只是字段值准确,还包括:
- 时间准确:当时是否已经可见。
- 口径准确:复权、币种、单位、会计口径是否一致。
- 范围准确:是否包含退市、停牌、历史成分变化。
- 版本准确:数据后来被修订时,回测用的是哪个版本。
- 对账准确:研究数据、回测数据、实盘数据能否互相解释。
这也是为什么一个认真做量化的平台,一定要有数据审计和数据版本,而不是只在代码里写几个 read_csv。
架构上,平台应该像一组可替换的积木

一个灵活的量化平台,不应该把数据读取、策略逻辑、回测撮合、风控判断、下单接口写在一个大脚本里。
更合理的结构是:
data/
market_data 行情、财报、交易日历、公司行为
research/
factors 因子计算、信号生成、特征工程
backtest/
engine 撮合、成本、滑点、组合净值
risk/
rules 仓位、敞口、回撤、黑名单、熔断
paper/
simulator 模拟盘账户和订单生命周期
execution/
broker_adapters 券商、交易网关、订单幂等
monitoring/
alerts 数据缺口、策略异常、成交异常
review/
reports 日报、周报、交易归因、策略复盘
这里的关键不是目录名,而是边界。
数据层只负责把“当时可见的数据”变成标准格式。策略层只负责表达交易意图。回测层负责在历史环境里模拟这个意图。风控层负责判断这个意图是否允许进入交易系统。执行层负责把允许的意图变成真实订单。监控层负责在所有环节出问题时把人叫醒。
一旦边界清楚,平台就会变得可替换:
- 数据源可以从 CSV 换成数据库,再换成外部 API。
- 回测引擎可以从向量化版本换成事件驱动版本。
- 策略可以从均线策略换成多因子组合。
- 券商接口可以从模拟盘换成真实交易网关。
- 风控规则可以独立升级,不必改策略代码。
这就是“架构灵活”的真正含义:不是一开始设计得很复杂,而是每一层都能独立变好。
研究:不要从神奇指标开始
零基础做策略,最常见的误区是从网上复制一个指标,然后不断调参数,直到回测曲线好看。
这很像在考试后改答案。你当然能得到满分,但这不代表你学会了。
更好的研究顺序是:
- 先提出一个可解释的假设。
- 再定义它需要的数据。
- 然后写出最小可测的信号。
- 最后检查收益来自哪里。
比如“低估值股票未来会更好”是一个假设;“市盈率、市净率、行业中位数、财报发布时间”是数据;“每月买入估值分位最低的一组股票”是信号;“收益来自估值修复,还是来自行业暴露和小市值偏好”是归因。
策略研究里有几个概念必须熟:
| 概念 | 含义 |
|---|---|
| 股票池 | 策略允许交易哪些标的 |
| 因子 | 用来解释或预测收益的变量 |
| 信号 | 因子经过规则后产生的买卖倾向 |
| 调仓 | 多久重新计算信号和调整持仓 |
| 权重 | 每个标的买多少 |
| 换手率 | 持仓变化有多频繁 |
| 暴露 | 组合对行业、市值、风格、市场整体的敏感程度 |
| 归因 | 收益到底来自哪种风险或哪种判断 |
一个策略如果解释不清楚为什么赚钱,通常也解释不清楚为什么亏钱。
因子:量化里最常用的“观察镜头”
因子可以先理解成一把尺子。它不直接告诉你一定买哪只股票,但会给股票打分,帮助你在同一批标的里排序。
比如“估值低不低”是一把尺子,“过去一段时间涨得好不好”也是一把尺子,“盈利质量稳不稳”还是一把尺子。量化研究会把这些尺子变成可计算的字段,然后观察它们和未来收益之间是否存在稳定关系。
常见因子大致可以分成这些类型:
| 因子类别 | 常见指标 | 直觉解释 | 容易踩的坑 |
|---|---|---|---|
| 价值 | PE、PB、股息率、EV/EBITDA | 便宜的资产可能有修复空间 | 便宜可能是价值陷阱 |
| 动量 | 20 日、60 日、120 日收益率 | 强者可能继续强 | 反转行情里容易回撤 |
| 反转 | 短期跌幅、超买超卖 | 短期过度反应可能修复 | 可能接住下跌趋势 |
| 质量 | ROE、毛利率、现金流质量 | 好公司的盈利更稳定 | 财务数据有滞后 |
| 成长 | 收入增速、利润增速、预期增速 | 高成长可能享受溢价 | 增速回落时杀估值 |
| 低波 | 波动率、最大回撤、Beta | 稳定资产可能风险调整后更好 | 牛市里可能跑输 |
| 规模 | 市值、流通市值 | 小市值可能有风险溢价 | 容量小,流动性差 |
| 流动性 | 成交额、换手率、买卖价差 | 好成交的标的执行成本更低 | 高换手也可能代表拥挤 |
| 情绪 | 涨停数量、资金流、舆情热度 | 市场情绪会影响短期价格 | 噪声大,衰减快 |
一个最简单的因子策略可以这样想:
股票池:中证 800
因子:低估值 + 近 3 个月动量 + 高 ROE
处理:每个因子做行业内排序,再合成总分
买入:每月买入总分最高的 30 只
权重:等权
卖出:跌出前 80 名,或触发风控
这还不是完整策略,因为它没有处理停牌、涨跌停、成本、行业暴露和仓位限制。但它已经比“看起来不错就买”清楚得多。
做因子时还有几个基本动作:
- 去极值:把离谱的异常值压住,避免一个错误数据把排序带偏。
- 标准化:让不同量纲的因子能放在一起比较。
- 中性化:剔除行业、市值等不想承担的暴露。
- 分组回测:把股票按因子分成几组,看高分组是否长期优于低分组。
- IC 检验:看因子值和未来收益的相关性是否稳定。
- 衰减分析:看因子信号能维持几天、几周还是几个月。
如果这些词一开始觉得陌生也没关系。你可以先记住一句话:因子不是玄学指标,它必须经得起分组、样本外和交易成本的检查。
常见策略类型和示例
量化策略有很多名字,但新手可以先按“收益来自哪里”来分。
趋势跟随
趋势跟随相信价格趋势会延续。最典型的是均线策略。
例子:
当 20 日均线高于 60 日均线时持有指数 ETF;
当 20 日均线跌破 60 日均线时空仓。
它的优点是简单、容易实现、适合解释。缺点是震荡市场会反复打脸,买卖信号来回切换,成本和滑点会不断消耗收益。
动量策略
动量策略相信近期表现强的资产,未来一段时间可能继续强。
例子:
每月选择过去 60 个交易日涨幅最高、但最近 5 日没有过热的 20 只股票;
等权持有一个月,下个月重新排序。
动量策略的核心不是“追涨”,而是识别趋势形成后的持续性。它最怕的是风格突然反转。
均值回归
均值回归相信价格短期偏离太多后,会向合理水平回归。
例子:
某只 ETF 的价格相对 20 日均线低于两个标准差时买入;
回到均线附近卖出。
它在震荡市场里可能表现不错,但在单边下跌里很危险。均值回归最大的风险是把“便宜”误判成“正在变坏”。
价值策略
价值策略相信长期看,便宜且基本面不差的资产会被重新定价。
例子:
在每个行业内选择 PB 分位较低、ROE 不低、现金流为正的股票;
每季度调仓一次,控制单行业权重。
价值策略更依赖财务数据和耐心。它的难点是避开价值陷阱:有些公司便宜,不是市场看错了,而是它真的变差了。
多因子选股
多因子策略把多个视角组合起来,希望单个因子的缺点能被其他因子平衡。
例子:
总分 = 价值分数 * 30% + 动量分数 * 30% + 质量分数 * 25% + 低波分数 * 15%
每月买入总分最高的股票,同时限制行业偏离和单票仓位。
多因子的难点不是把公式写出来,而是避免重复暴露和过拟合。比如低 PE 和低 PB 很可能都在表达“价值”,不能假装它们是两个完全独立的信号。
套利和相对价值
这类策略不只关心一个资产涨不涨,而是关心两个或多个资产之间的关系。
例子:
当两只高度相关的 ETF 价差偏离历史均值过多时,买入低估的一只,卖出高估的一只;
价差回归后平仓。
它听起来稳,但对交易成本、做空机制、资金占用和执行速度要求更高。新手可以先理解思路,不建议一上来就实盘尝试。
事件驱动
事件驱动关注财报、分红、回购、指数调仓、政策、公告等事件。
例子:
跟踪指数成分股调整公告,研究调入调出标的在公告后和生效日前后的价格行为。
事件策略的核心是时间。你必须知道事件什么时候被市场知道,而不是只知道事件属于哪个财报期。
这些策略都不是万能钥匙。它们只是不同的假设模板。真正的研究,是把模板变成清楚的规则,再拿干净数据和真实约束去验证。
回测:它不是证明你会赚钱,而是帮你排除明显错误
回测的价值经常被高估,也经常被低估。
高估,是因为很多人把回测曲线当成未来收益承诺。低估,是因为一个严格的回测确实能帮你发现大量明显不该进实盘的问题。
一个像样的回测至少要回答这些问题:
- 当天产生的信号,最早什么时候能交易?
- 订单按什么价格成交,开盘价、收盘价、下一根 K 线,还是盘口撮合?
- 涨跌停、停牌、成交量不足时怎么办?
- 手续费、税费、滑点、冲击成本怎么算?
- 分红、拆股、复权、现金变化怎么处理?
- 多个信号同时出现时,资金如何分配?
- 卖不出去时,买入逻辑是否还会继续占用现金?
- 回测结果是否能复现?
回测指标也不能只看收益率。
| 指标 | 看什么 |
|---|---|
| 年化收益 | 长期赚钱能力 |
| 最大回撤 | 最痛的时候会亏多少 |
| 夏普比率 | 每承受一单位波动换来多少收益 |
| 胜率 | 赚钱交易占比 |
| 盈亏比 | 单次盈利和单次亏损的比例 |
| 换手率 | 策略对交易成本的敏感度 |
| 容量 | 资金变大后还能不能成交 |
| 稳定性 | 换时间段、换参数、换市场后是否仍合理 |
如果一个策略年化很高,但最大回撤也很深,换手极高,容量很小,参数稍微动一下就崩,那它更像一件漂亮的样品,而不是能上路的工具。
风控:先活下来,再谈复利
程序员写策略时容易兴奋,写风控时容易敷衍。但长期看,风控不是收益的敌人,而是收益能留住的前提。
风控至少分三层。
第一层是订单级风控:单笔订单价格是否异常,数量是否超限,是否买入黑名单,是否在禁止交易时间下单。
第二层是组合级风控:单票仓位、行业暴露、杠杆、现金比例、相关性、集中度、最大亏损。
第三层是系统级风控:数据源异常、策略输出异常、券商接口异常、连续亏损、日内回撤、人工熔断。
真正的风控规则应该写进系统,而不是写在脑子里。因为亏钱的时候,人脑最不可靠。
执行:从信号到成交,中间隔着现实
策略说“买入”,实盘系统要处理的却是订单生命周期:
生成信号 -> 风控审批 -> 创建订单 -> 发送券商 -> 等待回报
-> 部分成交 -> 撤单或追单 -> 更新持仓 -> 对账 -> 记录审计
这里有很多工程问题:
- 同一个订单重试时不能重复下单。
- 网络断开后要能恢复状态。
- 券商返回慢时不能把订单当成失败。
- 成交和持仓要能与本地账本对上。
- 所有自动操作都要能查到原因。
- 真金白银实盘前,要先跑足够长的模拟盘。
这也是为什么量化平台不能只靠一个 Notebook。Notebook 很适合研究,但不适合承担真实资金的执行责任。
性能:快很重要,但别快错了
量化平台会遇到性能问题,尤其是数据越来越多、策略越来越多、回测越来越频繁之后。
不过性能优化要有顺序。
先保证数据和结果正确,再保证可复现,然后才谈加速。一个有未来函数的极速回测,只是在更快地生产错觉。
常见优化手段包括:
- 用列式存储保存大规模行情和因子数据。
- 按交易日、标的、数据类型做合理分区。
- 对常用查询建立索引,避免全表扫描。
- 因子和特征做增量计算,不要每天重算全部历史。
- 对纯数值计算使用向量化,但撮合和订单状态机要谨慎。
- 多策略、多参数回测可以并行,但共享数据层要控制缓存和内存。
- 先用 profiling 找瓶颈,再决定是否引入更复杂的计算框架。
性能好的平台不是处处炫技,而是慢的地方知道为什么慢,快的地方没有牺牲正确性。
质量:能复现,才有资格谈改进
量化系统的质量要求比普通业务系统更难一点,因为错误不一定立刻报错,它可能只是悄悄让你亏钱。
一个质量合格的平台,至少应该做到:
- 每次回测有完整配置快照。
- 每份数据有来源、时间、版本和校验。
- 每次策略运行有输入、输出和日志。
- 每次订单有唯一 ID 和状态流转。
- 每天能自动检查数据缺口和异常值。
- 关键函数有单元测试。
- 关键策略有固定样本的黄金测试。
- 实盘持仓能与券商账户定期对账。
- 异常发生后能根据日志还原当时发生了什么。
质量不是上线前最后补一补测试,而是平台从第一天就应该保留证据。
真正赚钱的闭环

现在可以回到最开始的问题:平台怎么更接近赚钱?
不是靠一次灵感,而是靠一个闭环。
提出假设
-> 获取可信数据
-> 生成可解释信号
-> 严格回测
-> 加入成本和风控
-> 模拟盘验证
-> 小资金实盘
-> 监控和复盘
-> 修改假设
这个闭环里,每一步都会淘汰一批看起来不错的想法。
很多策略死在数据层:一查发现用了未来数据。很多策略死在成本层:扣完交易成本就没了。很多策略死在风控层:收益不错,但回撤大到普通人拿不住。很多策略死在执行层:回测成交价太理想,实盘根本打不出来。也有很多策略死在复盘层:赚了不知道为什么赚,亏了也不知道为什么亏。
平台的作用,就是让这些死亡尽早发生,而且发生在小成本阶段。
零基础的落地路线
如果从零开始,我不建议一上来就写一个全自动实盘系统。更实际的路线是五步。
第一步:做一个不会交易的研究系统
先只做数据和研究。
目标不是赚钱,而是能稳定下载、清洗、保存和查询数据。你需要有交易日历、行情、复权、基础指标、股票池和最简单的数据质量检查。
这一阶段的成果应该是:你能回答“某一天某只股票,当时系统知道什么”。
第二步:做一个诚实的回测系统
先从简单策略开始,比如均线、动量、低估值、定期调仓。重点不是策略多高级,而是回测要诚实。
你要把手续费、滑点、停牌、涨跌停、调仓频率、现金、仓位都算进去。回测报告里不要只有收益曲线,还要有回撤、换手、交易明细、持仓变化和参数快照。
这一阶段的成果应该是:同一段历史、同一份配置,任何时候重跑都能得到同样结果。
第三步:做模拟盘
模拟盘不是玩具,它是实盘前最重要的压力测试。
模拟盘要按真实时间运行。当天该什么时候算信号,就什么时候算;该什么时候发订单,就什么时候发;成交要用接近真实的规则模拟;收盘后要生成日报。
这一阶段你会发现大量研究阶段看不到的问题:数据延迟、任务失败、交易日判断错误、信号生成太慢、持仓计算不一致、日志不够查。
第四步:加风控和监控
风控规则不要等策略稳定后再加。越早加,越能逼你把交易动作写清楚。
监控也一样。一个策略每天是否运行、数据是否完整、信号是否异常、模拟成交是否离谱、回撤是否超过阈值,都应该自动检查。
这一阶段的成果应该是:系统出问题时,不需要靠人盯屏幕才知道。
第五步:小资金、低频率、可暂停
如果一定要进入实盘,先小资金、低频率、可人工确认、可一键暂停。
不要刚上线就追求全自动高频交易。真正危险的不是系统不会赚钱,而是系统在你没看懂的时候开始放大亏损。
小资金实盘的目的不是立刻赚大钱,而是验证真实世界和系统假设之间的差距。
程序员最该补的金融常识
最后列一张学习清单。它不追求“金融科班完整课程”,只保留做平台最常用的部分。
| 主题 | 要知道什么 |
|---|---|
| 收益和风险 | 简单收益、对数收益、波动率、回撤、夏普、偏度、尾部风险 |
| 交易成本 | 手续费、税费、滑点、冲击成本、借贷成本 |
| 投资组合 | 分散、相关性、权重、再平衡、暴露 |
| 因子 | 价值、动量、质量、成长、低波、规模,以及因子失效 |
| 市场微观结构 | 盘口、撮合、成交量、流动性、价差 |
| 统计 | 均值、方差、相关、显著性、样本外验证、过拟合 |
| 机器学习 | 特征、标签、训练集、验证集、泄漏、漂移 |
| 会计和财报 | 利润表、资产负债表、现金流量表、公告时间 |
| 工程质量 | 测试、日志、审计、幂等、监控、回滚 |
这张表不用一次学完。更好的方式是边做边补:做数据时学复权和财报口径,做回测时学成本和滑点,做风控时学回撤和暴露,做实盘时学订单和对账。
一个判断标准
当你不知道平台下一步该做什么时,可以问自己一个问题:
这个改动是在让我更接近真实世界,还是只是在让回测更好看?
如果答案是后者,先停一下。
量化平台最难的地方,不是把代码写复杂,而是持续抵抗自欺。数据要诚实,回测要诚实,风控要诚实,复盘也要诚实。只有这些东西都站住了,一个策略的微弱优势才可能被保存下来,并在足够长的时间里变成收益。
对零基础程序员来说,这其实是个好消息。你不需要一开始就懂所有金融理论,也不需要一上来就写出神奇策略。你需要先搭出一台会说真话的机器。
赚钱不是这台机器的保证书,但它是赚钱这件事能被认真讨论的前提。
本文只讨论量化平台的工程和研究方法,不构成任何投资建议。真实交易存在亏损风险,任何策略都需要结合资金规模、风险承受能力和交易环境独立验证。