free-stockdb 快速上手:全市场 39 种技术指标数秒批量算完,5 种自定义指数一并讲清
【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb
free-stockdb 是一款面向 A 股的本地量化数据引擎:数据同步落盘后,全市场 39 种技术指标(MA、MACD、KDJ 等)与 5 种自定义指数方法可在数秒内批量算完,所有计算都在本机完成,不受远程接口限频约束,适合新手快速进入量化研究,也适合全市场回测。
为什么指标公式还要自己从头写
做量化的第一步,很多人卡在数据工程上。想算全市场的 MACD,得先拿到 7000+ 只股票的行情:远程接口有限频,逐股拉取实测要 3-5 天;数据到手后还要自己写公式、用 pandas 逐股遍历,一次滚动计算动辄数小时;复权因子、历史回刷又要再占一两天。
free-stockdb 把这段流程搬到了本地:数据同步、清洗、复权完成后,指标和指数的计算交给本地 C++ 引擎,全市场批量计算数秒完成。
项目速览:一个本地引擎搞定同步与计算
一句话定位:数据落在你磁盘上的"本地数据 + 本地计算"底座,查询、回测、指标计算都在本机进行,不与远程请求链路耦合。
几个核心数字先记住:
- 内置39种指标与5种指数计算方法,统一由
zb.get()入口调用 - 覆盖日、周、月 K 与 1/5/15/30 分钟 K,全市场批量计算数秒完成
- 复权方式(前复权/后复权/不复权)查询时随查随选
- 五种调用方式:Python、HTTP API、Excel/WPS 宏、HTML 页面、AI MCP
其中 HTML 页面无需写代码,可直接查询多周期 K 线、复权与市值字段:
快速上手:三步批量算完全市场指标
先在 Python 环境运行一次 pybao/安装.py,本地服务启动后即可调用:
from zhibiao import zb # 批量计算:2 只股票 × 3 个指标,各自独立参数 d = zb.get("ma,kdj,macd", ["600633", "000007"], start="20260601", end="20260630", frequency="1d", n=["5,10,20", None, "12,26,9"])几个参数细节值得注意:
name用逗号分隔多个指标,n按位置一一对应,每个指标参数互不干扰(MA 传5,10,20,MACD 传12,26,9)frequency支持日、周、月 K 与分钟级周期- 单只股票代码传字符串,返回 list;传列表则返回
{代码: list},每只股票按日期独立计算,无需全市场日期对齐
想看更多参数组合,可参考 调用方式/python/zb_test.py 里的完整示例。
指标清单:39 项按使用场景怎么选
官方口径是"39 种指标、5 种指数":38 个常用技术指标,外加 1 个指数计算接口zhishu,全部走zb.get()。下面按"你想回答什么"来组织,方便对照需求挑:
| 使用场景 | 内置指标 | 能回答的问题 |
|---|---|---|
| 判断趋势方向 | 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 | 波动多大?最高最低在哪? |
对新手友好的还有几个设计:
- 批量调用:一次传入 7000+ 只股票加多个指标,不必循环逐股请求
- 字段可指定:MA/EMA/STD/HHV/LLV 等基础指标可通过
fields参数改按收盘价、成交量、成交额等字段计算 - 周期自由:日 K、周 K、月 K 以及 1/5/15/30 分钟 K 线均可计算,复权方式随查随选
进阶玩法:自编指数与金叉信号
zhishu:股票池指数怎么编
传入一组股票代码,zhishu就能算出这个股票池的虚拟指数,可用作行业轮动基准、风格因子或策略对比基线。5 种加权方法对比:
| method 值 | 指数方法 | 权重依据 | 注意事项 |
|---|---|---|---|
| 1 | 等权指数(成分股各占相同权重) | 各股同权重 | 最简单,常用基准 |
| 2 | 流通市值加权 | 流通市值 | 分钟 K 线无市值字段,仅支持日线 |
| 3 | 成交额加权 | 当日成交额 | 反映市场活跃度 |
| 4 | 成交量加权 | 当日成交量 | 分钟级数据可用 |
| 5 | 总市值加权 | 总市值 | 分钟 K 线无市值字段,仅支持日线 |
指数默认base=1000初始基点,可按需调整。参数定义见 pybao/zhibiao.py 中的jisuan()函数(method=1/2/3/4/5对应上表)。
cross:金叉死叉一次返回
选股里最常见的"金叉/死叉"判断也内置了,在任意指标查询上加一个cross参数即可:
cross=False(默认):返回原始指标数值cross=True:只返回交叉信号,1=金叉,-1=死叉,0=无交叉cross="with_value":原始数值与金叉信号一起返回,方便复盘验证
多指标同时传入时,cross字段在所有单项指标同时金叉时才为 True,天然适合做多因子共振筛选。
# 编制股票池自定义指数:method=1 等权,初始基点 base=1000 d = zb.get("zhishu", ["600633", "000007"], start="20260601", end="N", frequency="1d", method=1)选型建议:不同行情下怎么挑指标
- 中低频波段:MA 看方向,MACD/DMI 确认趋势强度
- 震荡市:KDJ、RSI、WR 判断超买超卖找拐点
- 价格突破时:用 OBV、MFI 验证量能是否真实
- 控制仓位:ATR 度量波动,BOLL/KTN 划出价格通道
- 需要自己的基准:zhishu 五选一加权方法,股票池指数即编即用
- 多因子共振:加
cross过滤,只保留所有指标同时金叉的时点
资源导航:相关文档与源码
- 指标计算模块源码:pybao/zhibiao.py
- 指标调用完整示例:调用方式/python/zb_test.py
- 五种调用方式说明:调用方式/调用说明.txt
- 数据源与镜像协议:docs/DATA_SOURCE.md
- 本地服务配置:stockdb.conf
free-stockdb 用于软件学习、数据管理与量化研究,不构成投资建议。
【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考