用 Claude Code 写了两个股票 Skill,自动选股+估值
用 Claude Code Skill 系统搭建 Trade Agent(技术面自动扫描)和 Stock Valuation(多模型估值),每天自动出报告推到飞书,开盘前扫一眼就行
每天手动翻 2000 只股票的 K 线图,翻完发现今天根本没有符合条件的——两个小时换一句"今日无买点",这种感觉懂的都懂。
于是用了几个星期,拿 Claude Code 的 Skill 系统搭了两个工具:Trade Agent 管技术面选股,Stock Valuation 管基本面估值。到现在稳定跑了两个月,每天自动出报告、推到飞书,开盘前扫一眼就行。
Trade Agent:每天自动帮你翻 K 线图
Trade Agent 是一个多市场技术形态自动扫描系统。每天早上自动跑一遍脚本,从公开行情 API 抓数据,按我设定好的裸 K 价格行为策略筛一遍全部股票,生成 Markdown 日报。
扫描范围:
| 市场 | 扫描标的 | 策略 |
|---|---|---|
| A 股主板 | 2000+ 只(非ST、非新股、成交额≥8000万) | 策略一A/B/D + 策略二 + T+0基金 |
| 美股 | 79 只高流动性大盘股 | 策略一 + 策略二 |
| 加密货币 | Coinbase 公开行情 | 热度评分 + 形态扫描 |
| 自选股 | 手动维护的 71 只 | 复用同一套策略标准 |
每天的报告是结构化表格,每一列都是可操作的信息:
## 做多候选A:回踩 50% 回调位
| 代码 | 名称 | 收盘价 | 形态 | 看涨置信度 | 结构止损 | RR | 备注 |
|603137|恒尚节能|23.79|回踩50%|98%|23.25|15.98|50%回调位支撑有效|每个候选都有看涨置信度、看跌风险提示、固定 5% 止损的盈亏比——不是"推荐买入"那种玄学结论。
跑了四套策略
策略一A:突破后回踩前压力位。 近 12 日收盘突破前 30 日压力位 → 回踩至前压力位附近并站稳(收阳或 Pinbar)→ MA20/MA30 上行 → 结构止损 ≤ 5%,盈亏比 > 1.0。逻辑很简单:突破说明多方力量在,回踩不破说明支撑有效。
策略一B:强趋势二波回踩 MA30。 前段涨幅 ≥ 40%,回撤 12%-55%,回踩 MA30 不破 + 二波启动信号。捕捉"涨了一大波后回调洗盘然后继续涨"的形态。
策略一D:下降通道涨停突破。 涨停大阳线突破持续 20 根 K 线以上的下降通道上轨 + 站上 EMA20。趋势早期信号——不追涨停日,等次日回踩通道上轨不破才确认。
策略二:威科夫再吸筹。 前段上涨后进入近 20 日横盘箱体,靠近箱体下沿 + 看涨 Pinbar。低吸观察策略,不等同于突破建仓。
还有一个固定 5% 止损 RR 规则(2026-06-04 制定):所有候选统一用 current_price × 0.95 做止损,next_pressure 缺失或 reward ≤ 0 的一律过滤,按 reward_to_risk + setup 质量综合排序,日报只展示最优的前几名。
技术栈:Python 3 + 新浪/腾讯/东方财富公开 API + ThreadPoolExecutor 多线程并发抓取。 没有付费数据源,没有 API Key 依赖,全部走公开接口。A 股全量扫描 3-5 分钟跑完,报告通过飞书 Webhook 自动推送。
Stock Valuation:一键跑五个估值模型
Trade Agent 告诉你"哪些股票值得关注"。但看到一只还不错的——比如恒尚节能 RR 7.21——下一个问题就是:它值多少钱?
以前我的流程:打开东方财富 → 找到财报页面 → 手动抄数据 → 打开 Excel 模板 → 填 PE、PB、DCF 公式 → 自己算。一只股票至少半小时。
Stock Valuation 把这个流程自动化了。在 Claude Code 里说一句"对恒尚节能进行估值",自动爬财报、跑五个估值模型、交叉验证、输出三个月目标价区间。大概 30 秒出结果。
为什么是五个模型?
单个估值模型都有自己的盲区。PE 估值在亏损公司上完全失效,DCF 对高负债公司容易高估,Graham 在成长型公司上会严重低估。五个模型交叉验证,比任何一个单模型都靠谱。
| 模型 | 原理 | 适用场景 |
|---|---|---|
| PE 相对估值 | 行业平均 PE × 公司 EPS | 盈利稳定的成熟公司 |
| PB 相对估值 | 行业平均 PB × 公司 BVPS | 金融、重资产行业 |
| PEG 估值 | PE ÷ 盈利增长率 | 成长型公司 |
| 简化 DCF | 自由现金流折现 − 净债务 | 现金流稳定的公司 |
| 格雷厄姆法 | 净流动资产价值 | 深度价值/防守型 |
数据源两套:A 股走 akshare + 腾讯行情 API(东方财富数据,免费不需要 token),美股走 yfinance。消息面情绪用 Claude Code 内建 WebSearch 自动搜。
交叉验证 + 三个月预测
五个模型跑完不是简单取平均:
- MAD 离群检测 — 用中位数绝对偏差识别极端偏离的模型值并剔除
- Median-centered 区间 — 取核心模型的 min-max 作为公允区间
- 收敛率 20% — 三个月后预估价格向公允区间收敛 20%
- 情绪修正 ±5% — 根据近期消息面微调
- 季度波动缓冲 — 加上半个标准差的价格缓冲
输出示例:
公允区间:¥42.50 - ¥52.00
三个月目标价:¥44.20 - ¥54.60
当前价:¥40.30
潜在回报:+9.7% ~ +35.5%这个 Skill 还有一个设计细节:自动触发 + 否定 guardrails。说"对茅台进行估值"会自动跑,但说"茅台现在股价多少"不会触发——区分得很清楚。
两个 Skill 怎么协作
| Trade Agent | Stock Valuation | |
|---|---|---|
| 做什么 | 每天扫描全市场,找出技术形态符合条件的股票 | 对指定股票做基本面估值 |
| 分析维度 | 技术面(K线形态、均线、成交量) | 基本面(财报、行业对比、DCF) |
| 使用时机 | 每天开盘前看日报 | 看到感兴趣的候选时深入分析 |
| 输入 | 全自动,不需要输入 | 说"对XXX进行估值" |
| 输出 | 结构化日报,含候选列表+置信度+RR | 公允区间+目标价+潜在回报 |
实际使用流程:
早上起来 → 打开飞书看到 Trade Agent 推送的日报 → "哦今天恒尚节能 RR 7.21,形态不错" → 回到 Claude Code 说"对恒尚节能进行估值" → Stock Valuation 跑出公允区间 ¥18-24,当前价 ¥23.79 已经接近公允上沿 → 自己判断:技术面好但基本面空间有限,先观察不追。
从"翻 K 线图两小时"到"看报告两分钟 + 估值三十秒",效率提升是数量级的。
踩过的坑:Codex 审查发现的八个问题
写这两个 Skill 的过程不是一帆风顺的。Stock Valuation 第一版交出去给 Codex 做独立审查,直接被打回来——8 个阻塞问题。
说几个典型的:
B1:A 股财务数据管线不兼容。 akshare 的三大报表接口要的是 SH600519 这种带市场前缀的代码,但脚本传的是裸代码 600519——API 直接拒收,所有财务数据回落为 0。第一版对 A 股根本不能用。
B3:单位转换数量级错误。 净利润 -100,000,000 元应该输出 -1 亿,但脚本用 value > 1e6 判断要不要除以亿——负数和绝对值小于 100 万的值直接从判断条件里漏掉了。亏损公司的数据能错 1 亿倍。
B5:DCF 把企业价值当股权价值。 FCFF 折现得到的是 Enterprise Value,应该减掉净债务才是股东应占的 Equity Value。第一版直接拿 EV 除以股数就输出每股价值了——高负债公司能高估好几倍。
B7:零增长被改成正增长。 代码里 revenue_growth=0 被 (value or 5) 改成了 5%——衰退公司被系统性乐观化了。
这些问题单独看都是小疏忽,放在一起就致命——估值结论完全不可靠。这也验证了为什么坚持走 Codex 审查流程:自己写的代码,自己真的看不出来。AI 写的代码也需要 AI 来审,不是多此一举,是必须的保险。
和传统方式的对比
| 维度 | 传统手工 | Trade Agent + Stock Valuation |
|---|---|---|
| A 股扫描 | 手动翻K线,2小时+ | 自动扫描,3-5分钟 |
| 单只估值 | Excel手算,30分钟+ | 对话触发,30秒 |
| 数据覆盖 | 能做到但很累 | A股2000+只 + 美股79只 |
| 一致性 | 看心情 | 固定规则,每天一样 |
| 回测验证 | 基本不做 | 滚动回测 + 因子归因 |
| 审查把关 | 自己觉得对就行 | Codex 独立审查 |
| 数据成本 | 免费但费时间 | 全免费API,零成本 |
| 推送通知 | 无 | 飞书自动推送 |
最大的改变不是"更准了"——AI 选股不会比人更准,策略本身还是那些策略。最大的改变是不累了。每天省下的两小时,可以用来做更重要的事。
怎么搭建你自己的分析 Skill?
两个 Skill 的核心代码都在本地,以 Claude Code Skill 的形式安装。
Trade Agent 核心组件:
- Python 脚本跑数据抓取和策略筛选(~3000 行)
- Claude Code Skill 做配置管理和触发
- 飞书/Lark Webhook 做推送
- 全部使用免费公开 API
Stock Valuation 核心组件:
fetch_data.py— 数据爬取(akshare/yfinance/腾讯行情)valuation_models.py— 五模型估值引擎 + 交叉验证SKILL.md— Skill 触发规则和报告模板- Claude Code 内建 WebSearch 做消息面情绪
数据源全部免费:新浪财经、腾讯行情、东方财富 akshare、Yahoo Finance。不需要买任何付费数据,不需要申请任何 API Key。
关键是先想清楚:你的分析框架是什么? 我的框架是"技术面筛选 + 基本面估值"两步走,你的可能是别的。框架定下来了,剩下的就是把每一步变成代码或 Skill 指令。
总结
三个核心收获:
- 自动化不等于替代判断。 Skill 帮你把脏活累活干了(翻K线、抄财报、算公式),最后的买卖决策还是你自己做。它省的是时间,不是思考。
- 免费 API 够用了。 A 股 2000+ 只股票的技术面和基本面数据,用新浪/腾讯/东方财富的公开接口完全能覆盖。不需要 Bloomberg 终端,不需要 Wind。
- Code Review 对 AI 写的代码同样重要。 Codex 审出来的那 8 个问题,每一个都是我自己看不出来的。AI 写的代码也需要 AI 来审,这不是多此一举,是必须的保险。
两个 Skill 都在持续迭代中。Trade Agent 下一步计划加入板块轮动信号,Stock Valuation 等 Codex 审查通过后会开源代码。