Stock Agent v2.0

AI驱动的A股智能分析引擎
从事件到个股,从概念到纯度,
一句话生成专业级投资分析卡片
核心能力
🎯

概念纯度评分 独创

四维加权算法(营收40%+主营25%+供应链20%+叙事15%),S/A/B/C/D五级量化评分,自动识别伪概念股。市面无替代品。

事件影响分析

输入一段事件描述,自动解析传导链、映射受影响个股、评分纯度、生成可视化HTML分析卡。全程自动化。

📊

个股深度分析

技术面+基本面+催化剂+风险矩阵,五维评分体系,融合投资顾问团DNA,输出可执行的操作建议。

🛡️

股票代码防线

Sina suggest API + AKShare双源验证,所有代码入系统前必经验证,杜绝002564≠688300类事故。

🌐

增强市场环境

六维信号源:A股趋势+美股+涨跌广度+量能分析+北向资金+板块轮动。中性市场也有增量信号。

🏗️

模板引擎

共享CSS+组件库+卡片模板。新增卡片类型只需写数据映射,HTML/CSS自动复用。

系统架构
用户输入(事件描述 / 股票代码)
         │
    stock_validator.py ←── 第一道防线,验证所有股票代码
         │
    ┌────┴──────────────────────────┐
    │                               │
    │  event_analyzer.py             │  ← 事件分析管线
    │  ├─ Phase 1: 事件解析 (LLM)   │
    │  ├─ Phase 2: 传导链识别       │
    │  ├─ Phase 3: 个股映射         │    AKShare概念板 + MX + LLM
    │  ├─ Phase 4: 纯度评分         │ ← concept_scorer.py
    │  ├─ Phase 5: 市场环境         │ ← fetcher_market_context (增强版)
    │  └─ Phase 6: 综合渲染         │
    │         │                     │
    │    card_template.py            │  ← 模板引擎
    │    ├─ templates/base.css      │
    │    ├─ templates/components.py │
    │    ├─ templates/stock_card.py │
    │    └─ templates/event_card.py │
    │         │                     │
    │    reports/*.html              │  ← 输出
    └───────────────────────────────┘
概念纯度评分系统

量化个股与热门概念的真实关联程度。散户最痛的需求:这只股票是真XX概念还是蹭热点?

维度权重数据源评估内容
营收相关度 40% 财务报表、MX Finance 概念相关业务占总营收比
主营匹配度 25% 公司简介、主营描述 概念是否为公司核心身份
供应链位置 20% 产业链分析、研报 直接供应商(tier1) vs 间接受益
市场叙事强度 15% 近期新闻、研报提及 市场是否将该股与概念强关联
等级分数含义示例
S 90-100 核心纯正标的 中际旭创 ↔ 光模块
A 75-89 高纯度标的 寒武纪 ↔ AI算力
B 55-74 中纯度,成长中 有技术储备但商业化初期
C 35-54 低纯度,边缘关联 间接受益,传导链较长
D 0-34 伪概念,蹭热点 无实质业务关联
事件分析管线 — 6阶段自动化
快速开始(3分钟上手)

Step 1 — 安装依赖

# 克隆项目后,进入目录
$ cd 股市投资

# 安装 Python 依赖
$ pip install akshare pandas requests anthropic schedule

Step 2 — 配置环境变量

复制 .env.example.env,填入 API Key。至少需要一个 LLM 的 Key。

$ cp .env.example .env
$ vim .env

# 必填(至少一个LLM密钥)
AIPING_API_KEY=你的AIPing密钥   # 推荐:聚合平台,自动切换模型
# 或
GLM_API_KEY=你的智谱GLM密钥   # 免费额度充足

# 可选
FEISHU_WEBHOOK=飞书机器人webhook   # 推送分析报告到飞书群
MX_APIKEY=东方财富妙想密钥   # 增强选股和财务数据

Step 3 — 运行第一个分析

# 个股分析(最常用)— 自动生成 Markdown报告 + HTML卡片
$ python engine/synthesizer.py 688256
# → reports/archive/688256_寒武纪_20260316_1500.md
# → reports/stock_card_688256_20260316_1500.html
三大使用场景

场景一:个股深度分析

输入股票代码,自动执行 技术分析 → 基本面分析 → 新闻采集 → LLM综合研判,输出 Markdown 报告 + HTML 可视化卡片。

# 基础用法 — 分析寒武纪
$ python engine/synthesizer.py 688256

# 分析 + 推送摘要到飞书
$ python engine/synthesizer.py 688256 --push

# 分析 + 推送完整报告(多卡片,手机友好)
$ python engine/synthesizer.py 688256 --full

# 只要Markdown报告,不生成HTML卡片
$ python engine/synthesizer.py 688256 --no-html

# 不保存文件,只在终端输出
$ python engine/synthesizer.py 688256 --no-save

输出内容:核心结论、多维信号汇总、投资顾问团研判(老徐+包包两个AI角色)、风险提示、操作建议(方向/仓位/止损/目标价)、催化剂跟踪。

场景二:事件影响分析

输入一段事件描述(如政策发布、科技突破、地缘冲突),自动解析传导链、映射受影响A股个股、评分概念纯度、生成 HTML 分析卡。

# 直接输入事件文本
$ python engine/event_analyzer.py -e "英伟达GTC 2026发布Rubin Ultra GPU,算力提升10倍"

# 从文件读取长文事件描述
$ python engine/event_analyzer.py -f my_event.txt

# 分析 + 推送到飞书
$ python engine/event_analyzer.py -e "..." --push

# 不保存HTML(只看终端输出)
$ python engine/event_analyzer.py -e "..." --no-save

6阶段自动管线:事件解析 → 传导链识别 → 个股映射(AKShare+MX+LLM三源交叉) → 概念纯度评分 → 市场环境 → 综合研判。全程无需人工干预。

场景三:概念纯度查验

散户最痛的需求:这只股票是真XX概念还是蹭热点?输入代码+概念,秒出评分。

# 查验个股概念纯度
$ python engine/concept_scorer.py 688256 "AI算力"

# 带可选的概念描述(提高评分精度)
$ python engine/concept_scorer.py 002342 "深海系泊" --desc "深海石油开采锚泊系统"

# 验证股票代码(排查代码是否正确)
$ python data/stock_validator.py

四维评分:营收相关度(40%) + 主营匹配度(25%) + 供应链位置(20%) + 市场叙事(15%)。输出 S/A/B/C/D 五级,D 级标记为伪概念。

Python 调用方式

除了命令行,也可以在 Python 代码中直接调用核心函数:

# ── 个股分析 ──
from engine.synthesizer import run_full_analysis

# 返回 Markdown 报告(同时自动生成 HTML 卡片)
report = run_full_analysis("688256")

# 只要报告文本,不保存文件
report = run_full_analysis("688256", save_report=False, html_card=False)


# ── 事件分析 ──
from engine.event_analyzer import run_event_analysis

result = run_event_analysis("英伟达发布Rubin Ultra GPU")
print(result.event_name)   # 事件名
print(result.stocks[:5])   # 纯度Top5个股
print(result.html_path)   # HTML卡片路径


# ── 概念纯度评分 ──
from engine.concept_scorer import score_concept_purity

result = score_concept_purity("688256", "寒武纪", "AI算力")
print(f"{result.grade}({result.score}) {result.one_liner}")
# → S(95) 国产AI芯片龙头,NPU出货量全国第一


# ── 股票代码验证 ──
from data.stock_validator import validate_stock

info = validate_stock("联瑞新材")
print(f"{info.code} {info.name} {info.stock_type}")
# → 688300 联瑞新材 科创板


# ── 实时行情 ──
from data.fetcher_quote import get_realtime_quote

df = get_realtime_quote("688256")
print(df[["名称", "最新价", "涨跌幅"]])
# → 寒武纪 ¥325.50 +3.21%
项目文件结构
股市投资/
├── config.py               ← 全局配置(API Key、缓存TTL、模型选择)
├── .env                      ← 环境变量(不入版本库)
├── .env.example              ← 环境变量模板
│
├── data/                    ← 数据采集层
│   ├── stock_validator.py    ← 股票代码验证器(Sina+AKShare双源)
│   ├── fetcher_quote.py      ← 实时行情(新浪HTTP接口)
│   ├── fetcher_financial.py  ← 财务数据(新浪+MX Finance fallback)
│   ├── fetcher_news.py       ← 新闻资讯采集
│   ├── fetcher_market_context.py ← 市场环境(6维信号)
│   └── cache.py              ← SQLite缓存引擎
│
├── engine/                  ← 分析引擎层
│   ├── synthesizer.py        ← 个股综合分析管线(主入口1)
│   ├── event_analyzer.py     ← 事件影响分析管线(主入口2)
│   ├── concept_scorer.py     ← 概念纯度评分器(主入口3)
│   ├── analyst_technical.py  ← 技术面分析(K线/均线/MACD/形态)
│   ├── analyst_fundamental.py← 基本面分析(财务/估值/行业)
│   ├── llm_client.py         ← 多模型LLM客户端
│   ├── card_template.py      ← 卡片模板引擎入口
│   ├── prompts/              ← LLM提示词目录
│   │   ├── synthesizer.md    ← 综合研判师人设
│   │   ├── event_parser.md   ← 事件解析器
│   │   ├── event_synthesizer.md ← 事件综合研判
│   │   ├── concept_scorer.md ← 纯度评分标准
│   │   └── dna_*.md          ← 投资顾问团DNA
│   └── templates/            ← HTML模板目录
│       ├── base.css          ← 共享CSS设计系统
│       ├── components.py     ← 可复用HTML组件库
│       ├── stock_card.py     ← 个股分析卡模板
│       └── event_card.py     ← 事件分析卡模板
│
├── reports/                 ← 输出目录
│   ├── archive/              ← Markdown报告归档
│   ├── stock_card_*.html     ← 个股分析卡片
│   └── event_*.html          ← 事件分析卡片
│
├── knowledge/                ← 知识库(可选)
│   ├── retriever.py          ← 向量检索器
│   └── chroma_db/            ← ChromaDB向量库
│
└── monitor/                  ← 监控推送(可选)
    ├── pusher.py             ← 飞书推送
    └── card_builder.py       ← 飞书卡片构造器
配置说明
环境变量必填说明获取方式
AIPING_API_KEY 推荐 AIPing聚合平台密钥,自动路由到GLM-5/Claude等模型 aiping.ai 注册获取
GLM_API_KEY 备选 智谱清言官方API,免费额度充足 open.bigmodel.cn
ANTHROPIC_API_KEY 可选 Claude API,分析质量最高但成本高 console.anthropic.com
FEISHU_WEBHOOK 可选 飞书自定义机器人webhook,用于推送报告 飞书群设置 → 群机器人
MX_APIKEY 可选 东方财富妙想API,增强选股和财务数据 东方财富开放平台
config.py 参数默认值说明
LLM_PROVIDER aiping LLM提供商:aiping / claude / glm / qwen
MODEL GLM-5 模型名称(通过AIPing时自动映射)
EVENT_MAX_STOCKS 30 事件分析:每事件最多评分个股数
EVENT_MAX_CHAINS 5 事件分析:最多传导链条数
数据源与降级策略

系统设计为"无单点故障",任一数据源不可用时自动降级,不影响核心分析。

数据源用途不可用时
Sina HTTP API 实时行情(价格/涨跌幅),周末也能返回最后交易日数据 AKShare fallback
AKShare 日K线、财务报表、概念板块成分股、市场广度 SQLite缓存兜底(7天TTL)
Sina suggest API 股票代码 ↔ 名称验证(防止代码错误) AKShare stock list fallback
MX Finance 智能选股、财务查询、PE/市值补充 静默降级,不影响核心功能
LLM(GLM-5 / Claude) 事件解析、纯度评分、综合研判、风险分析 多模型切换,AIPing聚合平台自动路由
输出示例
📊

个股分析卡片

五维评分闪报 + 催化剂事件 + 基本面数据表 + 概念纯度对比 + 关键价位观察 + 风险矩阵 + 综合研判。移动端自适应。

示例:reports/stock_card_688256.html

事件分析卡片

事件头部(冲击等级)+ 市场环境速览 + 交叉分析 + 传导链分析 + 标的纯度速查表 + 风险矩阵 + 历史对标。

示例:reports/event_GTC2026_v2_fixed.html

📝

Markdown 报告

核心结论 + 多维信号汇总 + 投资顾问团研判(老徐/包包AI角色)+ 风险提示 + 操作建议(方向/仓位/止损/目标价)。

位置:reports/archive/

技术栈

数据层

AKShare + Sina HTTP + MX Finance
三源行情 fallback 链
SQLite缓存 + 分级TTL管理
股票代码验证器(双源)

分析引擎

多模型LLM客户端(5家厂商)
概念纯度评分器(四维加权)
技术面分析(K线/MACD/形态)
基本面分析(财务/估值)

渲染层

模板引擎 + 组件库
共享CSS设计系统
响应式设计(桌面+移动端)
飞书卡片推送

v2.0 更新日志
常见问题