ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

用WPS自定义函数STOCK_DATA在表格里直接查A股行情:free-stockdb完整教程

用WPS自定义函数STOCK_DATA在表格里直接查A股行情:free-stockdb完整教程

用WPS自定义函数STOCK_DATA在表格里直接查A股行情:free-stockdb完整教程

【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb

你还在从行情软件里一只一只复制 K 线到 Excel 吗?用本地量化引擎free-stockdb,只需给 WPS 装一段 JS 宏,就能像写普通公式一样调出 A 股日 K、分钟 K 与 ETF 分钟数据,复权方式随手切换,查询全程走本机127.0.0.1:7899,断网也能用。

能力卡片:STOCK_DATA 一次装好,公式随便写

能力点一句话说明关键参数/命令
表格内查日K单单元格公式返回带表头二维数组,日期从新到旧=GP("600633")
区间 + 字段筛选指定起止日期,只取你要的列start_date、end_date、fields
分钟级数据1/5/15/30/60 分钟线,时间戳自动补全frequency="1m"~"60m"
复权内置前复权/后复权/不复权一个参数切换,无需自维护复权因子fq="qfq" / "hfq" / "none"
多周期聚合周K、月K 与 5/15/30/60 分钟 K 在本地内存自动聚合frequency="1w" / "1M"

为什么选本地数据引擎:3 个可量化的理由

  • 断网可用:同步后数据全部落盘在./data,查、算、回测不依赖任何远程接口
  • 毫秒级响应:全市场 7000+ 只股票的批量查询在本机完成,不受限频、积分约束
  • 复权免维护:前复权、后复权、不复权随参数切换,因子本地内置

前置清单:开始之前先核对这 4 项

  1. Windows 机器 + free-stockdb 发行包(Windows 7 及以上;日线数据约5GB磁盘空间,含分钟线建议 20GB)
  2. 已安装支持JS 宏的WPS 表格(微软 Excel 不支持 JS 宏)
  3. 数据已同步:数据更新.exe首次运行需等增量同步完成,可多次重启直至同步完
  4. 本地数据库服务在后台运行:stockdb.exe默认监听127.0.0.1:7899

⚠️ 运行【数据更新.exe】前请先退出 stockdb.exe,二者不能同时运行;数据库配置文件 stockdb.conf 请勿修改。

最短路径:4 步装好 STOCK_DATA 自定义函数

  1. 同步数据:双击【数据更新.exe】,等待增量同步完成(每日运行一次即可)
  2. 启动服务:双击【stockdb.exe】,保持后台运行
  3. 安装宏:WPS 表格 → 顶部开发工具 → JS宏 → 设计器→ 右键"模块" →插入模块,将 调用方式/excel/wps_js_macro.js 全部代码粘贴进模块,保存关闭
  4. 验证:任意单元格输入=GP("600633"),回车后表头 + 数据直接铺开一片单元格(可选:把日期、字段换成你自己的条件再验一遍)

💡 装好后公式名为GP,即 STOCK_DATA 自定义函数的实现名;返回值是"表头行 + 数据行"的二维数组,可直接铺满单元格。

参数字典:6 个参数 + 字段速查

参数必填说明示例
code✅股票代码或 ETF 代码"600633"
start_date否开始日期,YYYYMMDD;分钟线会自动补000000"20260620"
end_date否结束日期,YYYYMMDD;分钟线会自动补235959"20260626"
frequency否周期:1d日K /1w周K /1M月K /1m5m15m30m60m分钟线,默认1d"15m"
fields否返回字段,英文逗号分隔;缺省返回date,code,name,open,high,low,close,volume,amount"date,close,pct_chg"
fq否复权:qfq前复权 /hfq后复权 /none不复权,默认qfq"none"

常用字段速查

字段含义字段含义
date / open / high / low / close日期 / 开高低收volume / amount成交量 / 成交额
pre_close / pct_chg前收盘 / 涨跌幅amplitude / turnover振幅 / 换手率
pe_ttm / pb市盈率TTM / 市净率total_mv / float_mv总市值 / 流通市值
vol_ratio / is_st量比 / 是否STname / code股票名称 / 代码

场景解法:4 个高频需求,各给一条公式

📌 我想看一只票最近的日Kcode是唯一必填参数,其余全走默认:返回最近日K,含表头,日期从新到旧,直接铺进表格即可配合条件格式或透视表做选股表。

=GP("600633")

📌 我只想要某个日期区间、某几列字段同时给出起止日期即按区间查询,fields用英文逗号分隔且不加空格,省得把整张表搬进 Excel。

=GP("600633", "20260620", "20260626", "1d", "date,close,pct_chg")

📌 我要当天的 15 分钟线做盘中结构分钟级频率传 8 位日期即可,宏会自动把开始补成000000、结束补成235959,不用手算时间戳。

=GP("600633", "20260620", "20260620", "15m")

📌 我要对比前复权和不复权的价格走势复权方式就是最后一个参数:回测、比价时切换qfq与none即可,复权因子由宏同步拉取后在内存中折算,无需自己维护。

=GP("600633", "", "", "1d", "date,close", "none")

故障速查:3 种常见报错一眼定位

症状原因对策
提示"连接错误 / 无法连接数据库"stockdb.exe 未在后台运行,服务未监听127.0.0.1:7899双击 stockdb.exe 启动后重试
提示"无数据"股票代码写错,或该时间段无交易(停牌/非交易日)核对 6 位代码,放宽日期区间
公式输入后 WPS 提示宏被禁用宏安全设置拦截了自定义函数在 WPS 安全中心允许运行 JS 宏

⚠️ 若更新后查询结果异常,先确认【数据更新.exe】已完全同步且 stockdb.exe 是在更新之后重新启动的。

想换个姿势查同一份本地数据?调用方式/ 下还提供 HTTP 接口、Python SDK(pybao/stock_sdk.py)、AI MCP 三种入口,以及零安装的 数据网页版.html(浏览器直接查询、导出 CSV)。现在把宏粘进 WPS,10 分钟内让第一只股票的行情在你的表格里"自己长出来"。

【免费下载链接】free-stockdb面向 A 股日K、分钟K与ETF分钟数据的本地量化引擎,集成增量同步、本地缓存、复权、批量查询、回测与指标计算。项目地址: https://gitcode.com/GitHub_Trending/fr/free-stockdb

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进