为什么长期做量化,一定要先搭建自己的数据中台
很多人做量化,第一步就开始研究策略。
今天学一个 MACD,明天学一个 AI 选股,后天开始回测。结果半年后,策略越来越多,代码越来越乱,数据越来越碎,整个系统根本没法扩展。
尤其是个人开发者、独立量化团队,经常会踩一个坑:
把量化系统当成了策略工程,而不是数据工程。
但说实话,真正长期跑得起来的量化系统,重心其实不在策略上,而在数据层。
为什么数据底座这么重要?
量化系统本质上就是数据驱动。所有策略、因子、回测、AI 模型、风控、选股,全都建在数据之上。
数据层一旦出问题,后面什么都跟着乱:
- 指标没法统一,同一个 PE 不同来源数值不一样
- 股票代码混乱,有的表叫 code,有的叫 symbol,有的叫 ts_code
- 时间周期对不上,日线周线分钟线混在一起
- 财务数据缺失,财报更新不及时
- 因子重复计算,好几个策略各算一遍一样的东西
- 回测和实盘用的数据不一致,结果根本没法复现
很多人刚开始只有几十只股票的数据,觉得 CSV 就够了。但做半年以后你会发现,日线、分钟线、基本面、财报、资金流、技术指标、因子库、AI 特征、新闻舆情、宏观数据……数据量增长得比你想的快得多。这时候如果没有统一的数据管理方式,后面几乎没法维护。
一个成熟量化系统需要哪些数据?
长期来看,建议至少把下面这些数据管起来:
┌─────────────────────┐
│ 数据中台 / DataHub │
└─────────────────────┘
│
┌────────────────────────────────────────────────────────┐
│ │
│ • daily_history (日线行情 OHLCV) │
│ • daily_basic (基本面 PE/PB/换手率) │
│ • moneyflow (资金流向) │
│ • stk_factor (技术指标 MACD/KDJ/RSI) │
│ • stock_basic (股票基础信息) │
│ • balance_sheet (资产负债表) │
│ • income_statement (利润表) │
│ • cash_flow (现金流量表) │
│ │
└────────────────────────────────────────────────────────┘
│
┌──────────────────────────────────┐
│ │
│ 因子系统 / 回测 / AI / 策略引擎 │
│ │
└──────────────────────────────────┘
为什么建议一开始就搭?
有开发者会说:"我策略还没跑通,先不用那么复杂吧。"
这想法挺正常的,但后期再重构数据层,代价真的很大。
量化有个特点:数据只会越来越多。你今天可能只有 500 只股票的日线,但早晚要加全市场、分钟线、Tick、期货、ETF、美股、港股、AI 特征、另类数据。
如果一开始没设计好数据结构,后面大概率会遇到:表结构崩坏、查询变慢、指标重复计算、Redis 缓存失控、CSV 满天飞、Python 脚本互相依赖改一个挂一片。等你想整理的时候,已经理不清了。
量化的核心其实不是策略,是数据复用
大部分刚入门的人觉得策略最重要。但实际上,成熟的量化团队花在数据一致性、数据清洗、数据标准化、因子复用、特征工程上的精力,远比调参多。
原因很简单:一份数据可以反复用。
比如同一份 daily_history,动量策略用得着,AI 训练用得着,因子分析用得着,行业轮动用得着,回测用得着,择时用得着,可视化展示用得着,选股器也用得着。
所以长期来看,真正有价值的是持续积累的数据资产,不是某一个短期能赚钱的策略。策略会过时,数据不会。
推荐的数据中台设计思路
1. 原始数据层(ODS)
保持原始数据,不做修改。
ods_daily_history
ods_moneyflow
ods_financial
核心原则就是三条:可追溯、不污染、永远保留原始源数据。
2. 标准化层(DWD)
统一字段。
ts_code
trade_date
open
high
low
close
volume
这一层要解决的问题就是命名不一致——有的表叫 code,有的叫 symbol,有的叫 stock_code,到后面你会疯掉。统一规范非常重要。
3. 因子层(DWS)
这里放计算后的东西:技术指标、Alpha 因子、AI 特征、行业特征、横截面特征。
factor_momentum_20
factor_turnover_ratio
factor_pe_rank
factor_volume_breakout
4. 策略层(ADS)
直接给回测、AI 模型、选股器、前端接口用的。
top_factors_daily
strategy_signals
stock_scores
AI 和量化的关系
AI 深度介入量化已经是大趋势了。但 AI 有个硬需求:它要吃数据,而且是干净、结构化、能对齐的数据。
没有稳定的数据底座,特征工程做不了,时序训练做不了,多周期融合做不了,Walk-Forward 做不了,因子挖掘做不了,AutoML 也做不了。
我见过不少人,最后卡住的不是策略能力,是数据根本接不起来。
个人开发者推荐的技术架构
个人或者小团队没必要上来就搞 Hadoop。以下这些够用了:
数据存储: PostgreSQL / ClickHouse / DuckDB / Parquet
缓存层: Redis
任务调度: Airflow / Celery / Cron
数据处理: Python + Pandas + Polars
因子计算: TA-Lib / vectorbt / Qlib
两条不同的路
很多人的路径是这样的:
策略 → 回测 → 亏钱 → 放弃
而把数据当核心资产的人,路径大概是这样:
数据底座 → 因子平台 → 回测框架 → AI 特征工程 → 自动选股 → 多策略组合 → 风控系统 → 实盘交易
区别就在于你把数据当成附属品,还是当成核心资产。
总结
长期做量化,与其急着写策略、做回测、研究 AI,不如先把数据中台搭起来。
策略会失效,市场会变,模型会过时。但数据资产会一直积累,越往后越值钱。
量化这件事,拼到最后,壁垒往往不是什么策略秘密,而是你手里有没有一套长期积累、持续迭代的数据底座。
Top comments (0)