7000 只 A 股一口气算完 39 项技术指标:free-stockdb 本地量化数据引擎完整指南
【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb
free-stockdb 是面向 A 股的本地量化数据引擎:39 项 A 股技术指标与 5 种指数计算全在本机完成,行情落盘本地硬盘,全市场回测不再被远程接口限频拖住。它替新手省掉的正是最磨人的那部分——指标公式不用手抄,数据不用逐股爬,复权不用自己回刷,查数算指标全部留在本机,离线照样跑。
做全市场回测前,先认清四个拖慢你的环节
先说结论:新手卡住的地方通常不在策略代码,而在数据工程。如果你曾用在线接口攒过一套全市场数据,大概率挨过这四刀:
- 公式手写:MA、MACD、KDJ 的滚动窗口和参数各不一样,得一个个公式敲出来
- 全市场遍历慢:pandas 逐股逐窗口滚动,单次批量计算动辄数小时
- 逐股请求被限频:远程 API 一次只让你拉一只,全市场分钟数据实测要 3-5 天
- 复权要回刷:分红送转之后得推算复权因子、回刷历史价格,又是 1-2 天
free-stockdb 的处理方式是把这四件事整体下沉到本地引擎:数据同步一次落盘,之后 7000 只股票一口气算完指标,秒级返回。
三步跑通第一次指标计算
第一步,把环境跑起来:Python 环境里执行一次 pybao/安装.py,启动本地服务。
python pybao/安装.py第二步,看一次zb.get()能算什么——两股 × 三指标,参数各自独立:
from zhibiao import zb d = zb.get("ma,kdj,macd", ["600633", "000007"], start="20260601", end="20260630", frequency="1d", n=["5,10,20", None, "12,26,9"])第三步,读结果:单股传字符串返回 list,多股传列表返回{代码: list},每只股票按日期独立计算,无需全市场对齐日期。
你可能想问还有没有别的玩法:同一查询加一个cross=True就变成金叉信号筛选;把指标名换成zhishu再传method=1,就是给股票池编一个等权指数。周期也不锁死:frequency支持日、周、月 K 和 1/5/15/30 分钟线,fq参数让前复权、后复权、不复权随查随选;把 7000+ 代码一次性传入,就是全市场批量计算。
39 项 A 股技术指标:五大类各答一类问题
39 项里 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 | 波动多大、高低点在哪、基础统计 |
一个不起眼但很实用的小设计:MA、EMA、STD、HHV、LLV 这类基础指标可以靠fields参数换计算字段——收盘价、成交量、成交额都行,"成交量均线"这种玩法不用另写代码。
🧮 自定义指数编制:zhishu 的五种加权方法
把一篮子股票代码丢给zhishu,它按天合成一条虚拟走势,当作这个股票池的指数——行业轮动、风格因子、策略基准都能用。method参数对应五种权重,默认起点base=1000,可按需调整:
method=1等权:成分股权重相同,最简单的基准method=2流通市值加权:按流通市值,分钟 K 线没有市值字段,仅支持日线method=3成交额加权:按当日成交额,反映市场活跃度method=4成交量加权:按当日成交量,分钟级数据可用method=5总市值加权:按总市值,仅支持日线
⚡ 金叉信号进阶:cross 参数与多指标共振
金叉/死叉是选股策略里出现频率最高的判断,这里也不用手写:在任意指标上加一个cross参数即可。cross=False(默认)返回原始数值;cross=True只返回交叉信号,1 是金叉、-1 是死叉、0 表示没交叉;cross="with_value"则数值和信号一起给,方便复盘对图。
妙处在多指标场景:同时传几个指标时,cross 字段只在它们全部金叉的那天才为 True,相当于内置了一个多因子共振筛子。
不只 Python:一套指标能力,五种入口
同一套能力不用绑定在 Python 里。本地服务同时开了五个口子:Python SDK 做回测和研究;HTTP API 给任意语言集成;Excel/WPS 宏做表格分析和选股;HTML 页面无代码浏览本地行情;AI MCP 让支持 MCP 协议的 AI 工具直接查本机数据,协议是自实现的,不用额外装 SDK。各入口的示例与说明都放在 调用方式/调用说明.txt 里。
🧭 选型速查:什么行情看什么指标
- 判趋势方向:趋势类打底,MA 看方向、MACD/DMI 确认强度,适合中低频波段
- 找买卖点:震荡类出手,KDJ、RSI、WR 判超买超卖,适合震荡市
- 确认突破:量价类验证,OBV、MFI 看量能是否跟上价格
- 控仓位:ATR 度量波动,BOLL/KTN 划出价格通道
- 编自己的基准:zhishu 五选一加权,股票池指数即编即用
动手之前,值得先翻一遍这几个文件:README.md 是项目总览,pybao/zhibiao.py 是指标模块源码,调用方式/python/zb_test.py 有完整调用示例,docs/DATA_SOURCE.md 讲数据源与同步协议,stockdb.conf 是本地服务配置。
free-stockdb 用于软件学习、数据管理与量化研究,不构成投资建议。
【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考