{"repo":"kitaki-Ciallo/etf-national-tracker","free":true,"listed":false,"github":"https://github.com/kitaki-Ciallo/etf-national-tracker","clone":"git clone https://github.com/kitaki-Ciallo/etf-national-tracker.git","description":"📊 追踪国家队（汇金/社保）持仓 ETF 的份额变化与十大持有人动态，基于 Flask + PostgreSQL + ECharts 构建的量化看板","language":"Python","stars":69,"topics":["akshare","china-stock","dashboard","echarts","etf","flask","postgresql","quantitative-finance","web-scraping"],"license":null,"category":"trading","readme_excerpt":"🏛️ ETF 国家队量化看板 实时追踪国家队（中央汇金、社保基金等）持仓 ETF 的 份额变化 与 十大持有人 状况，帮助观察机构资金动向。 ⚠️ 关于数据时效性 - 每日份额 ：由上交所公布，但存在 T+1 延迟 （当日份额次日才可获取），看板主页标题处会显示份额数据的实际更新日期。 - 十大持有人 ：严格遵循公募基金信息披露规则，仅在 半年报 （报告期截至 6 月 30 日，8 月底前披露）和 年报 （报告期截至 12 月 31 日，次年 3 月底前披露）中公布， 每半年才更新一次 。因此\"国家队持仓占比\"及\"持仓变化\"等指标 延迟最长可达 6 个月 ，仅反映最近一次定期报告时点的快照。 ✨ 功能概览 主页看板 - 📈 国家队 ETF 总份额变化曲线 — 叠加沪深300、中证500、中证1000 价格走势 - 📋 持仓明细表格 — 日/周/月/季/年份额变化百分比、国家队占比、份额变化、新进标记 - 🔄 支持 1 月 / 3 月 / 1 年时间范围切换 - 🔢 表头可排序，点击行跳转详情 ETF 详情页 - 📈 价格 + 份额双轴叠加曲线 - 👥 十大持有人对比 — 最新期 vs 上一期，份额变化百分比 - 🏷️ 国家队持有人自动标记 🏗️ 技术架构 层级 技术 --- --- 数据采集 上交所 SSE API (份额) + 新浪财经 API (价格、持有人) 数据库 PostgreSQL 后端 Flask 前端 HTML + CSS + JavaScript + ECharts 📌 份额采集已 完全移除 AKShare 依赖 ，改为直接调用上交所 query.sse.com.cn API。采用 requests 优先 + curl 自动 fallback 的双重策略，确保在云服务器上也能稳定运行。 📁 项目结构 🚀 快速开始 1. 环境准备 - Python 3.10+ - PostgreSQL 14+ 2. 创建数据库 3. 配置数据库连接 编辑 config.py 中的 DB CONFIG ，或通过环境变量配置： 4. 获取 ETF 列表 & 国家队筛选 5. 初始化历史数据 首次运行约需 15-20 分钟，包括： - 回溯约 1 年每日份额数据 (直接调用上交所 API) - 获取约 1023 条日K线历史价格 (新浪财经) - 获取最新两期十大持有人 (新浪财经) 6. 启动看板 访问 http://localhost:5000 Docker 部署 (可选) 如果数据库通过 Docker Compose 运行： 📅 日常维护 📊 数据源说明 数据 来源 更新频率 延迟 --- --- --- --- ETF 每日份额 上交所 SSE API ( query.sse.com.cn ) 每个交易日 T+1 ETF 历史价格 新浪财经 K线 API 每个交易日 实时 十大持有人 新浪财经基金 API 半年报 / 年报 最长 6 个月 ETF 列表 上交所云行情 API 按需 - ⚠️ 数据时效性提示 ：份额数据存在 T+1 延迟，十大持有人数据仅在半年报/年报中披露。看板主页会显示份额数据的实际更新日期。 🔧 数据库表结构 表名 用途 --- --- etf info ETF 基本信息 (代码、名称、是否国家队持有) etf daily share 每日份额快照 etf daily price 每日 OHLCV 价格 etf holder 十大持有人 (按报告期存储) nt etf list 国家队持仓汇总 ","default_branch":null,"files":null,"tree":[],"storefront":"/r/kitaki-Ciallo","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/kitaki-Ciallo/etf-national-tracker/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}