个人量化学习
第一篇:自建A股数据仓库,为时序预测建模铺路
项目代号:QuantDex|纯学习向项目,后续计划小额资金体验实盘,不构成任何投资建议
导读:作为金融零基础新手,我从零搭建量化项目的数据底座。本篇记录项目架构、用到的技术与建模思路,开启我的量化机器学习学习记录。
概述
我本身金融基础几乎为零,打算从底层动手学习量化,而不是直接套用现成的开源策略包。我选择先搭建属于自己的数据底座,有了可控的数据,后续的模型实验才有意义。
项目有一个很关键的设计:只归档代码,原始行情数据不提交到代码仓库。所有K线、财务数据都保存在本地,删除data目录后,重新执行抓取脚本就能完整重建数据集。这样既能节省仓库容量,也能避免过时的历史数据干扰模型训练。
目前已经完成多源数据抓取、Parquet本地存储、技术指标计算、简易回测引擎。接下来,我会基于这套自建数据集,尝试训练机器学习预测模型,完整走一遍从数据到策略回测的流程。
使用技术
- Python + Pandas + PyArrow:时序数据处理、Parquet文件读写
- akshare / baostock:免费数据源,抓取A股行情、财务、资金流、宏观数据
- 自研
ParquetStore:封装统一读写接口、数据注册表、数据质量校验 - 指标模块:内置MA/MACD/RSI/KDJ/ATR等技术指标一键生成
- 回测模块:支持导入自定义交易信号,模拟佣金、滑点,输出收益与风险指标
建模核心思路
- 数据质检:检查时间连续性、重复行与异常价格,时序数据严格按日期排序。
- 特征工程
- 基础特征:技术指标、滞后收益率、滚动成交量与波动率
- 扩展特征:PE/PB基本面、北向/两融资金、宏观指标、横截面排名特征
- 核心约束:构造特征时,只能使用当日已经公开可获取的信息
- 标签构建:利用
shift(-1)构造未来收益标签,二分类任务目标为预测下一日涨跌。重点防范前瞻数据泄露(lookahead bias)。 - 数据集划分:时序数据不能随机打乱样本,采用按时间切分、滚动向前验证的方式。
- 模型选型:优先使用LightGBM,对表格数据友好、训练高效;后续可尝试时序类模型。使用SHAP来解释特征贡献,看懂模型判断逻辑。
- 双层评估
- ML层面:AUC、F1
- 金融层面(更重要):夏普比率、最大回撤、年化收益;模型预测结果转为持仓信号送入回测引擎,计入交易成本。
- 重点避坑:前瞻偏差、幸存者偏差、过拟合、忽略滑点与手续费。
学习方向
- Pandas时序数据清洗与处理
- 树模型基础,时序机器学习的验证方法
- 量化基础:回测指标、交易摩擦、量化建模典型陷阱
结语
这个项目对我来说,本质是一次完整的学习实践。比起追求高收益策略,我更想吃透整条链路:原始数据处理、特征构造、模型训练,再到回测里各种现实约束带来的影响。回测只是历史数据模拟,无法代表未来市场表现。后续会持续记录实验过程和踩坑心得。

浙公网安备 33010602011771号