Metadata-Version: 2.4
Name: cnequity
Version: 0.7.0
Summary: Self-hosted A-share Parquet data lake with multi-source ingest and daily orchestration
Author: CNEquity Contributors
License-Expression: Apache-2.0
Project-URL: Homepage, https://github.com/rootSunc/cnequity
Project-URL: Documentation, https://rootsunc.github.io/cnequity/
Project-URL: Source, https://github.com/rootSunc/cnequity
Project-URL: Changelog, https://github.com/rootSunc/cnequity/blob/main/CHANGELOG.md
Project-URL: Citation, https://github.com/rootSunc/cnequity/blob/main/CITATION.cff
Project-URL: Issues, https://github.com/rootSunc/cnequity/issues
Keywords: a-share,china-stocks,china-equity,data-lake,mcp,ai-agent,duckdb,polars,parquet,quantitative-finance,market-data
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Financial and Insurance Industry
Classifier: Operating System :: MacOS
Classifier: Operating System :: Microsoft :: Windows
Classifier: Operating System :: POSIX :: Linux
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Topic :: Office/Business :: Financial :: Investment
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: NOTICE
Requires-Dist: click>=8.1
Requires-Dist: duckdb>=1.0
Requires-Dist: httpx>=0.25
Requires-Dist: curl_cffi>=0.7
Requires-Dist: polars>=1.0
Requires-Dist: pyarrow>=15.0
Requires-Dist: baostock>=0.8
Requires-Dist: snownlp>=0.12
Requires-Dist: pandas>=2.0
Requires-Dist: openpyxl>=3.0
Requires-Dist: xlrd>=2.0
Requires-Dist: tomli>=2; python_version < "3.11"
Requires-Dist: fastapi>=0.110
Requires-Dist: uvicorn>=0.27
Dynamic: license-file

# CNE · CNEquity — 免费、自托管的 A 股历史数据层

**别再每次重拉、自己拼复权了。** 一条命令，把可日更的研究数据落到本地。自动保存历史口径，供 Python、DuckDB、Polars 和 AI agent 使用。

CLI：`cne` · 包名：`cnequity` · **Python ≥ 3.10** · **只做数据层**（回测和信号留给下游）。

- **真数上手**：`cne demo` 几分钟出真实日线（不是 mock）；`--research` 可验证复权口径
- **日更能挂着跑**：水位 / 失败重试 / 质量审计
- **研究口径一次定好**：复权 · universe · PIT；相对拉数库多编排，相对云端宽表可本地续跑

## 安装与一分钟体验

需要 **Python 3.10+**，且能访问 TDX 行情主机（大陆出口更稳）。

```bash
pip install cnequity
cne demo
```

写入 `data/cnequity-demo/`（几只流动性股票 × 约 30 个交易日），并打印样例表。

要验证复权口径，可运行 `cne demo --research --symbols 600519.SH`；它会额外读取 Sina 复权因子，
并打印约三年窗口的 raw / hfq 收益对照。

```bash
cne query --config configs/cnequity.demo.toml --sql "
  SELECT symbol, trade_date, close, volume, source
  FROM daily_bars
  WHERE symbol = '600519.SH'
  ORDER BY trade_date DESC
  LIMIT 10
"
```

全量日更（仍不必 clone；在含配置的工作目录执行）：

```bash
cne config init                              # → configs/cnequity.toml（data.root 写为绝对路径）
# 或显式指定：
# cne config init --data-root /data/cnequity --force
cne config validate --config configs/cnequity.toml
cne init --config configs/cnequity.toml
cne run daily --config configs/cnequity.toml
```

<p align="center">
  <img src="https://raw.githubusercontent.com/rootSunc/cnequity/main/docs/assets/cne-demo.png" alt="cne demo" width="820" />
</p>

## 有什么数据

数据集名即 `load()` 的第一个参数。字段见 [schema](https://github.com/rootSunc/cnequity/blob/main/docs/datasets/schema.md)，编排元数据见 [catalog](https://github.com/rootSunc/cnequity/blob/main/docs/datasets/catalog.md)。

| 类别 | 数据集 |
|------|--------|
| 基础参考 | `instruments` · `trading_calendar` · `trading_status`（停复牌 / ST） |
| 行情 | `daily_bars`（未复权） · `index_bars` · `adj_factors` · `minute_bars` / `minute_bars_5m`（可选日内） |
| 公司事件 | `corporate_actions` · `announcement_index` · `earnings_disclosure_schedule` |
| 基本面 / 估值 | `financial_statement_items`（PIT） · `valuation_metrics` · `analyst_consensus` |
| 资金面 | `fund_flow` · `margin_trading` · `northbound_flows` / `northbound_holdings` · `dragon_tiger` · `block_trades` · `institutional_holdings` |
| 结构 / 行业 | `sector_members` · `index_constituents` · `industry_members` |
| 宏观 | `macro_indicators` · `market_breadth` |
| 舆情 / 轮动 | `sentiment_scores` · `hot_rank` · `sector_bars` · `sector_fund_flow` · `news_headlines` |
| 风险 | `share_unlock_schedule` · `regulatory_events` |

## 读数据

```python
from cnequity.query import load

bars = load("daily_bars", start="2020-01-01", end="2025-12-31", adjust="hfq")
roe = load("financial_statement_items", items=["roe"], as_of="2024-04-30")
```

无 extras —— `pip install cnequity` 即装齐所有数据源。

## 完整文档

详细 schema、runbook、定位对照与合规说明以 GitHub 为准：

- [仓库](https://github.com/rootSunc/cnequity)
- [文档站](https://rootsunc.github.io/cnequity/) · [仓库文档](https://github.com/rootSunc/cnequity/tree/main/docs)
- [Changelog](https://github.com/rootSunc/cnequity/blob/main/CHANGELOG.md)

代码 Apache-2.0。落盘行情 / 公告仍受上游条款约束——本包不附带、也不再分发数据湖。
