Skip to main content
Glama

A 股 AI 研究与验证系统(ashare-ai-research)

确定性引擎负责计算,LLM 负责归纳,交易判断保留人工确认。

一个从 0 到 1 独立设计搭建的 A 股投研系统:研究链路为「宏观与产业证据 → 主线候选 → 价格确认 → 风险预算 → 成交记录 → 成本后验证」,覆盖数据更新、每日复盘、产业分析、观察池、策略验证与研究回放。当前主流程为持有 1–4 周的主线波段,不自动下单。

为什么这样设计(三条核心决策)

决策

被否掉的备选

理由

确定性引擎与 LLM 分工

LLM 端到端给建议

账户、规则、成本、回测计算必须是可复算的;LLM 只做信息归纳——可靠性、可解释性、责任归属三个角度都指向同一结论

基于公开时点信息的历史重建

直接用当前数据回测

防「未来数据」污染:研究只允许使用当时已存在的信息,保留信息来源、时间戳、分析过程与失败记录

能力开放(MCP + Plugins)

封闭单体系统

领域能力封装为兼容 Agent Plugins 1.0 的插件,并通过 MCP 向不同 Agent 客户端开放——研究能力可被任意 Agent 复用

Related MCP server: financial-research-mcp

验证状态(诚实口径)

  • 69 个交易日回放、116 日研究、独立对账,168 项自动化测试通过

  • 截至六月底的独立回放与完整回放前缀完全一致;研究失败日照实保留,没有重抽答案或按收益调参

  • 诚实边界:历史数据回填和模型训练记忆无法完全排除,因此不是严格前瞻盲测;没有真实下单;「研究功能可用」不等于「已证明交易盈利」

目录速览

src/ashare_review/    核心引擎(数据、研究链路、复盘)
strategy_factory/     策略工厂
plugins/              Agent Plugins 1.0 兼容插件
mcp_server.py         MCP 能力开放服务
web/                  本地工作台(默认 http://127.0.0.1:8787)
scripts/              数据更新 / 回放 / 健康检查
tests/                自动化测试(168 项)
docs/                 产品与系统文档(从 0 到 1 搭建过程、项目地图、业务指南)

一键健康检查:python3 scripts/check_project.py | 一键启动:./start_ai_strategy.command

数据源:Tushare 本地日频快照(需自备 token,见 docs/tushare_usage.md)+ DeepSeek API。仓库不含行情原始数据与实验数据库(体积与数据源协议原因),复算材料另行保留。


A-share Intelligence Review MVP(使用手册)

一个从“宏观与产业证据 → 主线候选 → 价格确认 → 风险预算 → 成交记录 → 成本后验证”的 A 股研究系统。当前主流程是持有 1–4 周的主线波段,不自动下单。

2026-09-05 新增默认首页「主线波段」,接通真实宏观指标、近期快讯全文、行情缺日补采、AI 传导与反证、模拟/实际分账。当前使用方法、验收证据、时间目标和未完成项见 主线波段使用说明。

系统从 0 到 1 的搭建过程、问题复盘、当前能力和后续调优方向见:

docs/system_product_document.md

面向业务理解和日常沟通的通俗版文档见:

docs/system_business_guide.md

当前使用 Tushare 本地日频快照与增量研究缓存、DeepSeek API,保留样例数据入口。它不是实时行情或券商执行系统。

当前尚未完整接入研报和公告正文、公司分业务营收及行业订单/价格/库存序列。快讯全文不等于其引用的公告原文;研究功能可用不等于已证明交易盈利。

很久没看项目时,从这里重新开始

先读 项目地图,它只保留当前主线、目录职责、已知风险和下一步;完整文档导航见 docs/README.md。

然后执行一键健康检查:

python3 scripts/check_project.py

这会检查 Python 与全部 JavaScript(网页脚本)语法,并运行项目自动化测试。

快速开始

一键启动本地操作界面:

./start_ai_strategy.command

在 macOS Finder 中也可以直接双击 start_ai_strategy.command。脚本默认只启动 Web 工作台并打开:

http://127.0.0.1:8787

如果 8787 端口已被占用,脚本会提示先关闭旧服务,不会自动切换端口。MCP 服务保持可选,不随一键启动默认启动;数据更新仍在页面中点击“更新数据”手动触发。

python3 scripts/run_review.py --date 2026-05-15

输出报告会生成到:

reports/2026-05-15.md

批量回放样例历史数据:

python3 scripts/backfill_reviews.py

默认只回放有行情数据的日期。如果要把只有新闻、没有行情的日期也生成出来:

python3 scripts/backfill_reviews.py --include-news-only

报告索引:

reports/index.md

启动本地操作界面:

python3 scripts/serve_app.py

然后打开:

http://127.0.0.1:8787

页面包含八个工作区:

  1. 主线波段:默认首页,自动采集宏观与快讯、更新行情、研究产业传导、等待价格确认、制定风险计划并记录成交结果。

  2. 宏观研究:查看经典周期地图、生成 AI 研究简报,维护结构性方向、产业链、证据、催化剂和失效条件。

  3. 每日复盘:生成事件、题材、涨停、龙虎榜和全量候选池。

  4. 策略实验室:理解近期市场,验证单战法或多战法组合。

  5. 观察池:用已验证策略筛选并持续维护标的。

  6. 个股分析:复盘成本、关键位和后续情景。

  7. 风控监控:统一查看市场与持仓风险。

  8. 盘中信号:扫描分钟级机会和风险信号。

首页加载主线波段与基础数据状态;其余工作区首次进入时按需加载。

DeepSeek AI 分析

当前已内置 DeepSeek V4 Pro,配置读取自本机私有文件 .env.local。页面不会把 Key 暴露给浏览器源码。

使用方式:

  1. 启动本地操作界面。

  2. 进入 策略实验室。

  3. 等待“近期盘感与Agent假设”加载完成。

  4. 点击 AI深度分析。

AI 分析发生在“本地规则盘感生成之后、战法回测之前”:系统先用本地数据生成市场阶段、题材、来源反馈和规则假设,再把这份结构化材料交给 DeepSeek V4 Pro,生成市场叙事、研究假设、观察纪律和风险提醒。

如果要更换 Key 或模型,编辑:

.env.local

策略实验室当前支持:

  • 近阶段盘感:市场阶段、来源反馈、题材上下文和 Agent 假设

  • DeepSeek V4 Pro 深度分析:输出市场叙事、研究假设、观察纪律和风险提醒

  • 假设卡片:可回测假设可一键带入实验,待编码假设先沉淀

  • 单战法学习模式:先理解用途、规则、适用场景和常见误判,再运行回测

  • 多战法组装模式:支持“全部满足”和“至少满足两个”两种组合关系

  • 价升量缩

  • 过左峰

  • 回马枪

  • 长阴短柱

  • 经典日本蜡烛图:看涨吞没、锤子线、早晨之星

  • 固定持有或九阴风控

  • 持有 1、2、3、5、10 个交易日对比

  • 双边成本、一字涨停无法买入和一字跌停延后卖出模拟

回测口径为复盘日收盘确认信号,下一交易日开盘尝试买入。持有 1 日表示买入后至少隔夜,于下一交易日收盘卖出。

页面中点击“更新最新数据”,会自动拉取最近交易日的:

日线、每日指标、市值、涨跌停价、资金流、涨停专题、连板梯队、
热点题材、停复牌、主要指数、龙虎榜和新闻

也可以在终端执行:

python3 scripts/update_market.py

指定历史日期:

python3 scripts/update_market.py --date 20260612

批量补齐日期区间:

python3 scripts/update_market_range.py --start-date 2026-05-15 --end-date 2026-06-15

生成回测汇总:

python3 scripts/summarize_backtest.py --start-date 2026-05-15 --end-date 2026-06-15

如果当前环境不能启动本地端口,也可以生成静态看板:

python3 scripts/build_static_dashboard.py

然后直接打开:

reports/dashboard.html

MCP Server(AI Agent 接口)

系统内置 MCP Server,让 AI Agent(Claude、GPT、Cursor 等)可以通过标准 tool call 调用全部功能。

安装

# 创建虚拟环境并安装依赖(需要 Python 3.10+)
uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install -r requirements.txt

启动

source .venv/bin/activate
python3 mcp_server.py

Claude Desktop 配置

{
  "mcpServers": {
    "ashare": {
      "command": "/Users/menke/Desktop/AI策略/.venv/bin/python3",
      "args": ["/Users/menke/Desktop/AI策略/mcp_server.py"]
    }
  }
}

Cursor / VS Code Copilot 配置

{
  "servers": {
    "ashare": {
      "command": "/Users/menke/Desktop/AI策略/.venv/bin/python3",
      "args": ["/Users/menke/Desktop/AI策略/mcp_server.py"]
    }
  }
}

可用 Tools

工具

说明

工作流步骤

cycle_list

查看经典周期地图与当前评估

Step 0: 宏观研究

cycle_save

保存周期阶段、证据、反证与复查日期

Step 0

cycle_delete

清除一个周期评估

Step 0

narrative_list

查看宏观叙事和复查日期

Step 0: 宏观研究

narrative_save

新建/更新叙事卡

Step 0

narrative_delete

删除叙事卡

Step 0

macro_research_brief

DeepSeek 综合周期、货币、行业和盘面

Step 0

update_market_data

拉取最新行情数据

Step 1: 每日复盘

daily_review

生成某日复盘报告

Step 1

market_sense

近期盘感

Step 1

ai_market_sense

DeepSeek AI 深度分析

Step 1

available_dates

查询可用日期

Step 1

profile

系统数据概况

Step 1

strategy_config

列出战法和条件类型

Step 2: 策略实验室

strategy_run

运行战法回测

Step 2

strategy_create

创建自定义战法

Step 2

strategy_draft

自然语言生成战法草案

Step 2

strategy_delete

删除自定义战法

Step 2

observation_pool

查看/筛选观察池

Step 3: 观察池 + 个股演绎

observation_scan

用战法扫描入池

Step 3

observation_update

更新池项状态/备注

Step 3

stock_analysis

个股深度分析(含场景演绎)

Step 3

stock_lookup

查找股票代码/题材

Step 3

daily_klines

获取日K线数据

Step 3

risk_monitor

组合风控监控

Step 4: 盘中实战

minute_signals

分钟级信号扫描

Step 4

Agent 典型调用链

0. cycle_list() → cycle_save(cycle_id="kitchin", ...)
1. narrative_list() → macro_research_brief() → narrative_save(name="AI基础设施", ...)
2. update_market_data() → daily_review(date="2026-06-17") → ai_market_sense()
3. strategy_draft("缩量回踩20日线后放量突破") → strategy_run(...) → strategy_create()
4. observation_scan(date="2026-06-17", strategy_ids=[...]) → stock_analysis(query="000001")
5. risk_monitor() → minute_signals(ts_codes=["000001.SZ"])

当前能力

  • 读取历史新闻事件样例

  • 根据题材知识库做事件到题材映射

  • 读取历史行情/涨停样例

  • 判断题材是否被市场验证

  • 生成涨停梯队、情绪周期、次日观察池

  • 将结构化结果保存为 Markdown 复盘

  • 提供本地 Web 控制台,便于选择日期和测试报告

目录

config/
  themes.yaml              # 题材知识库
  concept_rules.yaml       # Tushare 概念清洗规则
data/sample/
  news_events.csv          # 样例事件
  market_daily.csv         # 样例行情
  limit_up_daily.csv       # 样例涨停
reports/                   # 复盘输出
scripts/
  run_review.py            # 一键运行
  backfill_reviews.py      # 批量回放
  serve_app.py             # 本地操作界面
  build_static_dashboard.py # 静态看板
src/ashare_review/
  datasources.py           # 数据读取
  local_daily.py           # 本地日线 CSV 适配
  event_mapper.py          # 事件 -> 题材映射
  market_validator.py      # 市场验证评分
  report.py                # 报告生成
  models.py                # 数据结构

当前完成状态

  • 本地历史日线与 Tushare 每日市场快照

  • 股票名称、行业、概念板块和多题材归属

  • Tushare 真实新闻采集、去重、分类和题材映射

  • 题材热度、事件市场验证和情绪周期

  • 准确涨跌停价、封板时间、开板次数、封单金额和连板梯队

  • 热门涨停反查原因,区分个股直接消息、题材新闻共振、涨停专题共振和低置信度盘面归因

  • 指数、换手率、市值和资金流

  • 龙虎榜每日明细和机构席位

  • 次日观察池、表现追踪和结果分类

  • 观察池记录“资讯驱动 / 市场热度 / 热门涨停反查”来源,支持后续分组回测

  • 观察池量价二次筛选和多持有期回测

  • 原始观察池、量价战法与随机对照组比较

  • 逐笔命中依据、买卖日期、收益和最大回撤下钻

  • 页面一键更新最新数据、一键生成复盘

  • 按交易日保存市场快照,最新复盘约 0.5 秒生成

  • 战法库维护模板和流程说明:docs/strategy_playbook_guide.md

  • DeepSeek V4 Pro AI 分析入口:策略实验室 -> AI深度分析

当前产品范围不包含研报和公告正文,AKShare 也不再是必需依赖。

后续产品优化

  1. 增加人工修正入口:修改事件分类、主炒题材、龙头/中军和观察池。

  2. 增加历史统计看板:观察池胜率、平均收益、最大回撤和题材持续性。

  3. 优化新闻精选:合并同一事件,降低 ETF 推广和重复行情播报权重。

  4. 增加题材和个股详情页,支持历史事件、涨停、龙虎榜和表现追踪。

  5. 将本地 CSV 逐步迁移到 SQLite,提高历史查询和批量回放速度。

Tushare

Tushare 初始化方式已封装在:

src/ashare_review/tushare_client.py

调用说明见:

docs/tushare_usage.md

测试命令:

python3 scripts/test_tushare_client.py

新闻接口测试:

python3 scripts/test_tushare_news.py

分钟交易提示:

PYTHONPATH=src python3 scripts/run_minute_signals.py --ts-code 000001.SZ --freq 1min --limit 120

说明见:

docs/minute_signals.md

SQLite 本地缓存:

PYTHONPATH=src python3 scripts/sync_sqlite.py --all
PYTHONPATH=src python3 scripts/sync_sqlite.py --local-daily

说明见:

docs/sqlite_local_cache.md

拉取股票基础信息:

python3 scripts/fetch_stock_basic.py

输出:

data/tushare/stock_basic.csv

拉取概念板块和概念成分:

python3 scripts/fetch_concepts.py

输出:

data/tushare/concepts.csv
data/tushare/concept_members.csv

拉取新闻事件:

python3 scripts/fetch_news.py --src cls --start-date "2026-04-01 00:00:00" --end-date "2026-04-01 23:59:59"

输出:

data/tushare/news_events.csv

拉取龙虎榜:

python3 scripts/fetch_lhb.py --trade-date 20260401

输出:

data/tushare/top_list_20260401.csv
data/tushare/top_inst_20260401.csv

批量生成观察池并计算次日表现:

python3 scripts/backfill_tracking.py --start-date 2026-03-30 --end-date 2026-04-01

输出:

data/tracking/watchlist.csv
data/tracking/outcomes.csv

追踪指标:

次日开盘涨幅、最高涨幅、最低涨幅、收盘涨幅、开盘后最大回撤、是否涨停、结果分类

同一只股票即使属于多个题材,也只计为一个追踪样本,避免胜率重复统计。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables LLM clients to access A-share market data, run the trading rule engine, and retrieve daily decision reports through 32 MCP tools.
    MIT
  • A
    license
    C
    quality
    B
    maintenance
    Enables AI agents to access Chinese financial market data and investment research through 177 tools, covering stocks, industries, macroeconomics, economic cycles, commodities, crypto, funds, and asset allocation.
    181
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Enables AI agents to run a full quant research workflow over MCP: pulling data, authoring and backtesting strategies, running statistical validation and risk checks, and recording findings for future sessions.
    1
    MIT