Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.
Free Stockdb
面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。
Install
git clone https://github.com/hello245m/free-stockdbInstall command taken from the project's README or registry entry. Always review code before running it.
README excerpt
Read full README on GitHub →[08-10]windows,macos,alpine,manylinux版本已发布。[08-04]mac,linux版本完成,已通过多轮压力测试,即将发布。
free-stockdb
本地量化数据引擎
面向 A 股日K、分钟K与 ETF 分钟、tick级数据的本地量化引擎。free-stockdb 将数据同步、清洗、复权、组织为可直接用于批量查询、批量计算研究的数据底座。
❤️双击更新 -> 双击启动 -> 直接调用。
数据本地落盘,研究不再依赖远程接口。
| 本地优先 | 增量同步 | 数据支持(按需) | 本地指标计算 | 五种调用方式 |
|---|---|---|---|---|
| 数据在用户磁盘 | 只处理变化数据 | 日/周/月/1/5/15/30分钟/tick | 39 种指标、5 种指数 | Python / HTTP / Excel / HTML / MCP |
flowchart TB
A["数据更新:同步、清洗、复权、增量"] --> B["free-stockdb 本地数据与计算引擎"]
B --> C["Python SDK"]
B --> D["HTTP API"]
B --> E["Excel / WPS"]
B --> F["HTML 网页"]
B --> G["AI MCP"]
同步后的查询、计算、回测和接口都使用本机数据,不与远程请求链路耦合。
为什么需要本地数据引擎
全市场批量回测的瓶颈不是策略代码,而是数据工程。以全市场 7000+ 股票分钟线回测为例,远程 API 方案的真实工作量:
| 环节 | 在线 API 方案的真实耗时 | free-stockdb |
|---|---|---|
| 数据下载 | 全市场分钟数据逐股请求,受限频/积分/IP 风控约束,实测需要3-5 天;爬虫方案批量拉取封号/限频 | 通过 sync_url.txt 配置数据源,Zstd 压缩传输,增量同步,断点续传 |
| 数据清洗 | 处理停牌、退市、代码变更、缺失补拉、时间排序,1-2 天 | 同步流程自动完成 |
| 复权处理 | 获取分红送转数据、推算复权因子、历史回刷,1-2 天 | 内置完整复权因子,查询时写时计算 |
| 存储设计 | 选型数据库、设计表结构、建索引、批量入库、优化查询,1-3 天 | 定制 C++ 时序引擎,开箱即用 |
| 指标计算 | 编写 MA/MACD/KDJ 等公式、pandas 全市场遍历极慢(单次数小时),2-3 天 | 内置 39 指标 + 5 指数,Rust 计算核心比 pandas 快 3 倍,数秒完成 |
| 板块映射 | 爬取概念/行业数据、构建双向索引、持续维护,1-2 天 | 内置申万一二三级 + 1200 概念板块,bk.get() 毫秒查询 |
| 接口对接 | Python/HTTP/Excel/AI 各自对接维护,1-2 天 | 五种调用方式统一内置 |
| 合计 | 最少 10-15 个工作日才能跑通第一个全市场策略 | 30 分钟内从零到可运行 |
远程 API 方案在全市场回测场景下不是慢,是跑不通。free-stockdb 将数据工程与策略研究完整解耦:数据更新在同步层完成,策略只读本地数据集,数据源可替换,研究接口不变。
已集成的数据工程
| 使用者原本需要维护 | 启动后直接获得 |
|---|---|
| 接口 Token、限频、封ip、断点恢复和全市场数据调度 | 数据源增量同步、文件校验和本地存量数据 |
| 新股、停牌、退市、代码变更、时间排序与历史修正 | 统一的数据组织、复权因子与查询协议 |
| 数据库选型、表结构、索引、批量入库和查询优化 | 本地 C++ 时序数据服务,按代码和时间范围批量读取 |
| pandas/DataFrame 拼接、指标滚动计算与中间缓存 | zb.get() 批量指标和指数计算接口 |
| Python、HTTP、Excel、网页、AI 工具的多套对接 | 一套本地协议对应 Python SDK、HTTP API、Excel/WPS、HTML、MCP |
数据完成同步后,查询、计算和回测只依赖本地数据集;更新与研究彼此独立。
两分钟开始
Windows 使用者可从 Releases 下载发行包。首次运行:
1. 运行数据更新工具
2. 数据同步到 ./data
3. 启动 stockdb (仅2.2mb)
4. 直接使用 Python、HTTP、Excel/WPS、网页或 MCP 查询本机数据
已有数据完整落盘在 ./data;后续更新只处理变化数据,离线时仍可继续查询、回测和计算。
数据存储与数据源
历史数据采用 Zstd 压缩,不按未压缩记录体积占用磁盘,比csv/mysql小3倍以上。首次同步从配置的数据源获取历史数据,后续只更新增量,不走逐股、逐页的远程 API 拉取流程。
默认数据集聚焦高频行情与复权,底层数据库支持任意自定义数据存储,低频率数据:财报、宏观、资金流等可按需要接入同一套本地查询与计算引擎。
核心能力
本地全市场数据运行时
- 日线、周线、月线,以及 1/5/15/30 分钟 K 线,tick级数据(按需)
- 价格、成交量、成交额、换手率、估值、市值、ST 等常用字段
- 前复权、后复权、不复权和原始复权因子查询
- 股票、ETF、行业和概念板块的组织与双向查询
- 本地存储、无远程查询延迟,研究和回测不受远程 API 并发配额影响
- 可配置局域网服务,多人协作、分布式回测。
批量查询与计算
result = rd.get_data(
code=7000_codes, # 7000+ 股票 / ETF
start=any_start, # 任意时间周期
end=any_end,
frequency=any_frequency,# 分钟 / 日 / 周 / 月
fq=any_fq, # 前复权 / 后复权 / 不复权
fields=any_fields, # 任意单多字段筛选
as_df=False/True # 返回list、dict、 DataFrame
)
result = zb.get(
name="ma,kdj,macd,....", # 39指标 / 5种指数计算
codes=7000_codes, # 单股 / 批量 / 全市场
start=any_start, # 任意时间范围
end=any_end,
frequency=any_frequency, # 分钟 / 日 / 周 / 月
fq=any_fq, # 前复权 / 后复权 / 不复权
n=["5,10,20", None, "12,26,9"], # 每个指标独立参数
cross="with_value" # 原始指标 / 金叉信号 / 二者同时返回
)
Similar plugs
Real-time global intelligence dashboard. AI-powered news aggregation, geopolitical monitoring, and infrastructure tracking in a unified situational awareness interface
An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here…
Open-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key.
The fastest path to AI-powered full stack observability, even for lean teams.