
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
这是本地股票数据系统系列的第四篇。前面几篇解决了数据同步、复权和 AI agent 调用,这一篇继续补上一个更基础、也更容易被忽视的环节:数据质量。大概一个月没有更新文章了。最近我一直沉迷于用 Fable 5 做策略研究,策略验证的速度确实快了很多。前面几篇文章里,我已经把股票、指数、ETF 等数据同步到本地,并通过skill 让 AI agent 可以直接调用。但数据接进来之后,质量到底怎么样?

在交互方式上,我最后选的是 CLI。原因有两个。第一,CLI 足够轻。对于这种本地同步系统来说,很多操作本来就是命令式的,比如初始化、全量同步、增量更新、查看状态、跑测试。CLI 反而是最自然的形态。第二,后续更方便 AI 接管。因为命令行本身就是标准化的输入输出接口。你把能力做成命令,后面不管是 Claude Code、Codex,还是别的 agent,要接入都更容易。也就是说,我一开始就在往"

这是本地股票数据系统系列的第三篇。前两篇主要讲怎么把行情数据同步到本地、怎么补上前后复权;这一篇继续往下走:有了自己的数据库之后,怎么让 AI agent 直接调用它,帮我们做复盘、选股和投研分析。说明:文中出现的股票、指数、期货品种和代码,只是为了演示本地数据系统和 agent 的使用方式,不代表任何投资建议。。第一篇介绍了如何使用 Tushare 和 Claude Code 搭建本地股票数据同

从 PDF 中提取研报内容;生成研报摘要;从摘要里提取候选因子;结合 Qlib 的因子规范生成公式、描述和参数;让大模型生成因子代码;在 Qlib 环境里运行;检查代码是否能执行,以及因子值是否合理;如果失败,再重新生成代码并迭代。第一步,它会先从研报里抽出一份总结:接着,它会基于这些总结生成因子的文本描述、公式和参数。前端展示出来大概是这样:然后再根据公式让大模型生成代码:生成代码之后,RDAg

因子到底在哪个股票池里评估?不同因子适合的股票池不一样。比如基本面因子,对大市值、流动性更好的股票可能更稳定;动量类因子,可能在中小市值或某些特定风格股票里更明显。而且股票池还有一个现实作用:过滤掉真实交易中不适合参与评估的股票。涨停买不进去;跌停卖不出来;停牌没有可交易价格;ST / *ST 的涨跌幅制度不同;退市整理股票的波动和交易逻辑特殊;新股上市前几十天波动异常;极小市值、极低流动性股票很

从 PDF 中提取研报内容;生成研报摘要;从摘要里提取候选因子;结合 Qlib 的因子规范生成公式、描述和参数;让大模型生成因子代码;在 Qlib 环境里运行;检查代码是否能执行,以及因子值是否合理;如果失败,再重新生成代码并迭代。第一步,它会先从研报里抽出一份总结:接着,它会基于这些总结生成因子的文本描述、公式和参数。前端展示出来大概是这样:然后再根据公式让大模型生成代码:生成代码之后,RDAg

最后一步,就是让本地查询接口支持复权行情。我参考了 Tushare 的复权行情文档,也顺手让 Codex 去看 Tushare SDK 源码,尽量把本地行为做得和 Tushare 接近。adj=None:返回不复权行情;adj="qfq":返回前复权行情;adj="hfq":返回后复权行情。后复权价格原始价格×后复权因子后复权价格 = 原始价格 \times 后复权因子后复权价格原始价格×后复权因

最后一步,就是让本地查询接口支持复权行情。我参考了 Tushare 的复权行情文档,也顺手让 Codex 去看 Tushare SDK 源码,尽量把本地行为做得和 Tushare 接近。adj=None:返回不复权行情;adj="qfq":返回前复权行情;adj="hfq":返回后复权行情。后复权价格原始价格×后复权因子后复权价格 = 原始价格 \times 后复权因子后复权价格原始价格×后复权因

在交互方式上,我最后选的是 CLI。原因有两个。第一,CLI 足够轻。对于这种本地同步系统来说,很多操作本来就是命令式的,比如初始化、全量同步、增量更新、查看状态、跑测试。CLI 反而是最自然的形态。第二,后续更方便 AI 接管。因为命令行本身就是标准化的输入输出接口。你把能力做成命令,后面不管是 Claude Code、Codex,还是别的 agent,要接入都更容易。也就是说,我一开始就在往"

在交互方式上,我最后选的是 CLI。原因有两个。第一,CLI 足够轻。对于这种本地同步系统来说,很多操作本来就是命令式的,比如初始化、全量同步、增量更新、查看状态、跑测试。CLI 反而是最自然的形态。第二,后续更方便 AI 接管。因为命令行本身就是标准化的输入输出接口。你把能力做成命令,后面不管是 Claude Code、Codex,还是别的 agent,要接入都更容易。也就是说,我一开始就在往"








