为什么我不推荐个人量化使用自建数据源
量化的本质,是数据加因子加策略:数据是原料,因子是加工,策略是决策。三者层层递进,而数据在最底层——因子从数据里算出来,策略靠因子做决策。但数据质量不决定策略的上限,决定它的下限:数据好,策略未必有效;数据错,因子就是错的,策略建立在错误的因子上,回测再漂亮,实盘也是另一回事。
数据重要,重要到应该用最省力、最可靠的方式拿到它,而不是亲手去建一条管道。这里要澄清一下「自己动手」:我说的是策略主导权——选股、决策、执行不外包给基金;而数据获取是公共基础设施,不构成竞争优势,外包无害。另外先说清楚范围:下面聊的是个人量化最常见的场景——日级别策略、标准行情加财报数据;高频、另类数据的逻辑不一样,文章最后会回到这个边界。
个人量化最容易被忽视的陷阱,是把策略研究变成工程量
我见过太多人(包括当年的我)走上这条弯路:决定做量化之后,第一件事不是找因子,而是建数据管道。爬行情、爬财报、搭数据库、写增量更新,再配上定时任务和监控,工程做得有模有样,成就感满满。
但这是个人量化最容易被忽视的陷阱:把策略研究,变成了沉重的工程量。
个人做量化真正该做的事,是一个循环——寻找因子、调整策略、严格执行。这个循环跑得越快,你进步得越快。而建数据库、维护数据源这件事,不在循环里,它是循环的燃料供应商。把大量时间和精力花在维护数据源上,不是在做量化,是在修管道。管道修得再漂亮,也不会让策略多赚一分钱。
这个陷阱的迷惑性在于,它给你一种「我在做量化」的错觉:每天都有事做,每天都有产出,数据库越来越大,代码越来越多。但停下来一看,因子的想法还是那几个,策略还是没迭代,循环根本没转起来。本末倒置,是这个陷阱最准确的定义。
所以我不推荐个人量化自建数据源,首先不是因为它技术上有多难,而是因为它会把你的精力从核心循环上抽走。其次,才是自建数据源本身那些坑。
其次:自建数据源的三个坑
先界定一下:这里说的自建,是「爬虫、数据库、清洗全套自己造」的那种;从现成源拉数据落库、自己加复权和清洗逻辑的「半自建」,是很多人的现实选择,成本可控,不算坑。真正的自建,有三个坑,每一个都够让个人量化者折戟:
坑一:数据错了,你不会知道。 复权没处理对、幸存者偏差没剔除、财报用了发布日之前的数据、涨停板信号算出来却买不进去——这些错误不会报错,不会提示,它们只是让你的回测曲线变得好看。你以为那是策略有效,其实是数据在骗你,然后你开始调参,越调越离谱,最后在给数据错误配参数。
坑二:维护是永无止境的。 反爬会升级、接口会变、财报字段会调整、除权除息规则要手动补。自建的成本从来不是「写爬虫那两周」,而是之后每一天的持续性消耗。机构有专人干这个,个人只有晚上那点时间——数据管道会悄悄吃光它。
坑三:单人系统没有兜底。 机构的数据管道有 review、有测试、有告警,出错了有人发现有人修。个人一个人写、一个人测、一个人上线,规则写错了没人拦你,静默出错了没人提醒你。单点故障不是概率问题,是时间问题。
还要澄清一句:用现成源不是不用懂数据——复权、幸存者偏差这些坑,你依然要知道它们在哪,才判断得了数据对不对。现成源替你省掉的是踩坑的过程,不是认知。
数据源怎么选:标准是赚得回来
那数据源到底买不买、买哪种?先别急着看功能表,我的标准很简单:这笔钱,你有没有能力赚回来。
起步阶段,免费源(akshare、baostock)完全够用,但要心里有数:它们本质是社区维护的爬虫,接口变动频繁、字段质量参差。用它们不是零风险,只是把维护外包给了社区,而社区不保证可用性。
Tushare Pro 一年 500 块,对做日线策略的个人已经很够。500 块是什么概念?如果策略真的有效,哪怕只带来 0.1% 的年化提升,十万元本金一年就是 100 块——数据费是你账本里小到不该成为决策变量的那行。
如果不追求数据及时性,还有更省的办法:几块钱搞个共享账号,把历史数据一次性下载到本地,慢慢研究。这依然是「用现成源」——你只是把在线订阅换成了本地快照,清洗和复权逻辑自己留着,该怎么做研究还怎么做。这不违背前面的原则:你没有花时间维护管道,只是把数据拿到了手。
花钱还是省钱,不用纠结功能表和数据精度,只问一句:这笔钱,你的策略赚得回来吗?赚得回来,买;赚不回来,那问题的核心也不是数据费——省下这点钱,救不回一个没有 alpha 的策略。
什么时候自建才是合理的
数据源不是绝对不能自建,它只在边界上成立:
- 商业源覆盖不到的数据,比如大宗交易逐笔明细、某些另类数据,买不到就自己搞;
- 个性化加工的数据,比如你自己设计的因子、衍生指标——这不叫自建数据源,叫自建特征工程,该做,而且必须自己做;
- 纯粹想学技术,那完全可以,但要认清这是在为学习付费,不是为省钱,更不是为策略。
判断标准就一条:如果自建是为了「数据更可靠」,多半会失望;如果是为了「拿到商业源没有的东西」,才真正成立。
把时间还给循环
个人量化的胜负手,是「找因子→调策略→严格执行」这个循环的转速。数据是水,策略是鱼,你要做的是用现成的干净水源尽快养出会游泳的鱼,而不是先花两年亲手打一口井。
数据重要,所以更不该亲手去维护它。把维护交给成熟的数据源,把时间留给自己——留给那个真正决定你收益的循环。至于高频、另类数据,那是另一个故事:那里「买不到」是常态,自建才真正开始。但在日级别、标准数据的战场上,把管道外包,把时间留给循环,是投入产出比最高的选择。
寒蝉 Hancic

