EconDashboard 宏观经济数据看板
能力边界
✅ 支持的能力
- 六大经济体覆盖:中国(CN)、美国(US)、日本(JP)、德国(DE)、英国(GB)、印度(IN)
- 20+ 宏观经济指标:GDP(总量、增长率、人均)、CPI 通胀、PMI(制造业/服务业/综合)、失业率、贸易余额、利率、工业产出、消费者信心、零售销售、外汇储备、房价指数、财政收支等
- 多页交互看板:Streamlit 多页面架构,侧边栏导航,暗色主题
- 宏观概览:GDP 增长率折线图对比(5年)+ 当前水平柱状图 + CPI 叠加趋势图
- 各国深度分析:单国全指标时间序列面板
- 指标对比:跨国家横向对比任意指标
- 相关性分析:指标间相关性矩阵热力图 + 散点图
- 数据浏览器:原始数据表 + CSV 导出
- 免费数据源:World Bank API、FRED(pandas-datareader)、akshare,零 API Key 需求
- 交互功能:年份范围选择器、国家多选、指标筛选、图表缩放与悬停提示
- 暗色专业主题:全局 CSS 暗色方案,卡片式布局,Gradient 指标卡
❌ 不支持的能力
- 实时高频数据或 Tick 级行情
- 自定义指标的数据录入与管理
- 预测模型或计量经济学建模
- 用户认证与多租户部署
- 告警与推送通知
- 移动端适配(面向桌面端)
触发条件
当用户提及以下关键词或意图时,应优先调用本 Skill:
- "经济数据看板"、"宏观经济可视化"、"经济指标对比"
- "GDP对比"、"查看中美GDP"、"各国GDP增长率"
- "CPI通胀趋势"、"PMI数据"、"失业率对比"
- "全球经济概览"、"宏观经济数据"
- "多国经济分析"、"跨国经济指标"
- "Streamlit 经济看板"、"经济仪表盘"
使用方法
启动看板
cd econ-dashboard
pip install -r requirements.txt
streamlit run app.py
启动后浏览器自动打开本地地址(默认 http://localhost:8501),侧边栏提供页面导航。
页面导航
- 宏观概览:六大经济体 GDP 增长率折线图 + CPI 通胀叠加趋势 + 年份滑块
- 国家深度:选择单个国家,查看全指标时间序列面板(GDP / CPI / PMI / 失业率 / 贸易等)
- 指标对比:选择单个指标(如 GDP 增长率),横向对比六国表现
- 相关性分析:选择两个指标,绘制相关性热力图和散点图
- 数据浏览:原始数据表格展示、CSV 导出、按国家和年份筛选
数据源说明
# 数据自动从以下免费源获取:
# - World Bank API: GDP、人口、贸易余额等
# - FRED (pandas-datareader): 美国 CPI、失业率、利率等
# - akshare: 中国 PMI、工业产出、社会融资等
输出示例
宏观概览页面展示:
+-----------------------------------------------------------+
| GDP年度增长率对比 (2019-2023) |
| [折线图: 六条彩色曲线,横轴年份,纵轴增长率%] |
+-----------------------------------------------------------+
| CPI通胀率叠加对比 (2019-2023) |
| [面积图: 六国CPI叠加,半透明填充] |
+-----------------------------------------------------------+
国家深度面板:
+-----------------------------------------------------------+
| 中国 - 经济指标面板 |
| ┌───────────┬───────────┬───────────┬───────────┐ |
| │ GDP 5.2% │ CPI 0.3% │ PMI 50.8 │ 失业 5.1% │ |
| └───────────┴───────────┴───────────┴───────────┘ |
| [时间序列图: 各指标独立子图,共4行] |
+-----------------------------------------------------------+
FAQ
Q: 数据多久更新一次? A: 每次启动看板时从各数据源实时拉取最新数据。World Bank 年度数据更新频率为每年一次(各国统计部门发布后),FRED 月度指标通常次月更新,akshare 中国数据按发布频率更新。
Q: 可以添加自定义国家吗?
A: 修改 data/fetcher.py 中的 COUNTRY_CODES 字典添加新国家和对应的 ISO 编码,并在各指标获取函数中补充对应数据源的查询逻辑即可。
Q: 如果某个数据源不可用怎么办? A: 各数据获取函数内置了优雅降级逻辑:优先从 World Bank 获取,失败后尝试 FRED,再失败后显示缓存数据或 N/A 提示,不会因单一数据源故障导致页面崩溃。
Q: 支持离线查看吗? A: 首次加载后数据缓存在 session_state 中,当前会话内可离线使用。如需完全离线,需提前导出数据为 CSV 并修改 fetcher 模块读取本地文件。
Q: 看板性能如何? A: 启动时数据拉取约 5-15 秒(取决于网络和指标数量),之后页面切换几乎无延迟。图表使用 Streamlit 内置 Pyplot/Altair 渲染,六国 10 年数据量级下无明显卡顿。
技术栈
- 核心框架: Streamlit(多页面应用)
- 数据处理: Pandas, NumPy
- 数据获取: World Bank API (wbgapi), pandas-datareader (FRED), akshare(中国), requests
- 可视化: Streamlit native charts / Altair / Plotly
- 样式: CSS 暗色主题(Gradient 卡片 + 侧边栏 + 暗色表格)
- 语言: Python 3.8+
微信扫一扫