by rootSunc
ASL · 本地可日更的 A 股研究湖 · 39 数据集 · MCP 给 AI agent · 零 token 零注册 | Local A-share research lake — history for humans & agents
# Add to your Claude Code skills
git clone https://github.com/rootSunc/ashare-lakeLast scanned: 8/8/2026
{
"issues": [],
"status": "PASSED",
"scannedAt": "2026-08-08T04:56:08.204Z",
"npmAuditRan": true,
"pipAuditRan": true,
"promptInjectionRan": true
}ashare-lake is an open-source ai agents skill for AI coding assistants such as Claude Code, Codex CLI, and ChatGPT, built by rootSunc. ASL · 本地可日更的 A 股研究湖 · 39 数据集 · MCP 给 AI agent · 零 token 零注册 | Local A-share research lake — history for humans & agents. It has 101 GitHub stars.
Yes. ashare-lake passed SkillsLLM's automated security scan — a dependency vulnerability audit plus prompt-injection heuristics — with no high-severity issues. You can read the full report in the Security Report section on this page.
Clone the repository with "git clone https://github.com/rootSunc/ashare-lake" and add it to your Claude Code skills directory (see the Installation section above).
ashare-lake is primarily written in Python. It is open-source under rootSunc on GitHub, so you can review or fork the full source.
Yes. SkillsLLM lists many other AI Agents skills you can browse and compare side by side. Open the AI Agents category from the badge at the top of this page, or use the Related Skills and comparison links further down to weigh ashare-lake against similar tools.
No comments yet. Be the first to share your thoughts!
同一个等权买入持有,同样的起止日期,唯一差别是后来退市的票还在不在篮子里。用「今天还在的股票」当历史股票池——几乎所有按当前名单发数的源只能给你这个——2016–2021 五年收益从 5.9% 变成 12.0%,虚高一倍。
这类错误看不出来:那些票不是零,是不在。退市股、复权因子、PIT 在这里是一等公民,不是覆盖面上的第 40 个数据集。
python scripts/survivorship_gap.py --lang zh --svg docs/assets/survivorship-gap.zh.svg
pip install ashare-lake # 所有数据源都不要注册、token、积分
asl demo # 5 只票 × 30 个交易日,可复权真日线
# 可选:接给 Claude Code
claude mcp add ashare-lake -- asl mcp --config "$(pwd)/configs/ashare-lake.demo.toml"
需能访问 TDX 行情主机(大陆出口更稳)。不通先 asl servers test,或 asl demo --symbols 600519.SH,000001.SZ --days 10。
from ashare_lake.query import load
bars = load("daily_bars", data_root="data/ashare-lake-demo", adjust="hfq")
接上 MCP 之后,直接用中文问:
★ 需要本地历史序列——现拉现给的工具结构上答不了。取数工具给你现在,湖给你历史。
| 你想知道 | 怎么拿 |
|---|---|
| 茅台过去五年复权后涨了多少 | load("daily_bars", symbols=[...], adjust="hfq") |
| ★ 茅台 PE 的历史分位数 | valuation_metrics + 窗口分位 |
| ★ 2018 年财报因子 IC,别用未来数据 | load("financial_statement_items", as_of="2018-04-30") |
| ★ 退市股退市前 60 天形态 | delisting_events + daily_bars |
| ★ 全市场等权收益,剔除幸存者偏差 | scripts/survivorship_gap.py(上面那张图) |
| 今天龙虎榜 / 未来解禁 / 板块资金流 | dragon_tiger · share_unlock_schedule · sector_fund_flow |
| ★ 三年前的沪深300成分 / 申万行业 | index_constituents · industry_members |
AkShare / 取数 skill 解决「怎么拉数」——拿到的是没有历史口径的当下快照。Tushare 是云端宽表。Qlib / vn.py 是研究/交易平台。ASL 做中间层:多源进同一契约,落成可日更、可溯源的本地 Parquet 湖。
| 你在意什么 | ashare-lake | AkShare / 取数 skill | Tushare Pro | Qlib / vn.py |
|---|---|---|---|---|
| 本地可续跑的数据底座 | 湖 + 日更编排 | 现拉,编排自管 | 云端积分 | 绑在平台里 |
| 数据能否复查 | 行级溯源 | 通常无统一契约 | 平台字段 | 视模块 |
| 研究口径 | load():复权 / universe / PIT |
自己拼 | 自己拼 | 平台口径 |
| 源挂了 | fail batch,可按批 retry | 看调用方 | 看平台 | 视模块 |
逐条展开:comparison。
39 个注册数据集(与 domain/datasets.py 同步)。字段见 schema,编排见 catalog。
| 类别 | 数据集(load() 名 · 中文) |
|---|---|
| 基础参考(3) | instruments 证券主数据 · trading_calendar 交易日历 · trading_status 交易状态(停复牌 / ST) |
| 行情(8) | daily_bars 日线 · index_bars 指数日线 · minute_bars 1 分钟线(可选) · minute_bars_5m 5 分钟线(可选) · trade_ticks 分笔(可选) · commodity_bars 商品期货主连(可选) · adj_factors 复权因子 · delisting_events 退市事件 |
| 公司事件(3) | corporate_actions 公司行为 · announcement_index 公告索引 · earnings_disclosure_schedule 业绩披露预约 |
| 基本面 / 估值(3) | financial_statement_items 财务报表科目 · valuation_metrics 估值指标 · analyst_consensus 分析师一致预期 |
| 资金面(7) | fund_flow 个股资金流 · margin_trading 融资融券 · northbound_flows 北向资金流向 · northbound_holdings 北向持股 · dragon_tiger 龙虎榜 · block_trades 大宗交易 · institutional_holdings 机构持股 |
| 结构 / 行业(4) | sector_members 板块成分 · index_constituents 指数成分 · industry_members 行业分类成分 · industry_index 行业指数 |
| 宏观(3) | macro_indicators 宏观指标 · market_breadth 市场宽度 · economic_calendar 经济日历 |
| 舆情 / 轮动(6) | sentiment_scores 情绪评分 · hot_rank 人气榜 · sector_bars 板块行情 · sector_fund_flow 板块资金流 · news_headlines 新闻标题 · flash_news_wire 7×24 快讯 |
| 风险(2) | share_unlock_schedule 解禁日程 · regulatory_events 监管事件 |
日内数据(1m / 5m / 分笔)默认全关,见 runbook。
pip install ashare-lake
asl config init --data-root /Users/you/ashare-lake # Windows: D:/ashare-lake
asl init # 建目录 + 首次回填(不想等:--profile quick,最近 3 年全市场)
asl run daily # 之后每个交易日
asl status
from ashare_lake.query import load
bars = load("daily_bars", start="2020-01-01", end="2025-12-31", adjust="hfq", universe="all_a")
roe = load("financial_statement_items", items=["roe"], as_of="2024-04-30")
demo 线(data/ashare-lake-demo/)与日更线互不覆盖。安装与调度:installation · runbook。
asl mcp 把湖给模型用(只读;采集仍在 CLI)。
# 已有湖 —— 完整口径
claude mcp add ashare-lake -- asl mcp --config /abs/path/to/ashare-lake.toml
# 还没有 —— 先 asl demo,再用 demo 配置
# 完全不想建湖 —— 加 --live(无复权 / universe / PIT,响应里会标明)
--config 必须绝对路径。6 个工具按问题形状切(不是 39 个数据集各一个),口径写在响应里。细节:MCP 参考。
建好之后,asl serve 给人看覆盖、新鲜度、分层体积(只读,不写湖):
asl serve # http://127.0.0.1:8787
asl sources # 14 个上游主机健康度(探测在 CLI,展示在 serve)
细节:serve · source-health。
多源进编排,落 staging → curated → derived,再用 load() / DuckDB / Polars 消费:
Q:asl init 要跑多久、占多少磁盘?
全量回填是小时级、多 GB。asl init --profile quick 只回填最近 3 年,全市场标的一个不少——按标的裁剪会把幸存者偏差建进湖里。
Q:为什么只存后复权因子?
前复权价格会随「今天」变。落盘只存 hfq,qfq 在 load(adjust="qfq") 现算(ADR-0004)。
Q:东财 403 / 连接重置?
先 asl sources --only eastmoney_push2,eastmoney_push2his。日更主路径行情走 TDX,不受东财风控影响。
Q:分钟线为什么拉不到两年前?
源端只保留约 95 个交易日的 1m、491 个交易日的 5m——是供应商保留期,不是本湖待办。
Q:这些数据能商用 / 再分发吗?
代码 Apache-2.0,落盘行情和公告不是。见 legal。
个人项目:issue / PR 欢迎,响应尽力而为。贡献指南 · 安全策略 · CHANGELOG。
完整索引:docs/README.md。常用:MCP · 安装 · 数据集目录 · CLI。
代码 Apache-2.0。落盘数据受上游条款约束;仓库不附带数据湖,也不授予再分发权。
如果它省了你搭数据底座的时间,点个 ⭐ 让更多做 A 股研究的人看到。