free-stockdb 开源 A 股本地量化数据引擎|免费本地股票数据库,支持日 K、分钟 K、ETF 行情、自动复权、全市场回测
free-stockdb 是面向 A 股市场的开源本地量化数据引擎,主打日 K、分钟 K、ETF 分钟行情、tick 级行情本地落盘,一站式解决量化研究的数据工程难题。项目采用 C++ 自研时序存储内核,主程序仅 2.2MB 大小,实现双击更新、双击启动、直接调用,完全免费开源。
GitHub 项目地址:https://GitHub.com/hello245m/free-stockdb
本地文件下载地址:
当前版本:v0.2.1 more-power 版
开源协议:MIT License
项目数据:990 Stars、166 Forks;经过数月大规模用户测试,BUG 基本修复,后续即将推出 macOS、Linux 版本。
H2 一、项目诞生背景
很多个人量化研究者长期被传统方案痛点困扰:
- 各类在线接口限制繁多:Tushare 需要积分、聚宽、米筐年费高昂;Akshare 容易被封 IP;第三方中转接口速度缓慢。
- 通用数据库体验糟糕:SQLite 海量行情卡顿、MongoDB 安装臃肿、DuckDB 同步繁琐、Redis 占用极高内存。
- 数据工程工作量巨大:研究者需要自行处理下载、清洗、复权、建索引、指标计算、多端接口适配,从零搭建至少耗费 10~15 个工作日。
作者基于以上痛点从零开发专用股票时序数据库 free-stockdb,把全套数据同步、清洗、复权、指标计算、多端接口封装为开箱即用的本地服务。
H2 二、核心优势:对比在线 API 方案
以全市场 7000 + 标的分钟线回测场景为例: 在线 API 方案存在限频、封号、积分约束,全市场数据完整预处理至少需要 10~15 个工作日;free-stockdb 环境搭建、数据初始化 30 分钟内即可投入回测。
- 增量同步:Zstd 压缩传输、断点续传,无需反复拉取全量历史数据
- 自动清洗:自动处理新股、停牌、退市、代码变更、时间序列修正
- 内置复权:自带完整复权因子,查询时动态计算前复权 / 后复权价格
- 自研时序存储:无需手动建表、设计索引,开箱即用
- 高速指标引擎:内置 39 种技术指标,Rust 计算内核速度远超 Pandas
- 板块映射:内置申万三级行业 + 1200 + 概念板块,毫秒级双向查询
- 统一多端接口:一套底层数据同时支持 Python、HTTP、Excel、网页、AI MCP 调用
所有查询、回测、指标计算完全依托本地磁盘数据,不再依赖远程接口,不受 IP 限流、账号配额制约。
H2 三、支持数据范围
- K 线周期:日 / 周 / 月 K、1/5/15/30 分钟 K,按需开启 tick 行情存储
- 交易标的:全部 A 股、ETF 基金
- 行情字段:开高低收、成交量、成交额、换手率、市值、ST 标识等
- 复权模式:不复权、前复权、后复权,保留原始复权因子
- 板块体系:申万一级 / 二级 / 三级行业、概念板块,支持股票与板块双向检索
数据采用 Zstd 压缩持久化,磁盘占用远低于 CSV、MySQL。仅存储日线约占用 5GB 磁盘;日线 + 全量分钟线建议预留 20GB 空间。
H2 四、内置能力清单
H3 1. 三大核心 API
- get_data():批量行情查询,支持全市场多标的、自定义起止时间、周期、复权模式、字段筛选,可直接输出 DataFrame。
- zb.get():批量指标计算,内置 39 种技术指标、5 种加权指数算法,支持自定义参数、金叉信号识别。
- bk.get():板块查询,根据股票查所属板块、根据板块批量取出成分股。
H3 2. 39 项内置技术指标
趋势类:MA、EMA、SMA、WMA、DMA、EXPMA、TRIX、DMI、DFMA、BBI 震荡类:MACD、KDJ、RSI、WR、CCI、PSY、BIAS、ROC、MTM、DPO 通道类:BOLL、KTN、TAQ 量价类:OBV、VR、EMV、MFI、CR、MASS 综合类:ATR、ASI、BRAR、XSII、STD、SUM、HHV、LLV、REF
5 种指数加权算法:等权、流通市值加权、成交额加权、成交量加权、总市值加权。
H3 3. 五种调用方式
- Python SDK:策略回测、量化研究,同步 / 异步接口
- HTTP API:任意编程语言对接,默认地址
127.0.0.1:7899 - Excel / WPS 宏:表格选股、线下量化分析
- HTML 网页端:无代码浏览、筛选本地行情
- AI MCP 协议:Claude、Cursor 等 AI 工具直接读写本地行情、自动计算指标
H2 五、快速上手流程(Windows)
- 在项目 Releases 下载 v0.2.1 发行包
- 运行数据同步工具,行情增量下载至
./data目录 - 启动 stockdb 服务(程序体积仅 2.2MB)
- 通过 Python、网页、Excel 等任意方式调用接口查询数据
初始化完成后,断网环境依旧可以正常执行回测、指标计算;后续启动仅增量更新新增行情。
H2 六、灵活的数据源设计
数据源与引擎解耦,不会因为上游接口失效导致存量数据报废:
- 修改
sync_url.txt切换同步节点、内网私有数据源 - 支持 file 协议,直接加载本地归档数据快照
- 预留写入接口,可自行接入其他行情源补充数据
- 历史数据永久本地留存,无外网也可长期研究
H2 七、部署与安全说明
- 默认监听
127.0.0.1:7899,不会自动暴露公网;可开启局域网共享支持多人分布式回测 - 同步文件下载完成校验 SHA256 哈希,保障数据完整性
- 最低硬件:2GB 内存、5GB 磁盘;推荐 8GB 以上内存,20GB 磁盘空间存放分钟线
H2 八、重要免责声明
项目开源协议为 MIT;行情数据版权归属各原始数据源,使用者需要自行确认数据源使用条款。 本工具仅用于量化学习、数据研究,不构成任何投资建议,所有交易风险由使用者自行承担。
写在最后
free-stockdb 解决个人量化最大痛点:繁杂的数据工程工作。把行情下载、清洗、复权、指标运算全部封装成本地服务,研究者可以把精力专注于策略逻辑,不用反复折腾数据库、接口限流、指标优化。适合 A 股个人量化、策略回测、线下因子研究爱好者。