量化研究实战:从数据清洗到因子与回测的完整指南

发布时间:2026/10/23 14:16:46
量化研究实战:从数据清洗到因子与回测的完整指南 1. 量化研究的第一步先想清楚你要解决什么问题很多人看到量化研究四个字第一反应是写策略、跑回测、看收益曲线。但我在实际做下来发现真正拉开差距的往往不是策略本身而是你一开始有没有把自己要解决的问题定义清楚。我见过不少新加入的朋友上来就抱着某个开源框架研究怎么调参折腾了两周也没搞清楚自己在找什么信号最后做出的东西回测漂亮得要命实盘一跑就露馅。量化研究说到底是一套用数据驱动决策的研究方法。它不是为了消灭人的判断而是把投资决策中那些可以被验证、被重复、被度量的部分从直觉和情绪里剥离出来变成可回测的规则体系。这套体系通常包含几个层次首先是研究标的池怎么选其次是研究什么样的信号能预测收益然后是信号怎么组合成仓位最后是交易执行的细节怎么处理。这四个层次里每一层都有一堆看似不起眼但决定成败的细节。所以这篇文章不打算给你一套现成的策略代码那是害人。我尽量讲清楚一套完整的量化研究工作流——从数据准备、因子研究、回测设计到实盘衔接——每一步该关注什么有哪些常规文档里不会写的坑。适合那些刚接触量化、或者已经写了一两个demo但总觉得哪里不对的读者。如果你已经有成熟策略也可以拿我讲的边界条件对照一下自己的系统大概率能找到几个隐藏bug。在动手写任何代码之前我建议先花几天时间把投资逻辑想清楚。不说书面文档至少在心里能说清楚三件事我赚的是什么钱我的优势在哪里什么情况下这个优势会失效这三个问题回答不了后面的一切研究都是自嗨。2. 数据才是量化的地基常见数据源与脏数据治理2.1 数据源怎么选行情、财务、另类数据各有门道量化研究的第一步永远是数据。没有数据一切都是空谈。但数据这块的水非常深很多人上来就在数据源上栽了跟头。市面上常见的数据来源大致分三类行情数据日线、分时、tick、财务数据财报、业绩预告、另类数据舆情、资金流、供应链关系等。对个人研究者或者小团队来说行情和财务数据是基本盘另类数据可以作为增强项但千万不要在初期把大量精力花在另类数据的清洗上——那是个无底洞。我自己的经验是先用日线级别的行情数据把研究流程跑通等策略逻辑稳定了再逐步提高数据频率。一上来就搞分钟级甚至tick级数据不仅存储和处理成本高而且研究周期会被拉得很长很容易在细节里迷失方向。选择数据源时我比较看重三点覆盖完整性退市股票有没有保留、复权处理方式前复权还是后复权、字段一致性同一个个股在不同数据源里的代码和名称是否统一。这三点决定了你后续做研究时会不会被数据本身的bug反复折磨。我自己经历过最惨痛的教训是某个模拟项目X在研究行业轮动时因为数据源没有包含退市股票导致幸存者偏差非常严重。回测里看似每年稳定跑赢的行业组合剔除掉那些后来退市的股票之后超额收益直接砍掉一大半。这就是典型的数据覆盖不全给研究结果带来的隐性污染。2.2 脏数据治理复权、停牌、涨跌停这些坑你必须处理数据拿回来之后别急着算指标。第一件事是清洗。量化研究里的脏数据治理是那种听起来简单、做起来极容易出错、出错之后又极难发现的环节。先说复权。股票分红送转会导致价格除权表面上看股价大跌实际上持仓者没有亏损。如果你直接用未复权的价格数据算收益率那么分红日那天你的回测里会凭空多出一根大阴线策略就会在那天自动止损离场完全是被数据错误误导的。处理办法是统一用后复权价格做研究这样历史价格是连续可比的。但要注意后复权价格会随最新一期分红持续变化所以你需要固化截断日期研究哪一段就用哪一段的复权因子不要混用。再说停牌。停牌期间没有交易价格数据供应商通常会沿用停牌前最后一日收盘价或者填充空值。拿这种数据计算收益率时要特别小心停牌复牌后的跳空。比较稳妥的做法是计算因子时排除停牌样本但建仓时允许持有停牌股票——否则你的回测永远无法模拟停牌期间不能卖出的真实约束。还有涨跌停。这是个人做量化最容易忽略的一个约束。涨停板上你根本买不进去跌停板里你也根本卖不出来。但很多回测框架默认按当日收盘价撮合导致你的策略在涨停日买入成功、在连续跌停日卖出成功回测曲线好看得离谱实盘一上去就是流动性陷阱。处理办法是在回测引擎里加入涨跌停不可成交的约束至少对你研究范围内的股票要做到这一步。2.3 数据对齐与标签泄漏最隐蔽的错误数据清洗完还不够你要面对的最隐蔽问题是对齐与标签泄漏。这两个问题即使在做了多年量化的团队里也偶尔出现因为它们不像复权那样有明显的数值异常而是逻辑层面的错误。数据对齐指的是因子值和行情价格的时间戳必须严格对齐。比如你用截止到T日收盘的数据计算因子却用T日当天的收益作为标签去训练模型这就引入了未来信息。标准的做法是T日收盘计算因子T1日开盘或收盘确认交易用T1到T2的收益作为标签。看似只差一天但对很多高频因子来说这一天的差异意味着相关性直接从正变负或从负变正。标签泄漏更隐蔽。比如做事件驱动研究时你从新闻数据里提取事件标签但标签文本本身就来源于未来发布的公告而你在T日做预测时不可能读到T1日才发布的公告。这类问题在文本类因子和基本面类因子中特别常见。我处理这类问题时立了一条死规矩任何输入特征的时间戳都必须在标签时间戳之前至少一个完整的交易周期这个周期根据你的最低持仓周期来定最短也得留一天缓冲。这些数据层面的问题不像策略参数那样能直观看到收益曲线的变化但它们是所有研究结论成立的前提。我个人的体会是每拿到一套新数据先写一个简单的数据体检脚本检查空值率、极值、复权因子跳变、停牌记录连续性。这套体检流程的花费大概占整个研究周期的三分之一但绝对物超所值。3. 因子研究的基本功从单因子测试到因子合成3.1 单因子测试IC、分组回测、换手率怎么看数据准备好了终于进入看起来像量化研究的部分——因子测试。一个因子就是一个横截面上的排序信号比如市盈率、过去一个月的动量、营收增长率、波动率倒数等等。你要回答的问题只有一个这个排序信号对未来收益有没有预测能力评判一个因子的预测能力我主要看三个指标的组合而不是单一指标。第一个是IC信息系数也就是因子值和未来收益的秩相关系数。IC的绝对值越大越好同时要看IC的稳定性也就是IC序列的标准差。单纯IC高但忽正忽负的因子没有实操价值因为你看不出它什么时候有效。我自己习惯用IC的均值除以标准差得到ICIR这个指标能同时体现预测能力和稳定性通常ICIR超过0.3才值得继续研究。第二个是分组回测。把股票池按因子值从大到小分成五组或十组分别计算各组未来的平均收益。一个有效因子应该呈现单调性——因子值越高的一组未来收益也越高或者反过来。如果只是极值组有超额收益、中间组是乱的那这个因子可能只在极端情况下有信号实际应用时你得考虑头尾暴露的集中度风险。第三个是换手率。这是很多人忽略的致命指标。一个因子如果靠极端的每日调仓来获取超额收益即使IC很高扣掉手续费和滑点后盈利也可能所剩无几。我一般会在因子测试阶段就估算调仓带来的双边换手成本如果年化换手超过某个阈值就要么降低调仓频率要么放弃这个因子。3.2 因子正交化与合成别把重复信息当多因子单因子测试通过之后下一步是因子之间的合成。这里最常见的误区是把高度相关的因子当成独立的alpha来源。比如市盈率因子和市净率因子听起来两个不同但本质上都在捕捉价值这个维度它们的信息重叠度非常高。你把两个高度相关的因子简单加权相当于给同一个信号加了双倍权重组合的分散化效果会被严重高估。处理这个问题的标准做法是因子正交化。我常用的是施密特正交化或回归取残差的方式把所有因子对已有因子做回归取残差作为新的增量信息。这一步做完你往往会有个很沮丧的发现原本看似不相干的十个因子正交化之后真正贡献增量的可能只有四五个剩下的全是冗余信息。因子合成的方式也有所讲究。最简单的是等权合成适合信息相对独立的因子。进阶一点是按ICIR加权预测能力越强、越稳定的因子权重越高。再进阶的是用机器学习模型比如线性回归、梯度提升树来做因子合成让模型自动学习因子之间的非线性交互。但我要提醒一句模型越复杂过拟合的风险越大尤其是在数据量不够大的情况下。对个人研究者来说从等权和ICIR加权起步通常是最稳妥的选择等积累了足够长样本的因子表现数据再尝试更复杂的合成方式。3.3 因子衰减与调仓频率的权衡最后一个因子研究中绕不开的问题是因子衰减。因子对未来收益的预测能力会随时间衰减有的因子衰减特别快——比如日内动量类的因子可能一两天就失效了有的衰减慢——估值类因子往往能管两三个月。理解衰减速度直接决定你的调仓频率设计。我的建议是对每个因子都画出IC随持有期变化的曲线图。横轴是持有的天数纵轴是持有N天后的IC值。你会很直观地看到这个因子的半衰期在哪里。然后根据半衰期和交易成本找到最优调仓周期。这本质上是一个优化问题调仓越频繁因子新鲜度越高但交易成本也越高调仓越少成本低但因子有效性打折。实操层面我一般把因子分为高频和低频两档来管理。高频档留给换手成本敏感的T3到T5类策略低频档用于周频或月频调仓的组合。分类管理可以避免用一个调仓周期去硬套所有因子的尴尬。4. 回测系统设计的核心决策与实盘差距4.1 向量化回测 vs 事件驱动回测各适合什么阶段因子研究做完就到了回测环节。回测的本质是模拟历史但历史和实盘之间永远有差距。先讲讲回测系统的架构选择。市面上开源的回测框架分两类向量化回测和事件驱动回测。向量化回测把整个时间段的数据做批量运算速度快、代码简洁适合策略逻辑比较固定的研究场景比如定期调仓的选股组合。事件驱动回测则像真实交易系统一样按时间轴逐事件推进每一步都模拟下单、成交、持仓变动逻辑更贴近实盘但速度慢、代码复杂。我的建议是研究阶段先用向量化回测快速迭代等策略雏形出现、准备验证实盘可行性时再迁移到事件驱动回测。很多新手一上来就追求逼真的模拟结果被复杂系统拖慢了研究节奏得不偿失。当然了你如果做的是日内高频策略那向量化回测可能帮不了你太多只能直接从事件驱动框架起步。4.2 手续费、滑点与涨跌停流动性约束回测系统里最容易被低估的是交易成本建模。我见过太多回测曲线被交易成本打回原形的案例。手续费、印花税这些是明面上的固定成本通常比较好估算。真正麻烦的是滑点——你的委托价格和实际成交价格之间的差距。滑点在回测里不能简单地固定成几个基点因为不同市场环境下的冲击成本差别很大。在低流动性股票上大单买入滑点可能是高流动性股票的几十倍。我常用的方式是对成交价格做悲观假设买入时在信号价基础上加一定比例比如千分之一到千分之二卖出时减一定比例然后用这个保守口径来过滤策略。如果策略在保守滑点下还能存活实盘的容忍度就会高很多。涨跌停约束前面提到过在回测系统里要成为硬规则。涨停不能买入跌停不能卖出而且在涨跌停附近还要考虑排单概率递减的问题。有些框架允许你设置参与涨跌停成交的概率参数这算进阶玩法初期先把不可成交设为默认规则比较稳妥。4.3 过拟合的识别样本内外测试与参数敏感性回测做得多了你一定会遇到一个让你兴奋不已的时刻某个参数组合下的回测曲线几乎笔直向上夏普比率高得吓人。这时候要冷静因为你大概率遇上了过拟合。过拟合在量化研究里无处不在表现形式有两种一是参数过多模型记住了历史噪音而不是规律二是研究过程反复回测用同一段数据不断调整策略直到某版参数生效为止——相当于拿着答案考自己考一百次总能考到满分。我自己的切身体会识别过拟合最有效的方法是参数敏感性分析把模型参数在合理范围内小步扰动如果绩效指标剧烈波动那就说明模型处于过拟合的尖峰状态如果绩效平稳说明模型抓住了比较稳健的规律。另一个常用手段是样本内外划分。用前几年数据训练和参数筛选后几年数据做验证验证期只跑一次不做任何调整。如果样本外效果大幅衰减就要怀疑策略的稳定性了。真正能实战的策略样本外表现不一定比样本内好但至少不能离谱。5. 从研究到实盘的最后一公里风险控制与执行细节5.1 仓位管理凯利公式、固定比例和风险预算策略研究到一定程度研究重点要从赚多少转向亏多少。仓位管理是量化研究从理论到实战的一道关键分水岭。研究阶段你可能只关注收益但实盘里问你的第一个问题一定是最大回撤能到多少你用多少仓位去承担这个回撤你是否承受得起仓位管理的入门思路是固定比例仓位。比如回测显示某策略的年化波动率是15%你决定目标组合波动率控制在10%以内那么仓位比例就是10%除以15%约等于三分之二。这个思路虽然粗放但逻辑清晰、容易执行适合刚上实盘的策略。进阶一点可以采用风险预算的思路把整体风险分配给不同类型的策略再在策略内部使用类似比例的方法决定个股仓位。这里要特别警惕的是同一风险源的重复暴露。比如你的两个策略一个是行业动量、一个是个股反转看似分散但实际上都在赌市场整体情绪一旦市场反转两个策略可能同步亏损风险预算瞬间突破上限。所以在分配风险预算之前一定要先做策略收益的相关性分析。5.2 多策略组合与相关性控制到了这个阶段你很可能已经从单一策略扩展到多策略组合。多策略的意义在于分散风险但如果组合里的策略高度相关分散就是幻觉。我自己做组合时会定期计算各策略两两之间的收益相关性矩阵目标是让组合的平均两两相关性低于某一个阈值比如0.3。相关性会随市场环境变化不能用一段时间的静态值一劳永逸。比如趋势类策略和均值回归类策略长期看相关度不高但在某些特殊行情阶段可能同时失效。所以我会分场景检查相关性在历史大牛、大熊、震荡三种阶段分别计算看组合在不同环境下的稳定性。这一步研究做完你对整体策略的把握会清晰很多。5.3 paper trading模拟盘的真实价值最后一环是模拟盘也就是paper trading。很多人在模拟盘上亏了钱觉得挫败赚了钱觉得多此一举其实都没有正确认识模拟盘的价值。模拟盘的目的不是验证收益而是验证你的系统链路是否顺畅策略信号能不能准时推送、下单模块和券商接口对接是否稳定、自动风控能不能及时触发、账户资金变动能不能正确同步到数据库。我见过不少团队跳过模拟盘直接上实盘结果第一个月就被各种执行层面的问题搞得焦头烂额。有的问题很基础比如交易接口的限流机制导致单子没发出去有的问题很隐蔽比如数据库里持仓和券商实际持仓对不上导致风控模块错误地砍掉了不该砍的仓位。这些坑是回测永远测不出来的只能在模拟盘中暴露。所以我的经验是模拟盘至少跑三到四周覆盖不同的市场行情把整个系统链路跑顺了再考虑上实盘。从数据到因子从回测到模拟盘这套流程走通一次之后你对量化研究的理解会跟一开始完全不同。这行没有一劳永逸的圣杯只有不断完善的工作流、持续升级的数据治理和永远保持敬畏的风险意识。写到这里忽然觉得做量化最大的确定性反而是你要接受它永远处于一个不断逼近、但从未完全到达的状态。这可能就是这个领域最迷人的地方了。

关于本文作者

来自尧图内容编辑团队

尧图内容编辑团队 内容团队

尧图内容编辑团队

本文由尧图网络内容编辑团队执笔。团队由资深项目经理、前端工程师与设计师组成,所有内容均来自亲手交付的真实项目,先讲清问题、再给出可落地的解法。尧图深耕北京网站建设十年,服务过京华建材集团、智造科技等各行业客户,把一线经验沉淀为可复用的行业观察。

  • 十年建站经验,覆盖建材、制造、服务、文创等
  • 项目经理把关选题与事实准确性
  • 工程师与设计师联合撰写专业细节
  • 统一编辑规范,保证文风与排版一致
  • 每月复盘转化数据,迭代选题方向

延伸阅读

相关资讯与近期热门内容

深度阅读推荐

建站决策前值得细读的三篇

网站改版的5个关键决策
2024-08-12

网站改版的5个关键决策

什么时候该改版、改到什么程度、如何避免流量掉光,京华建材集团改版复盘给出答案。

获取专属建站方案

看完文章,把您的行业与预算告诉我们,免费获取一份量身定制的官网建设方案与报价。

立即免费咨询