Skip to content

Free Stockdb

面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。

Install

$git clone https://github.com/hello245m/free-stockdb

Install command taken from the project's README or registry entry. Always review code before running it.

[08-10]windows,macos,alpine,manylinux版本已发布。[08-04]mac,linux版本完成,已通过多轮压力测试,即将发布。

free-stockdb

本地量化数据引擎

面向 A 股日K、分钟K与 ETF 分钟、tick级数据的本地量化引擎。free-stockdb 将数据同步、清洗、复权、组织为可直接用于批量查询、批量计算研究的数据底座。

❤️双击更新 -> 双击启动 -> 直接调用。

下载地址1

下载地址2

数据本地落盘,研究不再依赖远程接口。

本地优先 增量同步 数据支持(按需) 本地指标计算 五种调用方式
数据在用户磁盘 只处理变化数据 日/周/月/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

Fair-code workflow automation platform with native AI capabilities. Combine visual building with custom code, self-host or cloud, 400+ integrations.

Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发

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.