Skip to content

About

基于Python的计量经济学分析工具示例

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

6 Commits

Folders and files

Repository files navigation

📊 IPVAR 交互式面板 VAR 分析工具

这是一个用于执行交互式面板向量自回归 (Interacted Panel VAR, IPVAR) 分析的 Streamlit Web 应用程序。

IPVAR 模型允许 VAR 模型的系数随着一个“交互变量”(例如,政策不确定性指数、利率水平、市场情绪等)的变化而变化。本工具旨在帮助研究人员和学生(特别是经济学和金融学领域)快速实现和可视化 IPVAR 模型,而无需编写复杂的估计代码。

主要功能

  • 面板 VAR 估计:使用固定效应 (PanelOLS) 估计 IPVAR 模型。
  • 状态依赖的动态分析:
    • 脉冲响应函数 (IRF):分析在一个给定的交互变量水平下(例如“高利率” vs “低利率”),一个变量的冲击对其他变量的动态影响。
    • 预测误差方差分解 (FEVD):分析在特定状态下,各变量冲击对其他变量预测误差的贡献度。
  • 用户友好的界面:
    • 无需编写 Python 代码即可运行。
    • 支持上传您自己的 CSV 数据。
    • 内置示例数据集(政策利率对 GDP 增长和通胀的影响)。
    • 可自定义内生变量、交互变量和滞后阶数。

快速开始

本项目为不同背景的用户提供了两种启动方式。


方案一:为 Windows 用户(使用批处理)

此方案专为不熟悉 Python 环境配置的用户设计。

前提条件:

  • 您的系统上必须安装了 Python (版本 3.7 或更高)。
  • 重要:在安装 Python 时,请务必勾选 "Add Python to PATH" 或 "Add py to PATH" 的选项。

启动步骤:

  1. 确保 ipvar_app.py 和 run_app.bat 两个文件位于同一个文件夹中。
  2. 双击 run_app.bat 文件。
  3. 一个黑色的命令行窗口将会打开。在首次运行时,它将自动执行以下操作:
    • 检查 Python 环境。
    • 创建 requirements.txt 文件。
    • 创建一个名为 .venv 的本地虚拟环境。
    • 安装所有必需的依赖库 (如 streamlit, pandas 等)。
    • (此过程可能需要几分钟,请耐心等待)。
  4. 安装完成后,脚本会自动启动 Web 服务。
  5. 您的默认浏览器将自动打开,显示分析工具的界面。
  6. 您可以开始使用该工具。完成后,只需关闭黑色的命令行窗口即可停止服务。

方案二:为 Python 开发者(手动启动)

此方案适用于熟悉 Python 虚拟环境和 pip 的开发者。

启动步骤:

  1. 将本项目克隆 (clone) 或下载到本地。
  2. 打开您的终端 (Terminal / Command Prompt)。
  3. 创建虚拟环境:
    # (Windows)
    py -m venv .venv
    # (macOS / Linux)
    python3 -m venv .venv
  4. 激活虚拟环境:
    # (Windows)
    .\.venv\Scripts\activate
    # (macOS / Linux)
    source .venv/bin/activate
  5. 安装依赖: (如果 requirements.txt 不存在,请先手动创建它,内容见下文)
    pip install -r requirements.txt
  6. 运行应用:
    streamlit run ipvar_app.py
  7. 终端会显示一个 Local URL (通常是 http://localhost:8501),在浏览器中打开它即可。

如何使用本分析工具(界面指南)

当应用程序在您的浏览器中运行后,请按以下步骤操作:

  1. 上传数据或使用示例:在左侧边栏,点击“上传您的 CSV 数据文件”,或直接勾选“使用示例数据”来熟悉功能。
  2. 定义列:
    • 选择个体 (Entity) 列:代表不同个体(如 country, firm_id)的列。
    • 选择时间 (Time) 列:代表时间(如 year, quarter)的列。
  3. 设置模型:
    • 选择内生变量:您关心的、希望在模型中互为因果的核心变量(例如 gdp_growth, inflation)。
    • 选择交互变量:您认为会改变上述内生变量间关系的那个变量(例如 policy_rate)。此变量不应被包含在内生变量中。
    • 选择滞后阶数 (Lags):模型中包含的滞后项数量。
  4. 运行分析:点击 "运行分析" 按钮。
    • 这将在下方显示 IPVAR 模型的固定效应回归结果(PanelOLS)。
  5. 运行动态分析 (IRF & FEVD):
    • 在“动态分析”部分,您会看到交互变量的分布统计图(用于参考)。
    • 设置交互变量的值:使用滑块选择一个您感兴趣的特定值(例如,25% 分位数的低利率 vs 75% 分位数的高利率)。
    • 设置分析期数 (Horizon):您希望脉冲响应图显示多少期。
    • 点击 "运行动态分析" 按钮。
    • 下方的图表将自动更新,显示在该交互水平下的脉冲响应函数 (IRF) 和方差分解 (FEVD)。

注意事项

  1. 数据格式:您的数据必须是长面板 (Long Panel) 格式。每一行代表一个“个体”在某一个“时间点”的观测值。
  2. 数据量:面板 VAR (特别是 IPVAR) 需要估计大量参数。请确保您的数据集(尤其是时间 T)足够大。如果可用数据点过少,程序将报错。此时请尝试减少内生变量的数量或减少滞后阶数。

文件结构

.
├── ipvar_app.py     # Streamlit 应用主程序
├── run_app.bat      # (Windows) 自动启动脚本
├── requirements.txt # Python 依赖列表
└── README.md        # 本说明文件

依赖库

本项目依赖于以下主要的 Python 库:

  • streamlit
  • pandas
  • numpy
  • linearmodels
  • altair

About

基于Python的计量经济学分析工具示例

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages