
如果两年前有人问我国内量化平台到底发展到什么程度了我的回答大概率会带点悲观。那时候想跑一个稍微像样的策略回测要么自己折腾数据清洗要么去开源社区翻老旧的框架中途踩坑能踩到怀疑人生。但这两年再看国内量化平台基本走完了“从工具到生态”这一步数据、回测、模拟盘、实盘接口、社区策略分享已经能串成一条完整的闭环。这篇文章不谈广告只从一个实际做策略、接实盘、长期在平台里折腾的人的角度聊聊国内量化平台的核心差异、选型逻辑、实操路径以及这些年我踩过的那些非技术坑。不论你是刚接触量化的小白还是已经在某家平台写过几十个策略的进阶玩家这篇内容都会有一些参考价值。我会尽量把“为什么这么做”讲清楚而不是只甩一堆操作步骤。1. 国内量化平台生态与选型逻辑国内量化平台这几年最大的变化不是某个平台多了几个功能而是整个市场被分出了清晰的三层结构券商内置型终端、云端研究型平台、开源框架自建链路。三类路线各有取舍选错方向的代价往往不是换一个平台就能补救的。1.1 平台分类与适用人群先看一张我做了好久的对比表基本能代表2024年国内量化平台的格局平台类型典型形态核心优势主要限制适合人群券商内置终端嵌入交易软件的量化模块开户即用实盘链路短策略语法固定数据维度有限刚入门、想快速跑通首笔程序化交易的用户云端研究型平台浏览器数据库回测模拟盘一体化数据齐、社区活跃、上手快深度定制受限部分平台策略导出不自由想把主要精力放在策略逻辑而非工程实现的用户开源框架自建链路本地数据库回测框架自写交易接口完全可控、可复制、可扩展需要自己维护数据与服务器工程成本高有一定编程基础、追求策略颗粒度与数据自由度的用户我个人的经验是别一上来就迷信开源自建。很多人听到“开源”两个字就默认等于“高级”但实际上你在本地搭一套从行情采集、数据清洗、因子计算到回测的链路前两周可能都在跟环境变量和接口文档搏斗。而云端研究型平台的优势在于它把数据跨周期对齐、复权处理、底层数据字典这些脏活累活全包了你只需要关注策略本身。1.2 平台这些年解决了哪些核心痛点早期做国内量化最痛苦的三件事分别是历史数据拿不全、回测结果不可信、模拟盘和实盘差距大到离谱。国内量化平台之所以能发展起来本质上是把这三件事逐个击破了。数据方面早期你得自己写爬虫去抓公告、下载日线还要处理复权因子对不齐的问题。现在主流平台基本都内置了国内全市场的日线、分钟线、财务数据、板块数据甚至另类数据也开始接入。回测方面平台把撮合逻辑、手续费、滑点模型做进了引擎里至少不会让你在“用收盘价成交”这种荒谬假设里自嗨。模拟盘则让策略在真实行情下跑一段时间检验它在非理想环境下的表现。这三个痛点解决掉之后大家重新站到了同一条起跑线上讨论策略本身这其实才是国内量化平台对行业最大的价值。2. 平台核心模块的差异不能只看宣传页选平台时最容易犯的错误是把注意力放在首页的功能罗列上。数据维度有多少、回测引擎有多快、接口支持多全这些宣传点当然重要但真正拉开体验差距的往往是一些不写在首页的细节。2.1 数据质量与因子计算细节数据这一环官方页面上只会写“覆盖全市场股票/期货/基金”但实际用起来你会遇到几个隐藏差异第一是复权方式。有些平台默认给的是前复权数据有些给的是后复权还有的让你自己选。这直接影响回测里计算收益率的准确性。前复权会改变历史价格导致历史信号在“当下视角”下看起来正确但放在当时并不成立。所以我一般建议跑历史回测时统一用后复权或精确复权方式回测结果才具备跨时间段的可比性。第二是财务数据的对齐时点。不同平台对“财报发布日期”的处理差别很大。有的平台把财报数据直接对齐到报告期这意味着你会用未来才知道的财务数据做历史回测——典型的未来函数。使用前可以做一个简单测试在某一个季度末的最后一个交易日买入低市盈率股票组合看历史回测收益是不是异常高。如果高得离谱大概率就是财报时点处理有问题。第三是停牌、涨跌停、ST股票的成交处理。实盘里一字板你根本买不进去但有的平台回测引擎默认帮你成交了。这会导致回测曲线和实盘曲线在震荡市或极端行情下严重背离。至少得确认平台支不支持“涨停不买入、跌停不卖出”这类交易约束。2.2 回测引擎的隐藏差距我曾在两个平台之间做同一个均线策略的交叉验证结果年化收益居然差了8个百分点。后来逐个排查发现差异主要来自三个地方撮合时点有的引擎按当日开盘价撮合有的按收盘价还有的按加权均价。实际影响非常大尤其对日内反转类策略。滑点模型固定滑点还是按流动性动态建模对市值小、成交不活跃的股票池影响非常明显。手续费与冲击成本印花税、佣金、过户费是否都计入了最低佣金5元是否考虑了这些细节在小资金高频调仓时会显著吃掉收益。我后来养成了一个习惯任何新策略先拿同样的参数在两个不同平台跑一遍如果收益差距大于3个百分点先别急着优化策略而是先检查是不是回测假设的差异。3. 实操从策略想法到实盘接入的完整路径理论讲再多不如直接走一遍流程。我以一个典型的“双均线成交量过滤”策略为例拆解从想法到实盘的全过程。这套流程不绑定某个特定平台你可以根据自己的平台选择对应操作。3.1 开发流程六步走第一步需求拆解与信号定义。明确策略要解决什么问题。双均线策略的核心假设是“趋势一旦形成短期均线围绕长期均线波动金叉死叉是买卖信号”。在此基础上加成交量过滤成交量需要大于过去20日均量的1.2倍否则信号不成立。这个过滤条件的目的是减少低波动期的假信号。第二步数据验证。在平台上拉取最近5年的日线数据先做几件检查数据是否有缺失、复权方式是什么、股票池是否包含已经退市的股票。很多平台默认只保留当前在市股票这会造成“幸存者偏差”让回测结果虚高。我会手动加入一个已退市股票的名单看看平台是否支持如果不支持起码要在结论中保留这个认知偏差。第三步因子与指标计算。以Python为例核心计算逻辑类似这样# 假设df是日线数据包含close、volume、date列 df[ma_short] df[close].rolling(window20).mean() df[ma_long] df[close].rolling(window60).mean() df[vol_ma20] df[volume].rolling(window20).mean() # 金叉死叉信号 df[signal] 0 df.loc[(df[ma_short] df[ma_long]) (df[volume] df[vol_ma20] * 1.2), signal] 1 df.loc[(df[ma_short] df[ma_long]), signal] -1注意这里的细节死叉信号我并没有叠加成交量过滤。为什么因为卖出信号需要更敏感如果卖出也要等放量很可能会在趋势反转时延迟过久吃掉已有利润。第四步回测参数设定。回测时间范围、初始资金、佣金、滑点都需要显式设置。我习惯设置初始资金50万佣金双边万2.5印花税卖出千1滑点按成交价的0.1%计算。不要用平台默认参数默认参数往往偏乐观。第五步模拟盘运行。回测收益再好也得在模拟盘里跑至少一个月。模拟盘使用的是真实行情输入但撮合逻辑不一定完全等同于实盘。这一个月主要观察信号频率、持仓时间、成交滑动的匹配度。第六步小资金实盘。模拟盘跑稳定之后用总资金的10%做实盘。这个阶段不看收益只看一件事策略在实盘环境的延迟、订单执行、持仓同步是否与模拟盘一致。3.2 实盘接入与风控配置实盘接入这一步是很多用户心理落差最大的环节。回测里再完美的资金曲线上线后都可能走形。我总结的实盘配置要点如下订单风控设置单笔最大亏损比例我通常设为2%。即如果单笔订单浮亏超过账户权益的2%系统立即止损平仓。频率风控限制每天最大交易次数防止程序出现死循环或异常重复下单。权限管理虽然是自己跑策略也建议用子账号或者单独的API key来运行实盘策略主账号用于日常查看避免策略误操作连带账户风险。监控与告警平台支持钉钉/微信/邮件告警的全部打开。成交回报、持仓变动、策略异常停止都需要第一时间推送到手机。4. 那些年我踩过的坑以及怎么排查实操环节的问题往往比策略逻辑本身更折磨人。我把这些年遇到的高频问题整理成一份速查表希望能帮你省点弯路。4.1 典型问题速查表现象可能原因排查方式回测收益很高实盘亏损未来函数财报对齐/复权或幸存者偏差换平台交叉验证检查样本池是否含退市股模拟盘正常实盘成交价总偏离滑点模型乐观或下单时点与信号产生时点有延迟记录信号时间戳与成交时间戳对比偏差是否超过预期策略某段时间内连续止损市场风格切换或策略参数过度拟合历史区间把回测区间拆分成多段检查每段独立表现平台接口频繁断连网络波动、接口频率限制、token过期检查轮询频率是否超过平台限制设置断线重连机制持仓数量与本地记录对不上盘中撤单、部分成交事件未同步启动定时同步任务以平台持仓为准定期校准本地记录策略在模拟盘停用后历史数据丢失平台存储策略运行记录有时效限制重要策略定期导出交易记录和持仓快照4.2 排查思路与避坑技巧先说未来函数。这个问题在本地自建数据链路时尤其常见。比如你从某数据商拿到的财务数据字段里含有“公告日期”和“报告期”。回测时如果用报告期作为信号产生时点就会在1月就用上4月的财报数据。我之前吃过这个亏一个低估值选股策略回测年化40%实盘直接腰斩后来才发现是数据对齐出了问题。再说参数过拟合。不要在一个回测区间里反复调参调到完美再上线。更合理的做法是把5年数据拆成前3年训练、后2年验证。前3年用来定参数后2年只跑不调。如果后2年表现和训练期差距很大说明策略大概率过拟合了。最后是关于平台的依赖问题。云端平台虽然方便但如果你写的策略、用的数据、生成的报告全都绑定在一家平台上后续迁移成本会很高。我的做法是核心策略逻辑全部本地保存一份数据依赖尽量用标准化接口pandas读取CSV或者通用SQL查询这样即使平台变动策略逻辑也不会被锁死在里面。实测下来国内量化平台现阶段最值得依赖的功能其实是模拟盘和社区策略源码。模拟盘能帮你零成本验证实盘环节的工程问题而社区里大量的“失败案例”往往比成功案例更有学习价值。看到一个策略源码先别急着抄去看它的回测区间、参数设置和帖子下面的讨论往往能发现比源码本身更多的坑。我个人在实际操作中的体会是量化平台再强也只是把你从“重复劳动”里解放出来并不能替你产生稳定的超额收益。策略的迭代、风险的控制、对市场的理解依然需要你自己去积累。工具给你的是一座桥过桥之后的路每一步都得自己走。如果你现在正准备选一个平台开始我的建议是先别充值、别开大账户拿模拟盘跑两周感受一下平台的语法、数据维度和社区风格再决定要不要深入。这个习惯帮我避免了好几次“换平台搬家式迁移”的折腾也希望能帮你少走一些弯路。