个人美股交易研究工作台:交易日志、市场情报 Agent Skill,以及本地实时图表应用。
这是交易日志仓库,不是对外发布的软件产品。它做三件事:
journal/,按个股放在 stocks/,图表数据 JSON 放在 journal/charts/data/。没有数据库。~agents/skills/ 和 ~claude/skills/ 下的 Skill 调用券商、政府、新闻接口,把零散数据拼成一份能落档的研究稿,同时从第三方 skill 生态引入估值、财报分析、期权、相关性分析等能力。app/(Fastify + TypeScript 服务端内嵌 Vite middleware,React 前端)在 http://localhost:5199 渲染全部图表——K 线、资金流、SEPA 仪表盘、短线多周期预测面板,指标全部服务端实算,并带实时行情推送。[!NOTE] 这套工具针对美股。Skill 内置的 cohort、宏观系列、新闻流都默认美股口径。
图表应用(app/)本地跑在 http://localhost:5199。下面几张图分别是它的四类图表、个股驾驶舱和图表库——数据全部服务端实算,页面打开时走 SSE 实时刷新。
个股驾驶舱:一屏看完一只票——左侧多周期 K 线叠加均线 / MACD / K 线形态标注,右侧页签在预测、资金流、消息、持仓&环境、AI 点评之间切换。

![]() |
![]() |
| SEPA 策略仪表盘——Minervini 趋势模板逐条打钩,长期均线值区、成交密集区、RS 相对强弱、量能比一屏呈现。 | 短线多周期预测面板——5m/15m/1h 切换,入场 / 止损 / 目标价位线,MACD 背离与 K 线形态自动标注,右栏给三档情景推演。 |
![]() |
![]() |
| 主力资金流曲线——日内累计主力净流入,正负分区着色。 | 跨标的资金净额对比——一组标的的资金净额横向对比,看板块内谁在流入流出。 |
图表库:所有出过的图按日期归档,可按类型(sepa / intraday / flow / cohort)筛选;数据存在 journal/charts/data/,渲染永远用最新前端代码。

仓库按层分工,每一层只做一件事。
| 来源 | 接入方式 | 覆盖范围 |
|---|---|---|
| Longbridge 长桥 | longbridge ... CLI / longbridge-* skill |
实时报价、K 线、基本面、资金流、技术指标、新闻 |
| FRED | fred skill(免费 API key) |
美国/全球宏观时间序列(CPI、GDP、联邦利率、收益率、M2、美元指数) |
| SEC EDGAR | sec-edgar skill(UA header) |
10-K/10-Q/8-K/S-1 原文,Form 4 内部人交易解析 |
| GDELT 2.0 | gdelt skill(5 秒限流) |
全球多语种新闻流,含情绪打分 |
| Trump Truth Social | trump-truth-monitor skill(RSS 镜像) |
Trump 帖子归档、分类与市场影响分级 |
| Yahoo Finance | yfinance-data + 衍生 skill |
估值数据、财报前瞻/复盘、分析师预期、链上 ETF 溢价、流动性指标 |
Longbridge 覆盖价格与基本面;自研的四个 custom skill 补的是盲区(宏观、监管原文、世界新闻、政策口风);Yahoo Finance 衍生 skill 接管了估值和财报分析方向。
这一层不引入新数据源,只把第一层的调用按规矩排好顺序,并执行一系列防错纪律:
stock-deep-dive:第一次看一只新票时用。一次性跑业务/基本面/技术面/催化剂/上下游/自审六个维度。capital-rotation:盘后一次性扫指数/半导体/软件云/大科技/应用端几个固定 cohort 的资金净流入,定一个轮动叙事,写入 journal/YYYY-MM-DD-flow.md。market-session-tracker:盘前到收盘期间盯一份观察清单,识别突破、派发、回调档位,按时间戳更新判断。company-valuation:DCF + 相对估值(multiples)+ 分部估值(SOTP)三法并算,给出隐含股价区间和不含偏见的公允价值判断。earnings-preview / earnings-recap / estimate-analysis:财报前瞻(一致预期 vs 历史 beat/miss 记录)、日志(结果复盘)、预估分析(修订趋势与分布区间)。etf-premium:ETF 溢价/折价分解——哪些是 NAV 驱动、哪些是结构性的(伽马挤压、做市商对冲、AP 套利堵塞)。sepa-strategy:Mark Minervini SEPA 方法——趋势模板检查、VCP 收缩识别、杯柄/旗形/高紧旗形态、突破确认与仓位计算。stock-correlation:股票间相关性与配对分析(滚动相关系数、beta、同行对标、供应链联动)。stock-liquidity:流动性评分——买卖价差、ADTV、市场冲击估算、Amihud 非流动性指标。serenity-skill:供应链瓶颈挖掘法——从产业链卡点倒推投资机会,适合独立深度调研。options-payoff:交互式期权盈亏曲线——多腿组合的 P&L 可视化与盈亏平衡点分析。startup-analysis(风投/求职/创始人三维评价)、hormuz-strait(霍尔木兹海峡实时状态)、saas-valuation-compression(SaaS 多轮估值压缩分析)、yc-reader、twitter-reader 等。[!TIP] 工作流之间互有重叠。单票第一次研究用
stock-deep-dive;盘后看大盘资金去哪了用capital-rotation;盘中实时盯盘用market-session-tracker;单票找入场用intraday-signal;看估值用company-valuation;准备或回顾财报用earnings-preview/earnings-recap;只看一个维度(比如只查个报价)就跳过工作流,直接调longbridge-*。
每个工作流最后都要写入 markdown。
journal/YYYY-MM-DD-flow.md —— 资金轮动快照journal/YYYY-MM-DD-<theme>.md —— 盯盘报告journal/trump-feed/YYYY-MM-DD.md —— Trump 帖子档案(archive.py 幂等追加)stocks/{SYMBOL}.md —— 个股六维笔记,增量更新,不重写stocks/_chain-ai-stack.md —— AI 资本支出产业链的跨股映射图journal/charts/data/YYYY-MM-DD-<slug>.json —— 图表数据快照,带 schema version项目自有 skill 放在 .claude/skills/:
.claude/skills/
├── _shared/ # 公共模块(env、缓存客户端、输出协议)
├── capital-rotation/ # 资金轮动扫描
├── chart/ # 图表应用调用规范(skill 内用 POST /api/charts 出图)
├── fred/ # FRED 宏观数据
├── gdelt/ # 全球新闻流
├── intraday-signal/ # 单票短线多周期钻取
├── market-session-tracker/ # 盘中实时盯盘
├── sec-edgar/ # SEC 文件
├── stock-deep-dive/ # 单票六维研究
└── trump-truth-monitor/ # Truth Social 监控与归档
自研 skill 是 stdlib-only 的 Python 3(/usr/bin/python3),从仓库根目录调用:
# 自检某个数据源是否可达
python3 .claude/skills/
/scripts/<cmd>.py --smoke
# 通用参数:--help、--smoke、--verbose;数据脚本额外支持 --fresh、--json
python3 .claude/skills/trump-truth-monitor/scripts/fetch.py --hours 24 --json
python3 .claude/skills/trump-truth-monitor/scripts/archive.py --quiet
共享约定(由 _shared/ 统一执行):
- 输出协议:成功 → {"ok": true, "data": ..., "meta": ...} 到 stdout,exit 0;失败 → {"ok": false, "error": ..., "hint": ...},非零退出,诊断信息走 stderr。
- 凭证:_shared/env.py 在 import 时自动读仓库根 .env(FRED_API_KEY、SEC_USER_AGENT)。.env 已 git-ignore。
- 缓存与限流:_shared/client.py 缓存在 ~/.cache/market-intel/,按数据源自动节流(SEC 10 req/s、FRED 120 req/min、GDELT ≥ 5 秒一次)。
借助 pi 的 skill 机制,项目还集成了一套涵盖估值、财报、期权、流动性、相关性的第三方 skill,放在 .agents/skills/ 下,由 skills-lock.json 管理版本锁。pnpm install 自动还原。
来自 himself65/finance-skills 与 muxuuu/serenity-skill,具体清单见 skills-lock.json。
cd app && pnpm install # 首次
cd app && pnpm start # http://localhost:5199
cd app && pnpm test # 金标测试(与原 Python 实现逐数对齐)
单进程运行——server(Fastify + TypeScript)以内嵌 middleware 模式挂载 Vite dev server,前端源码直接热更新,无打包环节。服务端自己调 longbridge CLI 拉数据并用 TypeScript 计算全部指标(均线、MACD、RS、趋势模板、成交分布、14 种 K 线形态、背离检测、时段分类);图表数据以 JSON 落在 journal/charts/data/(gitignored),前端永远用最新代码渲染历史数据,改组件不影响旧图。
实时层:页面打开期间走 SSE 推送——
- GET /api/stream/quotes:10 秒轮询行情(watchlist ∪ 持仓),自动识别盘前/盘后/隔夜时段;
- GET /api/stream/charts/:id:每 60 秒重建 flow / kline / intraday 图表数据并推送,不重置缩放。
详情见 app/README.md。
git clone https://github.com/Innei/trade-skills.git ~/git/trade
cd ~/git/trade
pnpm install # 会触发 prepare 钩子,自动还原第三方 skill
pnpm install 自动调 skills experimental_install 按 skills-lock.json 把第三方 skill 拉到 .agents/。第三方 skill 不进仓库本体。
要更新 skill 锁定版本:
pnpm skills:update
可选的环境变量放在仓库根的 .env:
FRED_API_KEY=... # FRED 免费申请
SEC_USER_AGENT="Your Name <you@example.com>" # SEC EDGAR 要求带身份
.
├── .agents/skills/ # 第三方 skill(pnpm 按 skills-lock.json 自动还原,gitignored)
├── .claude/skills/ # 自研 skill 源码
│ ├── _shared/ # 公共 env / 缓存客户端
│ ├── capital-rotation/ # 资金轮动扫描
│ ├── chart/ # 图表调用规范
│ ├── fred/ # FRED 宏观数据
│ ├── gdelt/ # 全球新闻流
│ ├── intraday-signal/ # 单票短线多周期
│ ├── market-session-tracker/
│ ├── sec-edgar/ # SEC 文件
│ ├── stock-deep-dive/ # 单票六维研究
│ └── trump-truth-monitor/
├── app/ # 图表应用
│ ├── server/ # Fastify + TypeScript(指标实算 + API + SSE)
│ ├── web/ # Vite + React(渲染组件 + 实时数据订阅)
│ └── README.md
├── docs/ # 设计文档
├── journal/ # 每日札记(gitignored)
├── stocks/ # 个股笔记(gitignored)
├── CLAUDE.md # 给 Claude Code 的项目说明(中文白话)
├── package.json # pnpm workspace root
└── skills-lock.json # 第三方 skill 版本锁
这些都是反复踩过坑后写进 skill 里的硬性约束,独立调用脚本时也建议保留:
… 标题,不能当作公司口径引用。longbridge financial-report --kind IS 给的是 GAAP 稀释 EPS;卖方、一致预期用的是 non-GAAP。两者数字差距大时,多半是混了口径。[!WARNING] - 资金流单位不一致:
capital-rotation把longbridge capital的输出当作万美元,盯盘模板默认推断为千美元/$k。Longbridge 本身不标单位,记录时一定要把原始数字和你推断的单位都写下来,不要默默换算。 -.SOX.US在 Longbridge 上拉不到,用SMH/SOXXETF 代理。 - 文件名日期是美股交易日,不是亚洲本地日期。同一天再跑会追加带时间戳的小节,不会覆盖。 - GDELT 只滚动近期窗口,不是历史档案。Trump 的 RSS 镜像只露最近约 5 天(约 100 条),更早的帖子只有靠archive.py持续抓取才会留存。
第三方 skill 来自 himself65/finance-skills 与 muxuuu/serenity-skill。具体清单见 skills-lock.json。
$ claude mcp add trade-skills \
-- python -m otcore.mcp_server <graph>