Back to skills
extension
Category: Data & AnalyticsNo API key required

经济数据看板

6大经济体20+指标Streamlit交互可视化

personAuthor: user_053d27d0hubcommunity

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+