ashare
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页面包含八个工作区:
主线波段:默认首页,自动采集宏观与快讯、更新行情、研究产业传导、等待价格确认、制定风险计划并记录成交结果。宏观研究:查看经典周期地图、生成 AI 研究简报,维护结构性方向、产业链、证据、催化剂和失效条件。每日复盘:生成事件、题材、涨停、龙虎榜和全量候选池。策略实验室:理解近期市场,验证单战法或多战法组合。观察池:用已验证策略筛选并持续维护标的。个股分析:复盘成本、关键位和后续情景。风控监控:统一查看市场与持仓风险。盘中信号:扫描分钟级机会和风险信号。
首页加载主线波段与基础数据状态;其余工作区首次进入时按需加载。
DeepSeek AI 分析
当前已内置 DeepSeek V4 Pro,配置读取自本机私有文件 .env.local。页面不会把 Key 暴露给浏览器源码。
使用方式:
启动本地操作界面。
进入
策略实验室。等待“近期盘感与Agent假设”加载完成。
点击
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.htmlMCP 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.pyClaude 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
工具 | 说明 | 工作流步骤 |
| 查看经典周期地图与当前评估 | Step 0: 宏观研究 |
| 保存周期阶段、证据、反证与复查日期 | Step 0 |
| 清除一个周期评估 | Step 0 |
| 查看宏观叙事和复查日期 | Step 0: 宏观研究 |
| 新建/更新叙事卡 | Step 0 |
| 删除叙事卡 | Step 0 |
| DeepSeek 综合周期、货币、行业和盘面 | Step 0 |
| 拉取最新行情数据 | Step 1: 每日复盘 |
| 生成某日复盘报告 | Step 1 |
| 近期盘感 | Step 1 |
| DeepSeek AI 深度分析 | Step 1 |
| 查询可用日期 | Step 1 |
| 系统数据概况 | Step 1 |
| 列出战法和条件类型 | Step 2: 策略实验室 |
| 运行战法回测 | Step 2 |
| 创建自定义战法 | Step 2 |
| 自然语言生成战法草案 | Step 2 |
| 删除自定义战法 | Step 2 |
| 查看/筛选观察池 | Step 3: 观察池 + 个股演绎 |
| 用战法扫描入池 | Step 3 |
| 更新池项状态/备注 | Step 3 |
| 个股深度分析(含场景演绎) | Step 3 |
| 查找股票代码/题材 | Step 3 |
| 获取日K线数据 | Step 3 |
| 组合风控监控 | Step 4: 盘中实战 |
| 分钟级信号扫描 | 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.mdDeepSeek V4 Pro AI 分析入口:
策略实验室 -> AI深度分析
当前产品范围不包含研报和公告正文,AKShare 也不再是必需依赖。
后续产品优化
增加人工修正入口:修改事件分类、主炒题材、龙头/中军和观察池。
增加历史统计看板:观察池胜率、平均收益、最大回撤和题材持续性。
优化新闻精选:合并同一事件,降低 ETF 推广和重复行情播报权重。
增加题材和个股详情页,支持历史事件、涨停、龙虎榜和表现追踪。
将本地 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.mdSQLite 本地缓存:
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追踪指标:
次日开盘涨幅、最高涨幅、最低涨幅、收盘涨幅、开盘后最大回撤、是否涨停、结果分类同一只股票即使属于多个题材,也只计为一个追踪样本,避免胜率重复统计。
This server cannot be deployed
Maintenance
Related MCP Connectors
China A-share market data for research, backtesting and AI agents via MCP.
MCP server giving AI agents one-connection access to China A-share market intelligence: financials,
China A-share market data over MCP: 22 tools for quotes, K-line, financials, money flow, top-trader boards, sectors, macro, convertible bonds and factor screening. Five tools need no API key, so you can connect and try it immediately.
Read-only China A-share data for AI agents: market, limit-up, capital flow and disclosures.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables LLM clients to access A-share market data, run the trading rule engine, and retrieve daily decision reports through 32 MCP tools.MIT
- AlicenseBqualityCmaintenanceEnables multi-agent financial research through MCP, combining live or offline market, news, fundamentals, document RAG, and risk tools with critic review, synthesis, and execution tracing.10MIT
- AlicenseCqualityBmaintenanceEnables 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.181MIT
- AlicenseNot gradedqualityCmaintenanceEnables 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.1MIT