一门从零到完整 AI 技能的实战课程:学会让 AI 「手持数据」做专业 A 股基本面分析。
本项目通过 6 个递进式阶段,教你从一个最简单的 SKILL.md 出发,逐步构建出一个具备真实数据获取、完整估值方法论和多技能协作能力的专业 A 股分析工具。
学完你能做什么:
- 用 AI 生成覆盖基本面、估值、风险的完整研究报告
- 让 AI 调用 Python 脚本获取 AkShare 实时数据(非训练集数据)
- 将专业估值手册(DCF/Comps/行业指标)注入 AI 知识库
- 构建支持
/analyze-stock、/macro-dashboard等斜杠命令的多技能插件
phase-1/complete/ → phase-2/complete/ → phase-3/complete/
→ 任意阶段的 complete-nocode/
# 安装依赖
pip install akshare baostock yfinance pandas
# 验证环境
cd phase-4/complete-code/financial-analysis-skill/scripts
python fetch_stock.py --test详细安装说明见 docs/environment-setup.md。
akshare-skill/
├── phase-1/ # 基础骨架:最简 SKILL.md
│ ├── starter/ # 学员起点(空目录)
│ └── complete/ # 参考答案
│
├── phase-2/ # 精准触发:优化 description 字段
│ ├── starter/
│ └── complete/
│
├── phase-3/ # 完整流程:6步分析工作流
│ ├── starter/
│ └── complete/
│
├── phase-4/ # 真实数据:接入 AkShare
│ ├── starter/
│ ├── complete-code/ # 代码路径(可直接运行脚本)
│ └── complete-nocode/ # 无代码路径(AI 解读脚本输出)
│
├── phase-5/ # 知识注入:专业估值手册引入
│ ├── starter/
│ ├── complete-code/
│ └── complete-nocode/
│
├── phase-6/ # 多技能插件:完整生产级工具
│ ├── starter/
│ ├── complete-code/ # 含4个子技能 + 4个斜杠命令
│ └── complete-nocode/
│
├── test-cases/ # 测试用例
│ ├── trigger-tests.md # 20+ 触发/排除测试
│ ├── data-validation-tests.md # 数据准确性测试
│ └── analysis-checklist.md # 报告质量检查清单
│
├── mock-data/ # 离线测试数据
│ ├── moutai-600519.json
│ ├── pingan-000001.json
│ └── macro-indicators.json
│
└── docs/
├── environment-setup.md # 环境配置指引
├── lab-manual.md # 实验手册(6个实验完整操作流程)
└── textbook.md # 教科书(技术原理 + 金融知识体系)
目标:让 AI 认识你的技能、能够被触发。
核心知识点:
- SKILL.md 的 YAML frontmatter(name + description)
- description 字段的触发机制
- 最小可用技能的样子
---
name: 财务分析技能
description: "当用户提到A股股票代码(6位数字)或询问上市公司基本面时触发..."
---目标:通过优化 description,让技能在正确时机触发,在不应触发时沉默。
核心知识点:
- 触发词 vs 排除词
- 同义词扩展(市盈率/PE/估值/基本面/利润表...)
- A 股特有格式(6位数字代码)
目标:在 SKILL.md 正文中写入完整的6步分析流程,让 AI 每次都按规范执行。
6步流程:
- 信息确认(解析股票代码)
- 公司名片(基本信息摘要)
- 财务解读(盈利/偿债/成长/DuPont)
- 估值分析(PE可比 + 简化DCF)
- 综合打分
- 强制附录(数据来源与免责声明)
目标:接入 AkShare,让 AI 使用实时真实数据而非训练集中的过时数据。
三层数据获取策略:
AkShare(主力)→ Baostock(降级)→ Tushare Free(备用)
↓
yfinance(仅交叉验证)
数据置信度系统:
high:多源比对偏差 ≤ 5%medium:偏差 > 5%,以 AkShare 为准acceptable:单一来源可用low:所有来源失败
新增脚本:
fetch_stock.py:价格/估值/基本信息fetch_financial.py:三张报表 + 衍生指标data_validator.py:AkShare vs yfinance 交叉验证
目标:将专业金融知识以 references/ 文件的形式注入 SKILL.md,提升分析质量。
三大参考文档:
- valuation-guide.md — DCF(FCFF/WACC/终值)、可比公司法、DuPont 5因素
- industry-metrics.md — 8大行业核心估值指标和 KPI
- api-catalog.md — AkShare 接口完整索引(含 Baostock 对比表)
报告模板:
- report-template.md — 7节完整研报结构 + 强制附录
目标:将单一技能拆分为4个专业子技能,通过斜杠命令编排协作。
插件架构:
financial-analysis-plugin/
├── skills/
│ ├── data-acquisition/ # 数据采集
│ ├── financial-analysis-cn/ # 财务分析 + 估值
│ ├── equity-research-cn/ # 研报生成 + 评级
│ └── macro-analysis-cn/ # 宏观分析 + 仪表盘
└── commands/
├── /analyze-stock # 完整研报(调用全部子技能)
├── /quick-valuation # 快速估值(≤3分钟)
├── /macro-dashboard # 宏观仪表盘
└── /sector-scan # 行业板块扫描
平台支持:
- Claude Cowork:使用
.claude-plugin/plugin.json - OpenClaw:使用
openclaw.plugin.json - OpenCode:直接使用子技能 SKILL.md(原生兼容)
| 对比维度 | AkShare | Tushare | Wind |
|---|---|---|---|
| 费用 | 完全免费 | 积分制(免费额度有限) | 付费 |
| A 股覆盖 | 全面 | 全面 | 最全面 |
| 个人使用 | 无需注册 | 需注册 | 机构才用 |
| 数据源 | 东方财富/新浪 | 官方数据 | Bloomberg |
| 稳定性 | 一般(接口随网站变化) | 较稳定 | 最稳定 |
结论:教学场景下,AkShare 免费、无需注册、覆盖全面,最合适。
yfinance 使用 Yahoo Finance 数据,对 A 股覆盖不完整、有延迟,且在中国大陆网络访问不稳定。本项目仅用其做交叉验证,确保 AkShare 数据合理性。
| 文档 | 定位 | 适合谁读 |
|---|---|---|
| 实验手册 | 操作手册:6个实验的完整步骤,验证方法,常见问题逐一列出 | 初学者;跟着步骤依次操作即可完成全程 |
| 教科书 | 知识体系:AI Skill 技术架构(12章)+ A 股分析方法论 + 数据工程基础 | 想理解"为什么"的学习者;可独立阅读,也可配合实验手册使用 |
| 环境配置 | 安装指南:Python 环境 + AkShare + 各平台 Skill 加载方式 | 使用代码路径前必读 |
推荐学习路径:
先读教科书 Part 1(第1-3章)→ 对照实验手册做实验1-3
→ 读教科书 Part 2(第4-6章)→ 做实验4(代码/无代码任选)
→ 读教科书 Part 3(第7-12章)→ 做实验5-6
→ 用实验手册"综合测验"自我验收
Q:没有 Python 基础,能学吗?
A:可以。Phase 1-3 完全不需要 Python。Phase 4-6 的 nocode 路径中,Python 脚本由 AI 直接执行,你只需要理解输入输出即可。
Q:实盘数据和 mock-data 有多大差异?
A:mock-data 基于公开年报数据,价格数据有时效性问题(标记日期为 2025-01-15)。学习估值方法时两者等效;如需最新数据,运行对应脚本获取实时数据。
Q:AkShare 接口偶尔报错怎么处理?
A:AkShare 接口偶有变化。先运行 pip install akshare --upgrade 更新版本。若仍报错,使用 mock-data 进行离线测试,待接口修复后再切换实时模式。
本课程所有内容(分析框架、参考数据、示例报告)仅供教学目的,不构成投资建议。
金融投资存在风险,历史数据不代表未来表现。请在实际投资决策前咨询持牌金融顾问。